diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..a94a63b09e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: Discord Python Polska + url: https://discord.com/invite/VCyBDGH38e + about: Dyskusje o tłumaczeniach. + - name: Transifex + url: https://explore.transifex.com/python-doc/python-newest/ + about: Strona do tłumaczenia. diff --git a/.github/ISSUE_TEMPLATE/typo.yml b/.github/ISSUE_TEMPLATE/typo.yml new file mode 100644 index 0000000000..1a357887d2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/typo.yml @@ -0,0 +1,35 @@ +name: Błąd w tłumaczeniu +description: Zgłoś błąd w tłumaczeniu +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + **Chcesz to naprawić samemu??** + + - Wejdź na stronę projektu [dokumentacji Pythona](https://explore.transifex.com/python-doc/python-newest/). + - Naciśnij przycisk „Join this project”, aby dołączyć do projektu. + - Utwórz konto Transifex. + - Na stronie projektu wybierz język polski. + - Po dołączeniu do zespołu wybierz zasób, który chcesz poprawić/zaktualizować. + + Więcej informacji znajdziesz w naszym (README)[https://github.com/python/python-docs-pl/blob/3.14/README.md]. + - type: textarea + attributes: + label: "Opis błędu:" + description: > + Opisz szczegółowo lokalizację błędu. + validations: + required: true + - type: dropdown + attributes: + label: "Wersja dokumentacji:" + multiple: true + options: + - "3.10" + - "3.11" + - "3.12" + - "3.13" + - "3.14" + validations: + required: false diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..5c5631448a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: monthly + groups: + actions: + patterns: + - "*" diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 0000000000..911dc69b29 --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,18 @@ +name: pre-commit +on: + schedule: + - cron: '0 0 * * 1,5' +env: + FORCE_COLOR: 1 + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: actions/setup-python@v6 + with: + python-version: "3.x" + - uses: tox-dev/action-pre-commit-uv@v1 diff --git a/.github/workflows/update-lint-and-build.yml b/.github/workflows/update-lint-and-build.yml index e5d4d0fe5a..3823f15f9c 100644 --- a/.github/workflows/update-lint-and-build.yml +++ b/.github/workflows/update-lint-and-build.yml @@ -9,17 +9,17 @@ on: workflow_dispatch: jobs: - update-translation: + update: runs-on: ubuntu-latest strategy: fail-fast: false matrix: - version: [3.14, 3.13, 3.12, 3.11, '3.10', 3.9] + version: [3.14, 3.13, 3.12, 3.11, '3.10'] steps: - - uses: styfle/cancel-workflow-action@main + - uses: styfle/cancel-workflow-action@0.13.1 with: access_token: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/setup-python@master + - uses: actions/setup-python@v6 with: python-version: 3 - name: Install dependencies @@ -28,7 +28,7 @@ jobs: pip install requests cogapp polib transifex-python sphinx-intl blurb six curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash working-directory: /usr/local/bin - - uses: actions/checkout@master + - uses: actions/checkout@v6 with: ref: ${{ matrix.version }} fetch-depth: 0 @@ -54,12 +54,12 @@ jobs: - run: git config --local user.name "GitHub Action's update-translation job" - name: Check changes significance run: > - ! git diff -I'^"POT-Creation-Date: ' -I'^"Language-Team: ' -I'^# ' -I'^"Last-Translator: ' --exit-code && echo "SIGNIFICANT_CHANGES=1" >> $GITHUB_ENV || exit 0 + ! git diff -I'^"POT-Creation-Date: ' -I'^"Language-Team: ' -I'^# ' -I'^"Last-Translator: ' -I'^"Project-Id-Version: ' --exit-code && echo "SIGNIFICANT_CHANGES=1" >> "$GITHUB_ENV" || exit 0 - run: git add . - - run: git commit -m 'Update translation from Transifex' + - run: git commit -m "$(python manage_translation.py generate_commit_msg)" if: env.SIGNIFICANT_CHANGES - name: Push commit - uses: ad-m/github-push-action@master + uses: ad-m/github-push-action@v1.0.0 if: env.SIGNIFICANT_CHANGES with: branch: ${{ matrix.version }} @@ -71,38 +71,38 @@ jobs: fail-fast: false matrix: version: [3.14, 3.13, 3.12, 3.11] - needs: ['update-translation'] + needs: ['update'] continue-on-error: true steps: - - uses: actions/setup-python@master + - uses: actions/setup-python@v6 with: python-version: 3 - run: pip install sphinx-lint - - uses: actions/checkout@master + - uses: actions/checkout@v6 with: ref: ${{ matrix.version }} - uses: rffontenelle/sphinx-lint-problem-matcher@v1.0.0 - run: sphinx-lint - build-translation: + build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: - version: [3.14, 3.13, 3.12, 3.11, '3.10', 3.9, 3.8] + version: [3.14, 3.13, 3.12, 3.11, '3.10'] format: [html, latex, epub] - needs: ['update-translation'] + needs: ['update'] steps: - - uses: actions/setup-python@master + - uses: actions/setup-python@v6 with: python-version: 3.12 # pin for Sphinx 3.4.3 in 3.10 branch (see #63) - - uses: actions/checkout@master + - uses: actions/checkout@v6 with: repository: python/cpython ref: ${{ matrix.version }} - run: make venv working-directory: ./Doc - - uses: actions/checkout@master + - uses: actions/checkout@v6 with: ref: ${{ matrix.version }} path: Doc/locales/pl/LC_MESSAGES @@ -111,7 +111,7 @@ jobs: - uses: sphinx-doc/github-problem-matcher@v1.1 - run: make -e SPHINXOPTS="--color -D language='pl' -W --keep-going" ${{ matrix.format }} working-directory: ./Doc - - uses: actions/upload-artifact@master + - uses: actions/upload-artifact@v7.0.0 if: success() || failure() with: name: build-${{ matrix.version }}-${{ matrix.format }} @@ -121,16 +121,16 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - version: [3.14, 3.13, 3.12, 3.11, '3.10', 3.9, 3.8] - needs: ['build-translation'] + version: [3.14, 3.13, 3.12, 3.11, '3.10'] + needs: ['build'] steps: - - uses: actions/download-artifact@master + - uses: actions/download-artifact@v8.0.1 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 + - uses: actions/upload-artifact@v7.0.0 with: name: build-${{ matrix.version }}-pdf path: . @@ -140,14 +140,14 @@ jobs: strategy: matrix: version: [3.14] - needs: ['build-translation'] + needs: ['build'] continue-on-error: true steps: - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: 3.x - - uses: astral-sh/setup-uv@v5 - - uses: actions/download-artifact@master + - uses: astral-sh/setup-uv@v7 + - uses: actions/download-artifact@v8.0.1 with: name: build-${{ matrix.version }}-epub - run: uvx epubcheck diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..b508d70230 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,38 @@ +repos: + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.10 + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + - id: ruff-format + + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: check-added-large-files + - id: check-case-conflict + - id: check-merge-conflict + - id: check-yaml + - id: debug-statements + - id: end-of-file-fixer + exclude: ^\.tx/ + - id: forbid-submodules + - id: trailing-whitespace + + - repo: https://github.com/python-jsonschema/check-jsonschema + rev: 0.36.0 + hooks: + - id: check-github-workflows + + - repo: https://github.com/rhysd/actionlint + rev: v1.7.10 + hooks: + - id: actionlint + + - repo: meta + hooks: + - id: check-hooks-apply + - id: check-useless-excludes + +ci: + autoupdate_schedule: quarterly diff --git a/.tx/config b/.tx/config index fbb31614ff..b5b6c17058 100644 --- a/.tx/config +++ b/.tx/config @@ -181,6 +181,15 @@ resource_name = c-api--coro replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--curses] +file_filter = c-api/curses.po +source_file = gettext/c-api/curses.pot +type = PO +minimum_perc = 0 +resource_name = c-api--curses +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--datetime] file_filter = c-api/datetime.po source_file = gettext/c-api/datetime.pot @@ -217,6 +226,15 @@ resource_name = c-api--exceptions replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--extension-modules] +file_filter = c-api/extension-modules.po +source_file = gettext/c-api/extension-modules.pot +type = PO +minimum_perc = 0 +resource_name = c-api--extension-modules +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--file] file_filter = c-api/file.po source_file = gettext/c-api/file.pot @@ -316,6 +334,15 @@ resource_name = c-api--init_config replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--interp-lifecycle] +file_filter = c-api/interp-lifecycle.po +source_file = gettext/c-api/interp-lifecycle.pot +type = PO +minimum_perc = 0 +resource_name = c-api--interp-lifecycle +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--intro] file_filter = c-api/intro.po source_file = gettext/c-api/intro.pot @@ -343,6 +370,15 @@ resource_name = c-api--iterator replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--lifecycle] +file_filter = c-api/lifecycle.po +source_file = gettext/c-api/lifecycle.pot +type = PO +minimum_perc = 0 +resource_name = c-api--lifecycle +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--list] file_filter = c-api/list.po source_file = gettext/c-api/list.pot @@ -469,6 +505,24 @@ resource_name = c-api--perfmaps replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--picklebuffer] +file_filter = c-api/picklebuffer.po +source_file = gettext/c-api/picklebuffer.pot +type = PO +minimum_perc = 0 +resource_name = c-api--picklebuffer +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:c-api--profiling] +file_filter = c-api/profiling.po +source_file = gettext/c-api/profiling.pot +type = PO +minimum_perc = 0 +resource_name = c-api--profiling +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--refcounting] file_filter = c-api/refcounting.po source_file = gettext/c-api/refcounting.pot @@ -532,6 +586,24 @@ resource_name = c-api--structures replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--subinterpreters] +file_filter = c-api/subinterpreters.po +source_file = gettext/c-api/subinterpreters.pot +type = PO +minimum_perc = 0 +resource_name = c-api--subinterpreters +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:c-api--synchronization] +file_filter = c-api/synchronization.po +source_file = gettext/c-api/synchronization.pot +type = PO +minimum_perc = 0 +resource_name = c-api--synchronization +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--sys] file_filter = c-api/sys.po source_file = gettext/c-api/sys.pot @@ -541,6 +613,15 @@ resource_name = c-api--sys replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--threads] +file_filter = c-api/threads.po +source_file = gettext/c-api/threads.pot +type = PO +minimum_perc = 0 +resource_name = c-api--threads +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--time] file_filter = c-api/time.po source_file = gettext/c-api/time.pot @@ -550,6 +631,15 @@ resource_name = c-api--time replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:c-api--tls] +file_filter = c-api/tls.po +source_file = gettext/c-api/tls.pot +type = PO +minimum_perc = 0 +resource_name = c-api--tls +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:c-api--tuple] file_filter = c-api/tuple.po source_file = gettext/c-api/tuple.pot @@ -658,6 +748,15 @@ resource_name = deprecations--c-api-pending-removal-in-3_15 replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_16] +file_filter = deprecations/c-api-pending-removal-in-3.16.po +source_file = gettext/deprecations/c-api-pending-removal-in-3.16.pot +type = PO +minimum_perc = 0 +resource_name = deprecations--c-api-pending-removal-in-3_16 +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_18] file_filter = deprecations/c-api-pending-removal-in-3.18.po source_file = gettext/deprecations/c-api-pending-removal-in-3.18.pot @@ -730,6 +829,15 @@ resource_name = deprecations--pending-removal-in-3_17 replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_18] +file_filter = deprecations/pending-removal-in-3.18.po +source_file = gettext/deprecations/pending-removal-in-3.18.pot +type = PO +minimum_perc = 0 +resource_name = deprecations--pending-removal-in-3_18 +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_19] file_filter = deprecations/pending-removal-in-3.19.po source_file = gettext/deprecations/pending-removal-in-3.19.pot @@ -910,6 +1018,15 @@ resource_name = glossary_ replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:howto--a-conceptual-overview-of-asyncio] +file_filter = howto/a-conceptual-overview-of-asyncio.po +source_file = gettext/howto/a-conceptual-overview-of-asyncio.pot +type = PO +minimum_perc = 0 +resource_name = howto--a-conceptual-overview-of-asyncio +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:howto--annotations] file_filter = howto/annotations.po source_file = gettext/howto/annotations.pot @@ -1162,6 +1279,24 @@ resource_name = howto--urllib2 replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:improve-page] +file_filter = improve-page.po +source_file = gettext/improve-page.pot +type = PO +minimum_perc = 0 +resource_name = improve-page +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:improve-page-nojs] +file_filter = improve-page-nojs.po +source_file = gettext/improve-page-nojs.pot +type = PO +minimum_perc = 0 +resource_name = improve-page-nojs +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:installing--index] file_filter = installing/index.po source_file = gettext/installing/index.pot @@ -1675,6 +1810,24 @@ resource_name = library--compileall replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:library--compression] +file_filter = library/compression.po +source_file = gettext/library/compression.pot +type = PO +minimum_perc = 0 +resource_name = library--compression +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-newest:r:library--compression_zstd] +file_filter = library/compression.zstd.po +source_file = gettext/library/compression.zstd.pot +type = PO +minimum_perc = 0 +resource_name = library--compression_zstd +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:library--concurrency] file_filter = library/concurrency.po source_file = gettext/library/concurrency.pot @@ -1702,6 +1855,15 @@ resource_name = library--concurrent_futures replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:library--concurrent_interpreters] +file_filter = library/concurrent.interpreters.po +source_file = gettext/library/concurrent.interpreters.pot +type = PO +minimum_perc = 0 +resource_name = library--concurrent_interpreters +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:library--configparser] file_filter = library/configparser.po source_file = gettext/library/configparser.pot @@ -3349,6 +3511,15 @@ resource_name = library--string replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:library--string_templatelib] +file_filter = library/string.templatelib.po +source_file = gettext/library/string.templatelib.pot +type = PO +minimum_perc = 0 +resource_name = library--string_templatelib +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:library--stringprep] file_filter = library/stringprep.po source_file = gettext/library/stringprep.pot @@ -3529,6 +3700,15 @@ resource_name = library--threading replace_edited_strings = false keep_translations = false +[o:python-doc:p:python-newest:r:library--threadsafety] +file_filter = library/threadsafety.po +source_file = gettext/library/threadsafety.pot +type = PO +minimum_perc = 0 +resource_name = library--threadsafety +replace_edited_strings = false +keep_translations = false + [o:python-doc:p:python-newest:r:library--time] file_filter = library/time.po source_file = gettext/library/time.pot diff --git a/README.en.md b/README.en.md index f6f01433b0..4bb9c8cb31 100644 --- a/README.en.md +++ b/README.en.md @@ -1,20 +1,22 @@ Polish Translation of Python Documentation ========================================== -![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg) -![Total Translation of Documentation](https://img.shields.io/badge/Total-4.701%25-0.svg) -![24 Translators](https://img.shields.io/badge/Translators-24-0.svg) +[![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml) +[![core 98.83%](https://img.shields.io/badge/core-98.83%25-0.svg)](https://translations.python.org/#pl) +[![Total Translation of Documentation](https://img.shields.io/badge/total_words-5.37%25-0.svg)](https://translations.python.org/#pl) +[![Total Translation of Documentation](https://img.shields.io/badge/total_strings-12.29%25-0.svg)](https://translations.python.org/#pl) *Przeczytaj to w innym języku: [polski](README.md)* @@ -31,13 +33,13 @@ If you find a mistake or have a suggestion, * After joining the Project, pick the category you want to fix/translate. You can find more information about using Transifex -[in their help guide.](https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor) +in [their help articles](https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor) or [our guide](https://python-docs-transifex-automation.readthedocs.io/new-translators.html). **I want to start translating, but I don't know where to start!** Firstly, you can join as a translator by following the steps outlined above. -Then you can start by translating one of our [prioritized resources.](https://github.com/python/python-docs-pl/issues/50) +Then you can start by translating one of our [prioritized resources](https://github.com/python/python-docs-pl/issues/50). **How to see the newest build of the documentation?** @@ -48,10 +50,19 @@ The documentation at https://docs.python.org/pl/ is updated around once daily. **Communication Channels** * [Discord Python Polska #dokumentacja](https://discord.gg/QB3h2Sxc) -* [Python Documentation Community](https://docs-community.readthedocs.io/en/latest/) -* [Python Translations Working Group](https://mail.python.org/mailman3/lists/translation.python.org/) +* [Python Documentation Community](https://docs-community.readthedocs.io/) +* [Python translations mailing list](https://mail.python.org/mailman3/lists/translation.python.org/) * [Python Documentation Special Interest Group](https://www.python.org/community/sigs/current/doc-sig/) +**Translation progress** + +Translation progress + + + **License** By inviting you to work on a project on the Transifex platform, we offer a contract for @@ -66,10 +77,12 @@ You signify your acceptance of this agreement by submitting your work for inclus * `cog -rP README.md` **Useful Materials** -* [Site Statistics](https://plausible.io/docs.python.org/?filters=%28%28contains,page,%28/pl/%29%29%29) -* [Python Developer's Guide: Documentation](https://devguide.python.org/documentation/) +* [Python Developer's Guide: Translating](https://devguide.python.org/documentation/translations/translating/) +* [Python docs Transifex: Documentation](https://python-docs-transifex-automation.readthedocs.io/) +* [Site Statistics](https://analytics.python.org/docs.python.org?f=contains,page,/pl/) **Similar Translation Projects** * [Projects of the Python Packaging Authority](https://hosted.weblate.org/projects/pypa/-/pl/) * [Scientific Python Translations](https://scientific-python-translations.github.io/) +* [micro:bit translation programme](https://microbit.org/translate/) * [Localizing Django](https://docs.djangoproject.com/en/dev/internals/contributing/localizing/) diff --git a/README.md b/README.md index 398c3abc21..b3cc393d0a 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,22 @@ Polskie tłumaczenie dokumentacji Pythona ======================================== -![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg) -![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość-4.701%25-0.svg) -![24 tłumaczy](https://img.shields.io/badge/tłumaczy-24-0.svg) +[![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml) +[![podstawowe artykuły 98.83%](https://img.shields.io/badge/podstawowe_artykuły-98.83%25-0.svg)](https://translations.python.org/#pl) +[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_słów-5.37%25-0.svg)](https://translations.python.org/#pl) +[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_napisów-12.29%25-0.svg)](https://translations.python.org/#pl) *Read this in another language: [English](README.en.md)* @@ -33,7 +35,7 @@ projektu [dokumentacji Pythona](https://explore.transifex.com/python-doc/python- * Po dołączeniu do zespołu wybierz zasób, który chcesz poprawić/zaktualizować. Więcej informacji o używaniu Transifeksa znajdziesz w -[jego artykułach pomocy](https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor). +[jego artykułach pomocy](https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor) lub [w naszym przewodniku](https://python-docs-transifex-automation.readthedocs.io/new-translators.html). **Chcę pomóc w tłumaczeniu, ale nie wiem od czego zacząć!** @@ -51,9 +53,18 @@ Dokumentacja na https://docs.python.org/pl/ aktualizowana jest około raz dzienn * [Discord Python Polska #dokumentacja](https://discord.gg/VCyBDGH38e) * [Python Documentation Community](https://docs-community.readthedocs.io/en/latest/) -* [Python translations working group](https://mail.python.org/mailman3/lists/translation.python.org/) +* [Python translations mailing list](https://mail.python.org/mailman3/lists/translation.python.org/) * [Python Documentation Special Interest Group](https://www.python.org/community/sigs/current/doc-sig/) +**Postęp tłumaczenia** + +Postęp tłumaczenia + + + **Licencja** Zapraszając do współtworzenia projektu na platformie Transifex, proponujemy umowę na @@ -68,10 +79,12 @@ Wyrażasz akceptację tej umowy przesyłając swoją pracę do włączenia do do * `cog -rP README.md` **Przydatne materiały** -* [statystyki oglądalności](https://plausible.io/docs.python.org/?filters=%28%28contains,page,%28/pl/%29%29%29) -* [Python Developer's Guide: Documentation](https://devguide.python.org/documentation/) +* [Python Developer's Guide: Translating](https://devguide.python.org/documentation/translations/translating/) +* [Python docs Transifex: Documentation](https://python-docs-transifex-automation.readthedocs.io/) +* [statystyki oglądalności](https://analytics.python.org/docs.python.org?f=contains,page,/pl/) **Podobne projekty** * [projekty Python Packaging Authority](https://hosted.weblate.org/projects/pypa/-/pl/) * [Scientific Python Translations](https://scientific-python-translations.github.io/) +* [micro:bit translation programme](https://microbit.org/translate/) * [Localizing Django](https://docs.djangoproject.com/en/dev/internals/contributing/localizing/) diff --git a/about.po b/about.po index 00d7525446..61c6605dd9 100644 --- a/about.po +++ b/about.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -33,8 +32,8 @@ msgid "" "maintained as an independent project." msgstr "" "Dokumentacja Pythona jest generowana ze źródeł `reStructuredText`_ przy " -"użyciu `Sphinx`_, generator dokumentacji pierwotnie stworzonej dla Pythona, " -"a obecnie utrzymywanej jako niezależny projekt." +"użyciu generatora dokumentacji `Sphinx`_, pierwotnie stworzonego dla " +"Pythona, a obecnie utrzymywanego jako niezależny projekt." msgid "" "Development of the documentation and its toolchain is an entirely volunteer " @@ -54,8 +53,8 @@ msgid "" "Fred L. Drake, Jr., the creator of the original Python documentation toolset " "and author of much of the content;" msgstr "" -"Fred L. Drake, Jr, twórca oryginalnego zestawu narzędzi dokumentacyjnych " -"Pythona i autor większości treści;" +"Freda L. Drake'a, Jr, twórcy oryginalnego zestawu narzędzi dokumentacyjnych " +"Pythona i autora większości treści;" msgid "" "the `Docutils `_ project for creating " diff --git a/bugs.po b/bugs.po index d8bcde4a35..49049db883 100644 --- a/bugs.po +++ b/bugs.po @@ -4,18 +4,18 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Ciarbin , 2021 -# ac4a8e5d3d92195fc6d50ffd472aae19_7eb0c45, 2022 -# Maciej Olko , 2023 +# python-doc bot, 2025 +# Stan Ulbrych, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2023\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,8 +39,8 @@ msgstr "" msgid "" "It can be sometimes faster to fix bugs yourself and contribute patches to " -"Python as it streamlines the process and involves less people. Learn how to :" -"ref:`contribute `." +"Python as it streamlines the process and involves fewer people. Learn how " +"to :ref:`contribute `." msgstr "" "Czasem szybsze może być własnoręczne naprawienie błędu i wysłanie patchy do " "Pythona, usprawnia to proces i angażuje mniej osób. Dowiedz się, jak :ref:" @@ -55,6 +55,18 @@ msgid "" "the-tracker>`. If you have a suggestion on how to fix it, include that as " "well." msgstr "" +"Jeśli znajdziesz błąd w tej dokumentacji lub chciałbyś zaproponować " +"poprawkę, wyślij, zgłoszenie błędu do :ref:`systemu `. " +"Jeśli masz sugestię, jak naprawić błąd, zawrzyj ją w zgłoszeniu." + +msgid "" +"If the bug or suggested improvement concerns the translation of this " +"documentation, submit the report to the `translation’s repository " +"`_ instead." +msgstr "" +"Jeżeli błąd lub sugestia dotyczy jedynie polskiego tłumaczenia, zgłoś je " +"`tutaj `_. Jeśli masz sugestię, jak naprawić tłumaczenie, " +"zawrzyj ją w zgłoszeniu." msgid "" "You can also open a discussion item on our `Documentation Discourse forum " @@ -68,6 +80,9 @@ msgid "" "documentation, please submit a bug report on the `python-doc-theme issue " "tracker `_." msgstr "" +"Jeśli znajdziesz błąd w motywie (HTML / CSS / JavaScript) dokumentacji, " +"zgłoś raport o błędzie w `projekcie python-doc-theme `_." msgid "`Documentation bugs`_" msgstr "`Błędy w dokumentacji`_" diff --git a/c-api/abstract.po b/c-api/abstract.po index fbc843254d..6ea250d0b8 100644 --- a/c-api/abstract.po +++ b/c-api/abstract.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Krzysztof Wierzbicki , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Krzysztof Wierzbicki , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/allocation.po b/c-api/allocation.po index 94fb3d98fe..52c278d966 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Waldemar Stoczkowski, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Waldemar Stoczkowski, 2023\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +29,22 @@ msgstr "Przydzielanie obiektów na stercie" msgid "" "Initialize a newly allocated object *op* with its type and initial " "reference. Returns the initialized object. Other fields of the object are " -"not affected." +"not initialized. Despite its name, this function is unrelated to the " +"object's :meth:`~object.__init__` method (:c:member:`~PyTypeObject.tp_init` " +"slot). Specifically, this function does **not** call the object's :meth:`!" +"__init__` method." +msgstr "" + +msgid "" +"In general, consider this function to be a low-level routine. Use :c:member:" +"`~PyTypeObject.tp_alloc` where possible. For implementing :c:member:`!" +"tp_alloc` for your type, prefer :c:func:`PyType_GenericAlloc` or :c:func:" +"`PyObject_New`." +msgstr "" + +msgid "" +"This function only initializes the object's memory corresponding to the " +"initial :c:type:`PyObject` structure. It does not zero the rest." msgstr "" msgid "" @@ -41,39 +55,106 @@ msgstr "" "zainicjuje informacje o długości dla obiektu o zmiennym rozmiarze." msgid "" -"Allocate a new Python object using the C structure type *TYPE* and the " -"Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " -"Python object header are not initialized. The caller will own the only " -"reference to the object (i.e. its reference count will be one). The size of " -"the memory allocation is determined from the :c:member:`~PyTypeObject." -"tp_basicsize` field of the type object." +"This function only initializes some of the object's memory. It does not " +"zero the rest." +msgstr "" + +msgid "" +"Allocates a new Python object using the C structure type *TYPE* and the " +"Python type object *typeobj* (``PyTypeObject*``) by calling :c:func:" +"`PyObject_Malloc` to allocate memory and initializing it like :c:func:" +"`PyObject_Init`. The caller will own the only reference to the object (i.e. " +"its reference count will be one)." +msgstr "" + +msgid "" +"Avoid calling this directly to allocate memory for an object; call the " +"type's :c:member:`~PyTypeObject.tp_alloc` slot instead." +msgstr "" + +msgid "" +"When populating a type's :c:member:`~PyTypeObject.tp_alloc` slot, :c:func:" +"`PyType_GenericAlloc` is preferred over a custom function that simply calls " +"this macro." +msgstr "" + +msgid "" +"This macro does not call :c:member:`~PyTypeObject.tp_alloc`, :c:member:" +"`~PyTypeObject.tp_new` (:meth:`~object.__new__`), or :c:member:" +"`~PyTypeObject.tp_init` (:meth:`~object.__init__`)." msgstr "" msgid "" -"Note that this function is unsuitable if *typeobj* has :c:macro:" -"`Py_TPFLAGS_HAVE_GC` set. For such objects, use :c:func:`PyObject_GC_New` " -"instead." +"This cannot be used for objects with :c:macro:`Py_TPFLAGS_HAVE_GC` set in :c:" +"member:`~PyTypeObject.tp_flags`; use :c:macro:`PyObject_GC_New` instead." msgstr "" msgid "" -"Allocate a new Python object using the C structure type *TYPE* and the " -"Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " -"Python object header are not initialized. The allocated memory allows for " -"the *TYPE* structure plus *size* (``Py_ssize_t``) fields of the size given " -"by the :c:member:`~PyTypeObject.tp_itemsize` field of *typeobj*. This is " -"useful for implementing objects like tuples, which are able to determine " -"their size at construction time. Embedding the array of fields into the " -"same allocation decreases the number of allocations, improving the memory " -"management efficiency." +"Memory allocated by this macro must be freed with :c:func:`PyObject_Free` " +"(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot)." +msgstr "" + +msgid "" +"The returned memory is not guaranteed to have been completely zeroed before " +"it was initialized." +msgstr "" + +msgid "" +"This macro does not construct a fully initialized object of the given type; " +"it merely allocates memory and prepares it for further initialization by :c:" +"member:`~PyTypeObject.tp_init`. To construct a fully initialized object, " +"call *typeobj* instead. For example::" +msgstr "" + +msgid "PyObject *foo = PyObject_CallNoArgs((PyObject *)&PyFoo_Type);" +msgstr "" + +msgid ":c:func:`PyObject_Free`" +msgstr ":c:func:`PyObject_Free`" + +msgid ":c:macro:`PyObject_GC_New`" +msgstr "" + +msgid ":c:func:`PyType_GenericAlloc`" +msgstr "" + +msgid ":c:member:`~PyTypeObject.tp_alloc`" +msgstr ":c:member:`~PyTypeObject.tp_alloc`" + +msgid "Like :c:macro:`PyObject_New` except:" msgstr "" msgid "" -"Note that this function is unsuitable if *typeobj* has :c:macro:" -"`Py_TPFLAGS_HAVE_GC` set. For such objects, use :c:func:`PyObject_GC_NewVar` " -"instead." +"It allocates enough memory for the *TYPE* structure plus *size* " +"(``Py_ssize_t``) fields of the size given by the :c:member:`~PyTypeObject." +"tp_itemsize` field of *typeobj*." msgstr "" -msgid "Same as :c:func:`PyObject_Free`." +msgid "The memory is initialized like :c:func:`PyObject_InitVar`." +msgstr "" + +msgid "" +"This is useful for implementing objects like tuples, which are able to " +"determine their size at construction time. Embedding the array of fields " +"into the same allocation decreases the number of allocations, improving the " +"memory management efficiency." +msgstr "" + +msgid "" +"This cannot be used for objects with :c:macro:`Py_TPFLAGS_HAVE_GC` set in :c:" +"member:`~PyTypeObject.tp_flags`; use :c:macro:`PyObject_GC_NewVar` instead." +msgstr "" + +msgid "" +"Memory allocated by this function must be freed with :c:func:`PyObject_Free` " +"(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot)." +msgstr "" + +msgid "" +"PyObject *list_instance = PyObject_CallNoArgs((PyObject *)&PyList_Type);" +msgstr "" + +msgid ":c:macro:`PyObject_GC_NewVar`" msgstr "" msgid "" @@ -85,8 +166,40 @@ msgstr "" "wyłącznie za pomocą makra :c:macro:`Py_None`, którego wartością jest " "wskaźnik do tego obiektu." -msgid ":c:func:`PyModule_Create`" -msgstr ":c:func:`PyModule_Create`" +msgid ":ref:`moduleobjects`" +msgstr "" msgid "To allocate and create extension modules." msgstr "Przydzielanie i tworzenie modułów rozszerzeń." + +msgid "Deprecated aliases" +msgstr "" + +msgid "" +"These are :term:`soft deprecated` aliases to existing functions and macros. " +"They exist solely for backwards compatibility." +msgstr "" + +msgid "Deprecated alias" +msgstr "" + +msgid "Function" +msgstr "Funkcja" + +msgid ":c:macro:`PyObject_New`" +msgstr "" + +msgid ":c:macro:`PyObject_NewVar`" +msgstr "" + +msgid ":c:func:`PyObject_Init`" +msgstr "" + +msgid ":c:func:`PyObject_InitVar`" +msgstr "" + +msgid ":c:func:`PyObject_Malloc`" +msgstr ":c:func:`PyObject_Malloc`" + +msgid ":c:func:`PyObject_Realloc`" +msgstr ":c:func:`PyObject_Realloc`" diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index ce0c4d17bd..ef1059ccbc 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 -# Stefan Ocetkiewicz , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2025\n" +"POT-Creation-Date: 2026-03-13 14:39+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -72,6 +69,10 @@ msgstr "" msgid "" "Use this for numeric comparisons, for example, ``#if PY_VERSION_HEX >= ...``." msgstr "" +"Używaj to do porównań liczbowych, na przykład ``#if PY_VERSION_HEX >= ...``." + +msgid "These macros are defined in :source:`Include/patchlevel.h`." +msgstr "" msgid "Run-time version" msgstr "" @@ -85,6 +86,7 @@ msgstr "" msgid "" "Use this for numeric comparisons, for example, ``if (Py_Version >= ...)``." msgstr "" +"Używaj to do porównań liczbowych, na przykład ``if (Py_Version >= ...)``." msgid "Bit-packing macros" msgstr "" @@ -95,10 +97,10 @@ msgid "" msgstr "" msgid "Argument" -msgstr "" +msgstr "Argument" msgid "No. of bits" -msgstr "" +msgstr "Liczba bitów" msgid "Bit mask" msgstr "" @@ -110,73 +112,73 @@ msgid "Example values" msgstr "" msgid "``3.4.1a2``" -msgstr "" +msgstr "``3.4.1a2``" msgid "``3.10.0``" -msgstr "" +msgstr "``3.10.0``" msgid "*major*" -msgstr "" +msgstr "*major*" msgid "8" msgstr "8" msgid "``0xFF000000``" -msgstr "" +msgstr "``0xFF000000``" msgid "24" -msgstr "" +msgstr "24" msgid "``0x03``" msgstr "``0x03``" msgid "*minor*" -msgstr "" +msgstr "*minor*" msgid "``0x00FF0000``" -msgstr "" +msgstr "``0x00FF0000``" msgid "16" -msgstr "" +msgstr "16" msgid "``0x04``" msgstr "``0x04``" msgid "``0x0A``" -msgstr "" +msgstr "``0x0A``" msgid "*micro*" -msgstr "" +msgstr "*micro*" msgid "``0x0000FF00``" -msgstr "" +msgstr "``0x0000FF00``" msgid "``0x01``" msgstr "``0x01``" msgid "``0x00``" -msgstr "" +msgstr "``0x00``" msgid "*release_level*" -msgstr "" +msgstr "*release_level*" msgid "4" msgstr "4" msgid "``0x000000F0``" -msgstr "" +msgstr "``0x000000F0``" msgid "``0xA``" msgstr "``0xA``" msgid "``0xF``" -msgstr "" +msgstr "``0xF``" msgid "*release_serial*" -msgstr "" +msgstr "*release_serial*" msgid "``0x0000000F``" -msgstr "" +msgstr "``0x0000000F``" msgid "0" msgstr "0" @@ -185,7 +187,7 @@ msgid "``0x2``" msgstr "``0x2``" msgid "``0x0``" -msgstr "" +msgstr "``0x0``" msgid "For example:" msgstr "Na przykład::" @@ -194,22 +196,22 @@ msgid "Version" msgstr "Wersja" msgid "``Py_PACK_FULL_VERSION`` arguments" -msgstr "" +msgstr "``Py_PACK_FULL_VERSION`` argumenty" msgid "Encoded version" -msgstr "" +msgstr "Zakodowana wersja" msgid "``(3, 4, 1, 0xA, 2)``" -msgstr "" +msgstr "``(3, 4, 1, 0xA, 2)``" msgid "``0x030401a2``" -msgstr "" +msgstr "``0x030401a2``" msgid "``(3, 10, 0, 0xF, 0)``" -msgstr "" +msgstr "``(3, 10, 0, 0xF, 0)``" msgid "``0x030a00f0``" -msgstr "" +msgstr "``0x030a00f0``" msgid "" "Out-of range bits in the arguments are ignored. That is, the macro can be " @@ -226,6 +228,14 @@ msgid "" " (((SERIAL) & 0xf) << 0))\n" "#endif" msgstr "" +"#ifndef Py_PACK_FULL_VERSION\n" +"#define Py_PACK_FULL_VERSION(X, Y, Z, LEVEL, SERIAL) ( \\\n" +" (((X) & 0xff) << 24) | \\\n" +" (((Y) & 0xff) << 16) | \\\n" +" (((Z) & 0xff) << 8) | \\\n" +" (((LEVEL) & 0xf) << 4) | \\\n" +" (((SERIAL) & 0xf) << 0))\n" +"#endif" msgid "" "``Py_PACK_FULL_VERSION`` is primarily a macro, intended for use in ``#if`` " diff --git a/c-api/arg.po b/c-api/arg.po index b491c1bce1..f2ffb2fb09 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-13 14:39+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -180,8 +178,7 @@ msgstr "" msgid "" "Like ``s``, but the Python object may also be ``None``, in which case the C " -"pointer is set to ``NULL``. It is the same as ``s?`` with the C pointer was " -"initialized to ``NULL``." +"pointer is set to ``NULL``." msgstr "" msgid "" @@ -190,9 +187,7 @@ msgstr "" msgid "" "Like ``s*``, but the Python object may also be ``None``, in which case the " -"``buf`` member of the :c:type:`Py_buffer` structure is set to ``NULL``. It " -"is the same as ``s*?`` with the ``buf`` member of the :c:type:`Py_buffer` " -"structure was initialized to ``NULL``." +"``buf`` member of the :c:type:`Py_buffer` structure is set to ``NULL``." msgstr "" msgid "" @@ -202,8 +197,7 @@ msgstr "" msgid "" "Like ``s#``, but the Python object may also be ``None``, in which case the C " -"pointer is set to ``NULL``. It is the same as ``s#?`` with the C pointer was " -"initialized to ``NULL``." +"pointer is set to ``NULL``." msgstr "" msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]" @@ -275,7 +269,7 @@ msgstr "" msgid "" "This format accepts any object which implements the read-write buffer " "interface. It fills a :c:type:`Py_buffer` structure provided by the caller. " -"The buffer may contain embedded null bytes. The caller have to call :c:func:" +"The buffer may contain embedded null bytes. The caller has to call :c:func:" "`PyBuffer_Release` when it is done with the buffer." msgstr "" @@ -627,17 +621,6 @@ msgid "" "store a borrowed buffer or a borrowed reference." msgstr "" -msgid "``unit?`` (anything or ``None``) [*matching-variable(s)*]" -msgstr "" - -msgid "" -"``?`` modifies the behavior of the preceding format unit. The C variable(s) " -"corresponding to that parameter should be initialized to their default value " -"--- when the argument is ``None``, :c:func:`PyArg_ParseTuple` does not touch " -"the contents of the corresponding C variable(s). If the argument is not " -"``None``, it is parsed according to the specified format unit." -msgstr "" - msgid "" "A few other characters have a meaning in a format string. These may not " "occur inside nested parentheses. They are:" @@ -989,9 +972,14 @@ msgstr "" msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." msgstr "" +msgid "Convert a C :c:expr:`int` to a Python :class:`bool` object." +msgstr "" + msgid "" -"Convert a C :c:expr:`int` to a Python :class:`bool` object. .. " -"versionadded:: 3.14" +"Be aware that this format requires an ``int`` argument. Unlike most other " +"contexts in C, variadic arguments are not coerced to a suitable type " +"automatically. You can convert another type (for example, a pointer or a " +"float) to a suitable ``int`` value using ``(x) ? 1 : 0`` or ``!!x``." msgstr "" msgid "``c`` (:class:`bytes` of length 1) [char]" diff --git a/c-api/bool.po b/c-api/bool.po index a3d50344be..ecaf549b83 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/buffer.po b/c-api/buffer.po index f59132db56..ed34552a5e 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -318,6 +316,9 @@ msgid "" "PyBUF_WRITABLE` can be used to request a simple writable buffer." msgstr "" +msgid "This is a :term:`soft deprecated` alias to :c:macro:`PyBUF_WRITABLE`." +msgstr "" + msgid "" "Controls the :c:member:`~Py_buffer.format` field. If set, this field MUST be " "filled in correctly. Otherwise, this field MUST be ``NULL``." diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 11524c5747..e764d6396c 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,6 +59,11 @@ msgstr "" msgid "On failure, return ``NULL`` with an exception set." msgstr "" +msgid "" +"If the object implements the buffer protocol, then the buffer must not be " +"mutated while the bytearray object is being created." +msgstr "" + msgid "Create a new bytearray object from *string* and its length, *len*." msgstr "" @@ -74,6 +79,11 @@ msgid "" "``NULL`` pointer. The returned array always has an extra null byte appended." msgstr "" +msgid "" +"It is not thread-safe to mutate the bytearray object while using the " +"returned char array." +msgstr "" + msgid "" "Resize the internal buffer of *bytearray* to *len*. Failure is a ``-1`` " "return with an exception set." diff --git a/c-api/bytes.po b/c-api/bytes.po index 1183c1f49e..ea1765281a 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -136,7 +134,7 @@ msgid "``%zd``" msgstr "``%zd``" msgid ":c:type:`\\ Py_ssize_t`" -msgstr "" +msgstr ":c:type:`\\ Py_ssize_t`" msgid "Equivalent to ``printf(\"%zd\")``. [1]_" msgstr "" @@ -203,6 +201,11 @@ msgid "" "protocol." msgstr "" +msgid "" +"If the object implements the buffer protocol, then the buffer must not be " +"mutated while the bytes object is being created." +msgstr "" + msgid "Return the length of the bytes in bytes object *o*." msgstr "" @@ -255,6 +258,11 @@ msgid "" "of *\\*bytes* will be set to ``NULL``; the appropriate exception will be set." msgstr "" +msgid "" +"If *newpart* implements the buffer protocol, then the buffer must not be " +"mutated while the new bytes object is being created." +msgstr "" + msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " "appended to *bytes*. This version releases the :term:`strong reference` to " @@ -280,6 +288,11 @@ msgid "" "and return ``NULL``." msgstr "" +msgid "" +"If *iterable* objects implement the buffer protocol, then the buffers must " +"not be mutated while the new bytes object is being created." +msgstr "" + msgid "" "Resize a bytes object. *newsize* will be the new length of the bytes object. " "You can think of it as creating a new bytes object and destroying the old " @@ -291,6 +304,49 @@ msgid "" "``NULL``, :exc:`MemoryError` is set, and ``-1`` is returned." msgstr "" +msgid "" +"Get the string representation of *bytes*. This function is currently used to " +"implement :meth:`!bytes.__repr__` in Python." +msgstr "" + +msgid "" +"This function does not do type checking; it is undefined behavior to pass " +"*bytes* as a non-bytes object or ``NULL``." +msgstr "" + +msgid "" +"If *smartquotes* is true, the representation will use a double-quoted string " +"instead of single-quoted string when single-quotes are present in *bytes*. " +"For example, the byte string ``'Python'`` would be represented as " +"``b\"'Python'\"`` when *smartquotes* is true, or ``b'\\'Python\\''`` when it " +"is false." +msgstr "" + +msgid "" +"On success, this function returns a :term:`strong reference` to a :class:" +"`str` object containing the representation. On failure, this returns " +"``NULL`` with an exception set." +msgstr "" + +msgid "" +"Unescape a backslash-escaped string *s*. *s* must not be ``NULL``. *len* " +"must be the size of *s*." +msgstr "" + +msgid "" +"*errors* must be one of ``\"strict\"``, ``\"replace\"``, or ``\"ignore\"``. " +"If *errors* is ``NULL``, then ``\"strict\"`` is used by default." +msgstr "" + +msgid "" +"On success, this function returns a :term:`strong reference` to a Python :" +"class:`bytes` object containing the unescaped string. On failure, this " +"function returns ``NULL`` with an exception set." +msgstr "" + +msgid "*unicode* and *recode_encoding* are now unused." +msgstr "" + msgid "object" msgstr "obiekt" diff --git a/c-api/call.po b/c-api/call.po index fa958c711f..fba16f583a 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -430,6 +428,14 @@ msgid "" "calls the vectorcall function stored in *callable*." msgstr "" +msgid "as ``_PyObject_Vectorcall``" +msgstr "" + +msgid "" +"Renamed to the current name, without the leading underscore. The old " +"provisional name is :term:`soft deprecated`." +msgstr "" + msgid "" "Call *callable* with positional arguments passed exactly as in the " "vectorcall_ protocol, but with keyword arguments passed as a dictionary " diff --git a/c-api/capsule.po b/c-api/capsule.po index ee6b1ffa0d..ea581de312 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: haaritsubaki, 2024\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,13 +32,18 @@ msgstr "" msgid "" "This subtype of :c:type:`PyObject` represents an opaque value, useful for C " -"extension modules who need to pass an opaque value (as a :c:expr:`void*` " +"extension modules which need to pass an opaque value (as a :c:expr:`void*` " "pointer) through Python code to other C code. It is often used to make a C " "function pointer defined in one module available to other modules, so the " "regular import mechanism can be used to access C APIs defined in dynamically " "loaded modules." msgstr "" +msgid "" +"The type object corresponding to capsule objects. This is the same object " +"as :class:`types.CapsuleType` in the Python layer." +msgstr "" + msgid "The type of a destructor callback for a capsule. Defined as::" msgstr "" @@ -132,11 +137,23 @@ msgid "" "string exactly." msgstr "" +msgid "" +"This function splits *name* on the ``.`` character, and imports the first " +"element. It then processes further elements using attribute lookups." +msgstr "" + msgid "" "Return the capsule's internal *pointer* on success. On failure, set an " "exception and return ``NULL``." msgstr "" +msgid "" +"If *name* points to an attribute of some submodule or subpackage, this " +"submodule or subpackage must be previously imported using other means (for " +"example, by using :c:func:`PyImport_ImportModule`) for the attribute lookups " +"to succeed." +msgstr "" + msgid "*no_block* has no effect anymore." msgstr "" diff --git a/c-api/cell.po b/c-api/cell.po index c55e90a044..b5792cd5f2 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Waldemar Stoczkowski, 2024\n" +"POT-Creation-Date: 2025-10-25 14:12+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/code.po b/c-api/code.po index 384bb08e6c..69cccd7a4f 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -186,7 +186,7 @@ msgstr "" msgid "" "If *event* is ``PY_CODE_EVENT_CREATE``, then the callback is invoked after " -"`co` has been fully initialized. Otherwise, the callback is invoked before " +"*co* has been fully initialized. Otherwise, the callback is invoked before " "the destruction of *co* takes place, so the prior state of *co* can be " "inspected." msgstr "" @@ -221,6 +221,99 @@ msgid "" "it before returning." msgstr "" +msgid "This is a :term:`soft deprecated` function that does nothing." +msgstr "" + +msgid "" +"Prior to Python 3.10, this function would perform basic optimizations to a " +"code object." +msgstr "" + +msgid "This function now does nothing." +msgstr "" + +msgid "Code Object Flags" +msgstr "" + +msgid "" +"Code objects contain a bit-field of flags, which can be retrieved as the :" +"attr:`~codeobject.co_flags` Python attribute (for example using :c:func:" +"`PyObject_GetAttrString`), and set using a *flags* argument to :c:func:" +"`PyUnstable_Code_New` and similar functions." +msgstr "" + +msgid "" +"Flags whose names start with ``CO_FUTURE_`` correspond to features normally " +"selectable by :ref:`future statements `. These flags can be used in :" +"c:member:`PyCompilerFlags.cf_flags`. Note that many ``CO_FUTURE_`` flags are " +"mandatory in current versions of Python, and setting them has no effect." +msgstr "" + +msgid "" +"The following flags are available. For their meaning, see the linked " +"documentation of their Python equivalents." +msgstr "" + +msgid "Flag" +msgstr "" + +msgid "Meaning" +msgstr "Znaczenie" + +msgid ":py:data:`inspect.CO_OPTIMIZED`" +msgstr "" + +msgid ":py:data:`inspect.CO_NEWLOCALS`" +msgstr "" + +msgid ":py:data:`inspect.CO_VARARGS`" +msgstr "" + +msgid ":py:data:`inspect.CO_VARKEYWORDS`" +msgstr "" + +msgid ":py:data:`inspect.CO_NESTED`" +msgstr "" + +msgid ":py:data:`inspect.CO_GENERATOR`" +msgstr "" + +msgid ":py:data:`inspect.CO_COROUTINE`" +msgstr "" + +msgid ":py:data:`inspect.CO_ITERABLE_COROUTINE`" +msgstr "" + +msgid ":py:data:`inspect.CO_ASYNC_GENERATOR`" +msgstr "" + +msgid ":py:data:`inspect.CO_HAS_DOCSTRING`" +msgstr "" + +msgid ":py:data:`inspect.CO_METHOD`" +msgstr "" + +msgid "no effect (:py:data:`__future__.division`)" +msgstr "" + +msgid "no effect (:py:data:`__future__.absolute_import`)" +msgstr "" + +msgid "no effect (:py:data:`__future__.with_statement`)" +msgstr "" + +msgid "no effect (:py:data:`__future__.print_function`)" +msgstr "" + +msgid "no effect (:py:data:`__future__.unicode_literals`)" +msgstr "" + +msgid "no effect (:py:data:`__future__.generator_stop`)" +msgstr "" + +msgid ":py:data:`__future__.annotations`" +msgstr "" + msgid "Extra information" msgstr "" @@ -236,7 +329,7 @@ msgid "" "warnings." msgstr "" -msgid "Return a new an opaque index value used to adding data to code objects." +msgid "Return a new opaque index value used to adding data to code objects." msgstr "" msgid "" @@ -301,15 +394,3 @@ msgstr "" msgid "PyCode_New (C function)" msgstr "" - -msgid "PyCode_NewWithPosOnlyArgs (C function)" -msgstr "" - -msgid "_PyEval_RequestCodeExtraIndex (C function)" -msgstr "" - -msgid "_PyCode_GetExtra (C function)" -msgstr "" - -msgid "_PyCode_SetExtra (C function)" -msgstr "" diff --git a/c-api/complex.po b/c-api/complex.po index 8848d91378..a76af39d8b 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# gresm, 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/concrete.po b/c-api/concrete.po index e028c998a4..b7a1fd7df7 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -73,6 +71,9 @@ msgstr "Obiekty Funkcja" msgid "Other Objects" msgstr "" +msgid "C API for extension modules" +msgstr "" + msgid "object" msgstr "obiekt" diff --git a/c-api/contextvars.po b/c-api/contextvars.po index 27926ceb56..d00c139b54 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/coro.po b/c-api/coro.po index 9481c6dc70..121fb3d14c 100644 --- a/c-api/coro.po +++ b/c-api/coro.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-08 02:53-0300\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "Coroutine Objects" -msgstr "" +msgstr "Objek Coroutine" msgid "" "Coroutine objects are what functions declared with an ``async`` keyword " diff --git a/c-api/datetime.po b/c-api/datetime.po index f724f8512d..5cfeb8d5bd 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,12 +30,45 @@ msgid "" "Various date and time objects are supplied by the :mod:`datetime` module. " "Before using any of these functions, the header file :file:`datetime.h` must " "be included in your source (note that this is not included by :file:`Python." -"h`), and the macro :c:macro:`!PyDateTime_IMPORT` must be invoked, usually as " +"h`), and the macro :c:macro:`PyDateTime_IMPORT` must be invoked, usually as " "part of the module initialisation function. The macro puts a pointer to a C " -"structure into a static variable, :c:data:`!PyDateTimeAPI`, that is used by " +"structure into a static variable, :c:data:`PyDateTimeAPI`, that is used by " "the following macros." msgstr "" +msgid "Import the datetime C API." +msgstr "" + +msgid "" +"On success, populate the :c:var:`PyDateTimeAPI` pointer. On failure, set :c:" +"var:`PyDateTimeAPI` to ``NULL`` and set an exception. The caller must check " +"if an error occurred via :c:func:`PyErr_Occurred`:" +msgstr "" + +msgid "" +"PyDateTime_IMPORT;\n" +"if (PyErr_Occurred()) { /* cleanup */ }" +msgstr "" + +msgid "This is not compatible with subinterpreters." +msgstr "" + +msgid "Structure containing the fields for the datetime C API." +msgstr "" + +msgid "The fields of this structure are private and subject to change." +msgstr "" + +msgid "Do not use this directly; prefer ``PyDateTime_*`` APIs instead." +msgstr "" + +msgid "Dynamically allocated object containing the datetime C API." +msgstr "" + +msgid "" +"This variable is only available once :c:macro:`PyDateTime_IMPORT` succeeds." +msgstr "" + msgid "This subtype of :c:type:`PyObject` represents a Python date object." msgstr "" @@ -66,7 +99,7 @@ msgid "" msgstr "" msgid "" -"This instance of :c:type:`PyTypeObject` represents Python type for the " +"This instance of :c:type:`PyTypeObject` represents the Python type for the " "difference between two datetime values; it is the same object as :class:" "`datetime.timedelta` in the Python layer." msgstr "" @@ -260,3 +293,17 @@ msgid "" "Create and return a new :class:`datetime.date` object given an argument " "tuple suitable for passing to :meth:`datetime.date.fromtimestamp`." msgstr "" + +msgid "Internal data" +msgstr "" + +msgid "" +"The following symbols are exposed by the C API but should be considered " +"internal-only." +msgstr "" + +msgid "Name of the datetime capsule to pass to :c:func:`PyCapsule_Import`." +msgstr "" + +msgid "Internal usage only. Use :c:macro:`PyDateTime_IMPORT` instead." +msgstr "" diff --git a/c-api/dict.po b/c-api/dict.po index 2dd9b68724..c70fcf66c5 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Tadeusz Karpiński , 2023 -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -64,11 +60,20 @@ msgid "" "modification of the dictionary for non-dynamic class types." msgstr "" +msgid "" +"The type object for mapping proxy objects created by :c:func:" +"`PyDictProxy_New` and for the read-only ``__dict__`` attribute of many built-" +"in types. A :c:type:`PyDictProxy_Type` instance provides a dynamic, read-" +"only view of an underlying dictionary: changes to the underlying dictionary " +"are reflected in the proxy, but the proxy itself does not support mutation " +"operations. This corresponds to :class:`types.MappingProxyType` in Python." +msgstr "" + msgid "Empty an existing dictionary of all key-value pairs." msgstr "" msgid "" -"Determine if dictionary *p* contains *key*. If an item in *p* is matches " +"Determine if dictionary *p* contains *key*. If an item in *p* matches " "*key*, return ``1``, otherwise return ``0``. On error, return ``-1``. This " "is equivalent to the Python expression ``key in p``." msgstr "" @@ -197,7 +202,7 @@ msgstr "" msgid "" "Remove *key* from dictionary *p* and optionally return the removed value. Do " -"not raise :exc:`KeyError` if the key missing." +"not raise :exc:`KeyError` if the key is missing." msgstr "" msgid "" @@ -212,7 +217,7 @@ msgstr "" msgid "" "Similar to :meth:`dict.pop`, but without the default value and not raising :" -"exc:`KeyError` if the key missing." +"exc:`KeyError` if the key is missing." msgstr "" msgid "" @@ -239,6 +244,9 @@ msgid "" "``len(p)`` on a dictionary." msgstr "" +msgid "Similar to :c:func:`PyDict_Size`, but without error checking." +msgstr "" + msgid "" "Iterate over all key-value pairs in the dictionary *p*. The :c:type:" "`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the " @@ -305,6 +313,16 @@ msgid "" "Py_END_CRITICAL_SECTION();" msgstr "" +msgid "" +"On the free-threaded build, this function can be used safely inside a " +"critical section. However, the references returned for *pkey* and *pvalue* " +"are :term:`borrowed ` and are only valid while the " +"critical section is held. If you need to use these objects outside the " +"critical section or when the critical section can be suspended, create a :" +"term:`strong reference ` (for example, using :c:func:" +"`Py_NewRef`)." +msgstr "" + msgid "" "Iterate over mapping object *b* adding key-value pairs to dictionary *a*. " "*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` " @@ -421,6 +439,129 @@ msgid "" "it before returning." msgstr "" +msgid "Dictionary View Objects" +msgstr "" + +msgid "" +"Return true if *op* is a view of a set inside a dictionary. This is " +"currently equivalent to :c:expr:`PyDictKeys_Check(op) || " +"PyDictItems_Check(op)`. This function always succeeds." +msgstr "" + +msgid "" +"Type object for a view of dictionary keys. In Python, this is the type of " +"the object returned by :meth:`dict.keys`." +msgstr "" + +msgid "" +"Return true if *op* is an instance of a dictionary keys view. This function " +"always succeeds." +msgstr "" + +msgid "" +"Type object for a view of dictionary values. In Python, this is the type of " +"the object returned by :meth:`dict.values`." +msgstr "" + +msgid "" +"Return true if *op* is an instance of a dictionary values view. This " +"function always succeeds." +msgstr "" + +msgid "" +"Type object for a view of dictionary items. In Python, this is the type of " +"the object returned by :meth:`dict.items`." +msgstr "" + +msgid "" +"Return true if *op* is an instance of a dictionary items view. This function " +"always succeeds." +msgstr "" + +msgid "Ordered Dictionaries" +msgstr "" + +msgid "" +"Python's C API provides interface for :class:`collections.OrderedDict` from " +"C. Since Python 3.7, dictionaries are ordered by default, so there is " +"usually little need for these functions; prefer ``PyDict*`` where possible." +msgstr "" + +msgid "" +"Type object for ordered dictionaries. This is the same object as :class:" +"`collections.OrderedDict` in the Python layer." +msgstr "" + +msgid "" +"Return true if *od* is an ordered dictionary object or an instance of a " +"subtype of the :class:`~collections.OrderedDict` type. This function always " +"succeeds." +msgstr "" + +msgid "" +"Return true if *od* is an ordered dictionary object, but not an instance of " +"a subtype of the :class:`~collections.OrderedDict` type. This function " +"always succeeds." +msgstr "" + +msgid "Analogous to :c:type:`PyDictKeys_Type` for ordered dictionaries." +msgstr "" + +msgid "Analogous to :c:type:`PyDictValues_Type` for ordered dictionaries." +msgstr "" + +msgid "Analogous to :c:type:`PyDictItems_Type` for ordered dictionaries." +msgstr "" + +msgid "Return a new empty ordered dictionary, or ``NULL`` on failure." +msgstr "" + +msgid "This is analogous to :c:func:`PyDict_New`." +msgstr "" + +msgid "" +"Insert *value* into the ordered dictionary *od* with a key of *key*. Return " +"``0`` on success or ``-1`` with an exception set on failure." +msgstr "" + +msgid "This is analogous to :c:func:`PyDict_SetItem`." +msgstr "" + +msgid "" +"Remove the entry in the ordered dictionary *od* with key *key*. Return ``0`` " +"on success or ``-1`` with an exception set on failure." +msgstr "" + +msgid "This is analogous to :c:func:`PyDict_DelItem`." +msgstr "" + +msgid "These are :term:`soft deprecated` aliases to ``PyDict`` APIs:" +msgstr "" + +msgid "``PyODict``" +msgstr "" + +msgid "``PyDict``" +msgstr "" + +msgid ":c:func:`PyDict_GetItem`" +msgstr ":c:func:`PyDict_GetItem`" + +msgid ":c:func:`PyDict_GetItemWithError`" +msgstr ":c:func:`PyDict_GetItemWithError`" + +msgid ":c:func:`PyDict_GetItemString`" +msgstr ":c:func:`PyDict_GetItemString`" + +msgid ":c:func:`PyDict_Contains`" +msgstr "" + +msgid ":c:func:`PyDict_Size`" +msgstr "" + +msgid ":c:func:`PyDict_GET_SIZE`" +msgstr "" + msgid "object" msgstr "obiekt" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 3364c70815..4916f80ac4 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stefan Ocetkiewicz , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -299,6 +297,11 @@ msgid "" "is a :exc:`SyntaxError`." msgstr "" +msgid "" +"Similar to :c:func:`PyErr_SyntaxLocationObject`, but also sets the " +"*end_lineno* and *end_col_offset* information for the current exception." +msgstr "" + msgid "" "Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string " "decoded from the :term:`filesystem encoding and error handler`." @@ -316,6 +319,22 @@ msgid "" "use." msgstr "" +msgid "" +"Get the source line in *filename* at line *lineno*. *filename* should be a " +"Python :class:`str` object." +msgstr "" + +msgid "" +"On success, this function returns a Python string object with the found " +"line. On failure, this function returns ``NULL`` without an exception set." +msgstr "" + +msgid "" +"Similar to :c:func:`PyErr_ProgramTextObject`, but *filename* is a :c:expr:" +"`const char *`, which is decoded with the :term:`filesystem encoding and " +"error handler`, instead of a Python object reference." +msgstr "" + msgid "Issuing warnings" msgstr "" @@ -376,6 +395,12 @@ msgid "" "encoded string." msgstr "" +msgid "" +"Similar to :c:func:`PyErr_WarnExplicit`, but uses :c:func:" +"`PyUnicode_FromFormat` to format the warning message. *format* is an ASCII-" +"encoded string." +msgstr "" + msgid "" "Function similar to :c:func:`PyErr_WarnFormat`, but *category* is :exc:" "`ResourceWarning` and it passes *source* to :class:`!warnings." @@ -594,37 +619,64 @@ msgstr "" msgid "Signal Handling" msgstr "" -msgid "This function interacts with Python's signal handling." +msgid "" +"Handle external interruptions, such as signals or activating a debugger, " +"whose processing has been delayed until it is safe to run Python code and/or " +"raise exceptions." +msgstr "" + +msgid "" +"For example, pressing :kbd:`Ctrl-C` causes a terminal to send the :py:data:" +"`signal.SIGINT` signal. This function executes the corresponding Python " +"signal handler, which, by default, raises the :exc:`KeyboardInterrupt` " +"exception." +msgstr "" + +msgid "" +":c:func:`!PyErr_CheckSignals` should be called by long-running C code " +"frequently enough so that the response appears immediate to humans." +msgstr "" + +msgid "Handlers invoked by this function currently include:" +msgstr "" + +msgid "" +"Signal handlers, including Python functions registered using the :mod:" +"`signal` module." msgstr "" msgid "" -"If the function is called from the main thread and under the main Python " -"interpreter, it checks whether a signal has been sent to the processes and " -"if so, invokes the corresponding signal handler. If the :mod:`signal` " -"module is supported, this can invoke a signal handler written in Python." +"Signal handlers are only run in the main thread of the main interpreter." msgstr "" msgid "" -"The function attempts to handle all pending signals, and then returns ``0``. " -"However, if a Python signal handler raises an exception, the error indicator " -"is set and the function returns ``-1`` immediately (such that other pending " -"signals may not have been handled yet: they will be on the next :c:func:" -"`PyErr_CheckSignals()` invocation)." +"(This is where the function got the name: originally, signals were the only " +"way to interrupt the interpreter.)" +msgstr "" + +msgid "Running the garbage collector, if necessary." +msgstr "" + +msgid "Executing a pending :ref:`remote debugger ` script." msgstr "" msgid "" -"If the function is called from a non-main thread, or under a non-main Python " -"interpreter, it does nothing and returns ``0``." +"If any handler raises an exception, immediately return ``-1`` with that " +"exception set. Any remaining interruptions are left to be processed on the " +"next :c:func:`PyErr_CheckSignals()` invocation, if appropriate." msgstr "" msgid "" -"This function can be called by long-running C code that wants to be " -"interruptible by user requests (such as by pressing Ctrl-C)." +"If all handlers finish successfully, or there are no handlers to run, return " +"``0``." +msgstr "" + +msgid "This function may now invoke the garbage collector." msgstr "" msgid "" -"The default Python signal handler for :c:macro:`!SIGINT` raises the :exc:" -"`KeyboardInterrupt` exception." +"This function may now execute a remote debugger script, if remote debugging " +"is enabled." msgstr "" msgid "" @@ -703,9 +755,25 @@ msgid "" "as the docstring for the exception class." msgstr "" +msgid "" +"Return non-zero if *ob* is an exception class, zero otherwise. This function " +"always succeeds." +msgstr "" + +msgid "Return :c:member:`~PyTypeObject.tp_name` of the exception class *ob*." +msgstr "" + msgid "Exception Objects" msgstr "Przedmioty Sytuacji Wyjątkowych" +msgid "" +"Return true if *op* is an instance of :class:`BaseException`, false " +"otherwise. This function always succeeds." +msgstr "" + +msgid "Equivalent to :c:func:`Py_TYPE(op) `." +msgstr "" + msgid "" "Return the traceback associated with the exception as a new reference, as " "accessible from Python through the :attr:`~BaseException.__traceback__` " @@ -797,7 +865,7 @@ msgid "" msgstr "" msgid ":attr:`UnicodeError.start`" -msgstr "" +msgstr ":attr:`UnicodeError.start`" msgid "" "Set the *start* attribute of the given exception object to *start*. Return " @@ -826,7 +894,7 @@ msgid "" msgstr "" msgid ":attr:`UnicodeError.end`" -msgstr "" +msgstr ":attr:`UnicodeError.end`" msgid "Return the *reason* attribute of the given exception object." msgstr "" @@ -863,6 +931,9 @@ msgid "" "recursion depth limit." msgstr "" +msgid "The :c:func:`PyUnstable_ThreadState_SetStackProtection` function." +msgstr "" + msgid "" "This function is now also available in the :ref:`limited API `." @@ -909,349 +980,209 @@ msgid "" "c:func:`Py_ReprEnter` that returns zero." msgstr "" -msgid "Standard Exceptions" -msgstr "Sztandarowe Sytuacje Wyjątkowe" +msgid "" +"Get the recursion limit for the current interpreter. It can be set with :c:" +"func:`Py_SetRecursionLimit`. The recursion limit prevents the Python " +"interpreter stack from growing infinitely." +msgstr "" msgid "" -"All standard Python exceptions are available as global variables whose names " -"are ``PyExc_`` followed by the Python exception name. These have the type :" -"c:expr:`PyObject*`; they are all class objects. For completeness, here are " -"all the variables:" +"This function cannot fail, and the caller must hold an :term:`attached " +"thread state`." msgstr "" -msgid "C Name" -msgstr "Nazwa C" +msgid ":py:func:`sys.getrecursionlimit`" +msgstr "" -msgid "Python Name" -msgstr "Nazwa w języku pytonowskim" +msgid "Set the recursion limit for the current interpreter." +msgstr "" -msgid "Notes" -msgstr "Notatki" +msgid ":py:func:`sys.setrecursionlimit`" +msgstr "" -msgid ":c:data:`PyExc_BaseException`" -msgstr ":c:data:`PyExc_BaseException`" +msgid "Exception and warning types" +msgstr "" -msgid ":exc:`BaseException`" -msgstr ":exc:`BaseException`" +msgid "" +"All standard Python exceptions and warning categories are available as " +"global variables whose names are ``PyExc_`` followed by the Python exception " +"name. These have the type :c:expr:`PyObject*`; they are all class objects." +msgstr "" + +msgid "For completeness, here are all the variables:" +msgstr "" + +msgid "Exception types" +msgstr "" + +msgid "C name" +msgstr "" -msgid "[1]_" +msgid "Python name" msgstr "" -msgid ":c:data:`PyExc_Exception`" -msgstr ":c:data:`PyExc_Exception`" +msgid ":exc:`BaseException`" +msgstr ":exc:`BaseException`" + +msgid ":exc:`BaseExceptionGroup`" +msgstr ":exc:`BaseExceptionGroup`" msgid ":exc:`Exception`" msgstr ":exc:`Exception`" -msgid ":c:data:`PyExc_ArithmeticError`" -msgstr ":c:data:`PyExc_ArithmeticError`" - msgid ":exc:`ArithmeticError`" msgstr ":exc:`ArithmeticError`" -msgid ":c:data:`PyExc_AssertionError`" -msgstr ":c:data:`PyExc_AssertionError`" - msgid ":exc:`AssertionError`" msgstr ":exc:`AssertionError`" -msgid ":c:data:`PyExc_AttributeError`" -msgstr ":c:data:`PyExc_AttributeError`" - msgid ":exc:`AttributeError`" msgstr ":exc:`AttributeError`" -msgid ":c:data:`PyExc_BlockingIOError`" -msgstr ":c:data:`PyExc_BlockingIOError`" - msgid ":exc:`BlockingIOError`" msgstr ":exc:`BlockingIOError`" -msgid ":c:data:`PyExc_BrokenPipeError`" -msgstr ":c:data:`PyExc_BrokenPipeError`" - msgid ":exc:`BrokenPipeError`" msgstr ":exc:`BrokenPipeError`" -msgid ":c:data:`PyExc_BufferError`" -msgstr ":c:data:`PyExc_BufferError`" - msgid ":exc:`BufferError`" msgstr ":exc:`BufferError`" -msgid ":c:data:`PyExc_ChildProcessError`" -msgstr ":c:data:`PyExc_ChildProcessError`" - msgid ":exc:`ChildProcessError`" msgstr ":exc:`ChildProcessError`" -msgid ":c:data:`PyExc_ConnectionAbortedError`" -msgstr ":c:data:`PyExc_ConnectionAbortedError`" - msgid ":exc:`ConnectionAbortedError`" msgstr ":exc:`ConnectionAbortedError`" -msgid ":c:data:`PyExc_ConnectionError`" -msgstr ":c:data:`PyExc_ConnectionError`" - msgid ":exc:`ConnectionError`" msgstr ":exc:`ConnectionError`" -msgid ":c:data:`PyExc_ConnectionRefusedError`" -msgstr ":c:data:`PyExc_ConnectionRefusedError`" - msgid ":exc:`ConnectionRefusedError`" msgstr ":exc:`ConnectionRefusedError`" -msgid ":c:data:`PyExc_ConnectionResetError`" -msgstr ":c:data:`PyExc_ConnectionResetError`" - msgid ":exc:`ConnectionResetError`" msgstr ":exc:`ConnectionResetError`" -msgid ":c:data:`PyExc_EOFError`" -msgstr ":c:data:`PyExc_EOFError`" - msgid ":exc:`EOFError`" msgstr ":exc:`EOFError`" -msgid ":c:data:`PyExc_FileExistsError`" -msgstr ":c:data:`PyExc_FileExistsError`" - msgid ":exc:`FileExistsError`" msgstr ":exc:`FileExistsError`" -msgid ":c:data:`PyExc_FileNotFoundError`" -msgstr ":c:data:`PyExc_FileNotFoundError`" - msgid ":exc:`FileNotFoundError`" msgstr ":exc:`FileNotFoundError`" -msgid ":c:data:`PyExc_FloatingPointError`" -msgstr ":c:data:`PyExc_FloatingPointError`" - msgid ":exc:`FloatingPointError`" msgstr ":exc:`FloatingPointError`" -msgid ":c:data:`PyExc_GeneratorExit`" -msgstr ":c:data:`PyExc_GeneratorExit`" - msgid ":exc:`GeneratorExit`" msgstr ":exc:`GeneratorExit`" -msgid ":c:data:`PyExc_ImportError`" -msgstr ":c:data:`PyExc_ImportError`" - msgid ":exc:`ImportError`" msgstr ":exc:`ImportError`" -msgid ":c:data:`PyExc_IndentationError`" -msgstr ":c:data:`PyExc_IndentationError`" - msgid ":exc:`IndentationError`" msgstr ":exc:`IndentationError`" -msgid ":c:data:`PyExc_IndexError`" -msgstr ":c:data:`PyExc_IndexError`" - msgid ":exc:`IndexError`" msgstr ":exc:`IndexError`" -msgid ":c:data:`PyExc_InterruptedError`" -msgstr ":c:data:`PyExc_InterruptedError`" - msgid ":exc:`InterruptedError`" msgstr ":exc:`InterruptedError`" -msgid ":c:data:`PyExc_IsADirectoryError`" -msgstr ":c:data:`PyExc_IsADirectoryError`" - msgid ":exc:`IsADirectoryError`" msgstr ":exc:`IsADirectoryError`" -msgid ":c:data:`PyExc_KeyError`" -msgstr ":c:data:`PyExc_KeyError`" - msgid ":exc:`KeyError`" msgstr ":exc:`KeyError`" -msgid ":c:data:`PyExc_KeyboardInterrupt`" -msgstr ":c:data:`PyExc_KeyboardInterrupt`" - msgid ":exc:`KeyboardInterrupt`" msgstr ":exc:`KeyboardInterrupt`" -msgid ":c:data:`PyExc_LookupError`" -msgstr ":c:data:`PyExc_LookupError`" - msgid ":exc:`LookupError`" msgstr ":exc:`LookupError`" -msgid ":c:data:`PyExc_MemoryError`" -msgstr ":c:data:`PyExc_MemoryError`" - msgid ":exc:`MemoryError`" msgstr ":exc:`MemoryError`" -msgid ":c:data:`PyExc_ModuleNotFoundError`" -msgstr ":c:data:`PyExc_ModuleNotFoundError`" - msgid ":exc:`ModuleNotFoundError`" msgstr ":exc:`ModuleNotFoundError`" -msgid ":c:data:`PyExc_NameError`" -msgstr ":c:data:`PyExc_NameError`" - msgid ":exc:`NameError`" msgstr ":exc:`NameError`" -msgid ":c:data:`PyExc_NotADirectoryError`" -msgstr ":c:data:`PyExc_NotADirectoryError`" - msgid ":exc:`NotADirectoryError`" msgstr ":exc:`NotADirectoryError`" -msgid ":c:data:`PyExc_NotImplementedError`" -msgstr ":c:data:`PyExc_NotImplementedError`" - msgid ":exc:`NotImplementedError`" msgstr ":exc:`NotImplementedError`" -msgid ":c:data:`PyExc_OSError`" -msgstr ":c:data:`PyExc_OSError`" - msgid ":exc:`OSError`" msgstr ":exc:`OSError`" -msgid ":c:data:`PyExc_OverflowError`" -msgstr ":c:data:`PyExc_OverflowError`" - msgid ":exc:`OverflowError`" msgstr ":exc:`OverflowError`" -msgid ":c:data:`PyExc_PermissionError`" -msgstr ":c:data:`PyExc_PermissionError`" - msgid ":exc:`PermissionError`" msgstr ":exc:`PermissionError`" -msgid ":c:data:`PyExc_ProcessLookupError`" -msgstr ":c:data:`PyExc_ProcessLookupError`" - msgid ":exc:`ProcessLookupError`" msgstr ":exc:`ProcessLookupError`" -msgid ":c:data:`PyExc_PythonFinalizationError`" -msgstr ":c:data:`PyExc_PythonFinalizationError`" - msgid ":exc:`PythonFinalizationError`" msgstr ":exc:`PythonFinalizationError`" -msgid ":c:data:`PyExc_RecursionError`" -msgstr ":c:data:`PyExc_RecursionError`" - msgid ":exc:`RecursionError`" msgstr ":exc:`RecursionError`" -msgid ":c:data:`PyExc_ReferenceError`" -msgstr ":c:data:`PyExc_ReferenceError`" - msgid ":exc:`ReferenceError`" msgstr ":exc:`ReferenceError`" -msgid ":c:data:`PyExc_RuntimeError`" -msgstr ":c:data:`PyExc_RuntimeError`" - msgid ":exc:`RuntimeError`" msgstr ":exc:`RuntimeError`" -msgid ":c:data:`PyExc_StopAsyncIteration`" -msgstr ":c:data:`PyExc_StopAsyncIteration`" - msgid ":exc:`StopAsyncIteration`" msgstr ":exc:`StopAsyncIteration`" -msgid ":c:data:`PyExc_StopIteration`" -msgstr ":c:data:`PyExc_StopIteration`" - msgid ":exc:`StopIteration`" msgstr ":exc:`StopIteration`" -msgid ":c:data:`PyExc_SyntaxError`" -msgstr ":c:data:`PyExc_SyntaxError`" - msgid ":exc:`SyntaxError`" msgstr ":exc:`SyntaxError`" -msgid ":c:data:`PyExc_SystemError`" -msgstr ":c:data:`PyExc_SystemError`" - msgid ":exc:`SystemError`" msgstr ":exc:`SystemError`" -msgid ":c:data:`PyExc_SystemExit`" -msgstr ":c:data:`PyExc_SystemExit`" - msgid ":exc:`SystemExit`" msgstr ":exc:`SystemExit`" -msgid ":c:data:`PyExc_TabError`" -msgstr ":c:data:`PyExc_TabError`" - msgid ":exc:`TabError`" msgstr ":exc:`TabError`" -msgid ":c:data:`PyExc_TimeoutError`" -msgstr ":c:data:`PyExc_TimeoutError`" - msgid ":exc:`TimeoutError`" msgstr ":exc:`TimeoutError`" -msgid ":c:data:`PyExc_TypeError`" -msgstr ":c:data:`PyExc_TypeError`" - msgid ":exc:`TypeError`" msgstr ":exc:`TypeError`" -msgid ":c:data:`PyExc_UnboundLocalError`" -msgstr ":c:data:`PyExc_UnboundLocalError`" - msgid ":exc:`UnboundLocalError`" msgstr ":exc:`UnboundLocalError`" -msgid ":c:data:`PyExc_UnicodeDecodeError`" -msgstr ":c:data:`PyExc_UnicodeDecodeError`" - msgid ":exc:`UnicodeDecodeError`" msgstr ":exc:`UnicodeDecodeError`" -msgid ":c:data:`PyExc_UnicodeEncodeError`" -msgstr ":c:data:`PyExc_UnicodeEncodeError`" - msgid ":exc:`UnicodeEncodeError`" msgstr ":exc:`UnicodeEncodeError`" -msgid ":c:data:`PyExc_UnicodeError`" -msgstr ":c:data:`PyExc_UnicodeError`" - msgid ":exc:`UnicodeError`" msgstr ":exc:`UnicodeError`" -msgid ":c:data:`PyExc_UnicodeTranslateError`" -msgstr ":c:data:`PyExc_UnicodeTranslateError`" - msgid ":exc:`UnicodeTranslateError`" msgstr ":exc:`UnicodeTranslateError`" -msgid ":c:data:`PyExc_ValueError`" -msgstr ":c:data:`PyExc_ValueError`" - msgid ":exc:`ValueError`" msgstr ":exc:`ValueError`" -msgid ":c:data:`PyExc_ZeroDivisionError`" -msgstr ":c:data:`PyExc_ZeroDivisionError`" - msgid ":exc:`ZeroDivisionError`" msgstr ":exc:`ZeroDivisionError`" @@ -1272,339 +1203,117 @@ msgstr "" msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr ":c:data:`PyExc_ModuleNotFoundError`." -msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" -msgstr "" +msgid ":c:data:`PyExc_BaseExceptionGroup`." +msgstr ":c:data:`PyExc_BaseExceptionGroup`." -msgid ":c:data:`!PyExc_EnvironmentError`" -msgstr ":c:data:`!PyExc_EnvironmentError`" - -msgid ":c:data:`!PyExc_IOError`" -msgstr ":c:data:`!PyExc_IOError`" - -msgid ":c:data:`!PyExc_WindowsError`" -msgstr ":c:data:`!PyExc_WindowsError`" +msgid "OSError aliases" +msgstr "" -msgid "[2]_" +msgid "The following are a compatibility aliases to :c:data:`PyExc_OSError`." msgstr "" msgid "These aliases used to be separate exception types." msgstr "" -msgid "Notes:" -msgstr "Uwagi:" +msgid "Notes" +msgstr "Notatki" -msgid "This is a base class for other standard exceptions." +msgid "[win]_" msgstr "" -"To jest podstawowy rodzaj przedmiotu dla innych sztandarowych sytuacji " -"wyjątkowych." -msgid "" -"Only defined on Windows; protect code that uses this by testing that the " -"preprocessor macro ``MS_WINDOWS`` is defined." -msgstr "" -"Zdefiniowane tylko w systemie Windows; Kod chroniony który używa tego przez " -"sprawdzenie czy makrodefinicja preprocesora ``MS_WINDOWS`` jest określona." - -msgid "Standard Warning Categories" -msgstr "" +msgid "Notes:" +msgstr "Uwagi:" msgid "" -"All standard Python warning categories are available as global variables " -"whose names are ``PyExc_`` followed by the Python exception name. These have " -"the type :c:expr:`PyObject*`; they are all class objects. For completeness, " -"here are all the variables:" +":c:var:`!PyExc_WindowsError` is only defined on Windows; protect code that " +"uses this by testing that the preprocessor macro ``MS_WINDOWS`` is defined." msgstr "" -msgid ":c:data:`PyExc_Warning`" -msgstr ":c:data:`PyExc_Warning`" +msgid "Warning types" +msgstr "" msgid ":exc:`Warning`" msgstr ":exc:`Warning`" -msgid "[3]_" -msgstr "" - -msgid ":c:data:`PyExc_BytesWarning`" -msgstr ":c:data:`PyExc_BytesWarning`" - msgid ":exc:`BytesWarning`" msgstr ":exc:`BytesWarning`" -msgid ":c:data:`PyExc_DeprecationWarning`" -msgstr ":c:data:`PyExc_DeprecationWarning`" - msgid ":exc:`DeprecationWarning`" msgstr ":exc:`DeprecationWarning`" -msgid ":c:data:`PyExc_FutureWarning`" -msgstr ":c:data:`PyExc_FutureWarning`" +msgid ":exc:`EncodingWarning`" +msgstr ":exc:`EncodingWarning`" msgid ":exc:`FutureWarning`" msgstr ":exc:`FutureWarning`" -msgid ":c:data:`PyExc_ImportWarning`" -msgstr ":c:data:`PyExc_ImportWarning`" - msgid ":exc:`ImportWarning`" msgstr ":exc:`ImportWarning`" -msgid ":c:data:`PyExc_PendingDeprecationWarning`" -msgstr ":c:data:`PyExc_PendingDeprecationWarning`" - msgid ":exc:`PendingDeprecationWarning`" msgstr ":exc:`PendingDeprecationWarning`" -msgid ":c:data:`PyExc_ResourceWarning`" -msgstr ":c:data:`PyExc_ResourceWarning`" - msgid ":exc:`ResourceWarning`" msgstr ":exc:`ResourceWarning`" -msgid ":c:data:`PyExc_RuntimeWarning`" -msgstr ":c:data:`PyExc_RuntimeWarning`" - msgid ":exc:`RuntimeWarning`" msgstr ":exc:`RuntimeWarning`" -msgid ":c:data:`PyExc_SyntaxWarning`" -msgstr ":c:data:`PyExc_SyntaxWarning`" - msgid ":exc:`SyntaxWarning`" msgstr ":exc:`SyntaxWarning`" -msgid ":c:data:`PyExc_UnicodeWarning`" -msgstr ":c:data:`PyExc_UnicodeWarning`" - msgid ":exc:`UnicodeWarning`" msgstr ":exc:`UnicodeWarning`" -msgid ":c:data:`PyExc_UserWarning`" -msgstr ":c:data:`PyExc_UserWarning`" - msgid ":exc:`UserWarning`" msgstr ":exc:`UserWarning`" msgid ":c:data:`PyExc_ResourceWarning`." msgstr ":c:data:`PyExc_ResourceWarning`." -msgid "This is a base class for other standard warning categories." -msgstr "" - -msgid "strerror (C function)" -msgstr "" - -msgid "module" -msgstr "moduł" - -msgid "signal" -msgstr "" - -msgid "SIGINT (C macro)" -msgstr "" - -msgid "KeyboardInterrupt (built-in exception)" -msgstr "" - -msgid "PyExc_BaseException (C var)" -msgstr "" - -msgid "PyExc_Exception (C var)" -msgstr "" - -msgid "PyExc_ArithmeticError (C var)" -msgstr "" - -msgid "PyExc_AssertionError (C var)" -msgstr "" - -msgid "PyExc_AttributeError (C var)" -msgstr "" - -msgid "PyExc_BlockingIOError (C var)" -msgstr "" - -msgid "PyExc_BrokenPipeError (C var)" -msgstr "" - -msgid "PyExc_BufferError (C var)" -msgstr "" - -msgid "PyExc_ChildProcessError (C var)" -msgstr "" - -msgid "PyExc_ConnectionAbortedError (C var)" -msgstr "" - -msgid "PyExc_ConnectionError (C var)" -msgstr "" - -msgid "PyExc_ConnectionRefusedError (C var)" -msgstr "" - -msgid "PyExc_ConnectionResetError (C var)" -msgstr "" - -msgid "PyExc_EOFError (C var)" -msgstr "" - -msgid "PyExc_FileExistsError (C var)" -msgstr "" - -msgid "PyExc_FileNotFoundError (C var)" -msgstr "" - -msgid "PyExc_FloatingPointError (C var)" -msgstr "" - -msgid "PyExc_GeneratorExit (C var)" -msgstr "" - -msgid "PyExc_ImportError (C var)" -msgstr "" - -msgid "PyExc_IndentationError (C var)" -msgstr "" - -msgid "PyExc_IndexError (C var)" -msgstr "" - -msgid "PyExc_InterruptedError (C var)" -msgstr "" - -msgid "PyExc_IsADirectoryError (C var)" -msgstr "" - -msgid "PyExc_KeyError (C var)" -msgstr "" - -msgid "PyExc_KeyboardInterrupt (C var)" -msgstr "" - -msgid "PyExc_LookupError (C var)" -msgstr "" +msgid ":c:data:`PyExc_EncodingWarning`." +msgstr ":c:data:`PyExc_EncodingWarning`." -msgid "PyExc_MemoryError (C var)" +msgid "Tracebacks" msgstr "" -msgid "PyExc_ModuleNotFoundError (C var)" -msgstr "" - -msgid "PyExc_NameError (C var)" -msgstr "" - -msgid "PyExc_NotADirectoryError (C var)" -msgstr "" - -msgid "PyExc_NotImplementedError (C var)" -msgstr "" - -msgid "PyExc_OSError (C var)" -msgstr "" - -msgid "PyExc_OverflowError (C var)" -msgstr "" - -msgid "PyExc_PermissionError (C var)" -msgstr "" - -msgid "PyExc_ProcessLookupError (C var)" -msgstr "" - -msgid "PyExc_PythonFinalizationError (C var)" -msgstr "" - -msgid "PyExc_RecursionError (C var)" -msgstr "" - -msgid "PyExc_ReferenceError (C var)" -msgstr "" - -msgid "PyExc_RuntimeError (C var)" -msgstr "" - -msgid "PyExc_StopAsyncIteration (C var)" -msgstr "" - -msgid "PyExc_StopIteration (C var)" -msgstr "" - -msgid "PyExc_SyntaxError (C var)" -msgstr "" - -msgid "PyExc_SystemError (C var)" -msgstr "" - -msgid "PyExc_SystemExit (C var)" -msgstr "" - -msgid "PyExc_TabError (C var)" -msgstr "" - -msgid "PyExc_TimeoutError (C var)" -msgstr "" - -msgid "PyExc_TypeError (C var)" -msgstr "" - -msgid "PyExc_UnboundLocalError (C var)" -msgstr "" - -msgid "PyExc_UnicodeDecodeError (C var)" -msgstr "" - -msgid "PyExc_UnicodeEncodeError (C var)" -msgstr "" - -msgid "PyExc_UnicodeError (C var)" -msgstr "" - -msgid "PyExc_UnicodeTranslateError (C var)" -msgstr "" - -msgid "PyExc_ValueError (C var)" -msgstr "" - -msgid "PyExc_ZeroDivisionError (C var)" -msgstr "" - -msgid "PyExc_EnvironmentError (C var)" -msgstr "" - -msgid "PyExc_IOError (C var)" -msgstr "" - -msgid "PyExc_WindowsError (C var)" -msgstr "" - -msgid "PyExc_Warning (C var)" +msgid "" +"Type object for traceback objects. This is available as :class:`types." +"TracebackType` in the Python layer." msgstr "" -msgid "PyExc_BytesWarning (C var)" +msgid "" +"Return true if *op* is a traceback object, false otherwise. This function " +"does not account for subtypes." msgstr "" -msgid "PyExc_DeprecationWarning (C var)" +msgid "" +"Replace the :attr:`~BaseException.__traceback__` attribute on the current " +"exception with a new traceback prepending *f* to the existing chain." msgstr "" -msgid "PyExc_FutureWarning (C var)" +msgid "Calling this function without an exception set is undefined behavior." msgstr "" -msgid "PyExc_ImportWarning (C var)" +msgid "" +"This function returns ``0`` on success, and returns ``-1`` with an exception " +"set on failure." msgstr "" -msgid "PyExc_PendingDeprecationWarning (C var)" +msgid "Write the traceback *tb* into the file *f*." msgstr "" -msgid "PyExc_ResourceWarning (C var)" +msgid "strerror (C function)" msgstr "" -msgid "PyExc_RuntimeWarning (C var)" -msgstr "" +msgid "module" +msgstr "moduł" -msgid "PyExc_SyntaxWarning (C var)" +msgid "signal" msgstr "" -msgid "PyExc_UnicodeWarning (C var)" +msgid "SIGINT (C macro)" msgstr "" -msgid "PyExc_UserWarning (C var)" +msgid "KeyboardInterrupt (built-in exception)" msgstr "" diff --git a/c-api/file.po b/c-api/file.po index d3184b352c..7a053d954a 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Michał Frontczak, 2021 -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -116,11 +115,38 @@ msgid "" "arguments." msgstr "" +msgid "" +"Open *path* with the mode ``'rb'``. *path* must be a Python :class:`str` " +"object. The behavior of this function may be overridden by :c:func:" +"`PyFile_SetOpenCodeHook` to allow for some preprocessing of the text." +msgstr "" + +msgid "This is analogous to :func:`io.open_code` in Python." +msgstr "" + +msgid "" +"On success, this function returns a :term:`strong reference` to a Python " +"file object. On failure, this function returns ``NULL`` with an exception " +"set." +msgstr "" + +msgid "" +"Similar to :c:func:`PyFile_OpenCodeObject`, but *path* is a UTF-8 encoded :c:" +"expr:`const char*`." +msgstr "" + msgid "" "Write object *obj* to file object *p*. The only supported flag for *flags* " "is :c:macro:`Py_PRINT_RAW`; if given, the :func:`str` of the object is " -"written instead of the :func:`repr`. Return ``0`` on success or ``-1`` on " -"failure; the appropriate exception will be set." +"written instead of the :func:`repr`." +msgstr "" + +msgid "If *obj* is ``NULL``, write the string ``\"\"``." +msgstr "" + +msgid "" +"Return ``0`` on success or ``-1`` on failure; the appropriate exception will " +"be set." msgstr "" msgid "" @@ -128,6 +154,26 @@ msgid "" "failure; the appropriate exception will be set." msgstr "" +msgid "Deprecated API" +msgstr "" + +msgid "" +"These are :term:`soft deprecated` APIs that were included in Python's C API " +"by mistake. They are documented solely for completeness; use other " +"``PyFile*`` APIs instead." +msgstr "" + +msgid "" +"Use :c:func:`PyFile_FromFd` with defaults (``fd, NULL, \"w\", -1, NULL, " +"NULL, NULL, 0``) instead." +msgstr "" + +msgid "" +"Type of file-like objects used internally at Python startup when :py:mod:" +"`io` is not yet available. Use Python :py:func:`open` or :c:func:" +"`PyFile_FromFd` to create file objects instead." +msgstr "" + msgid "object" msgstr "obiekt" diff --git a/c-api/float.po b/c-api/float.po index 408305ad57..c63ff11e42 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -86,6 +86,97 @@ msgid "" "Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`." msgstr "" +msgid "" +"This macro expands to a constant expression of type :c:expr:`double`, that " +"represents the positive infinity." +msgstr "" + +msgid "" +"On most platforms, this is equivalent to the :c:macro:`!INFINITY` macro from " +"the C11 standard ```` header." +msgstr "" + +msgid "" +"This macro expands to a constant expression of type :c:expr:`double`, that " +"represents a quiet not-a-number (qNaN) value." +msgstr "" + +msgid "" +"On most platforms, this is equivalent to the :c:macro:`!NAN` macro from the " +"C11 standard ```` header." +msgstr "" + +msgid "Equivalent to :c:macro:`!INFINITY`." +msgstr "" + +msgid "The macro is :term:`soft deprecated`." +msgstr "" + +msgid "" +"The definition (accurate for a :c:expr:`double` type) of the :data:`math.e` " +"constant." +msgstr "" + +msgid "High precision (long double) definition of :data:`~math.e` constant." +msgstr "" + +msgid "" +"The definition (accurate for a :c:expr:`double` type) of the :data:`math.pi` " +"constant." +msgstr "" + +msgid "High precision (long double) definition of :data:`~math.pi` constant." +msgstr "" + +msgid "" +"The definition (accurate for a :c:expr:`double` type) of the :data:`math." +"tau` constant." +msgstr "" + +msgid "Return :data:`math.nan` from a function." +msgstr "" + +msgid "" +"On most platforms, this is equivalent to ``return PyFloat_FromDouble(NAN)``." +msgstr "" + +msgid "" +"Return :data:`math.inf` or :data:`-math.inf ` from a function, " +"depending on the sign of *sign*." +msgstr "" + +msgid "On most platforms, this is equivalent to the following::" +msgstr "" + +msgid "return PyFloat_FromDouble(copysign(INFINITY, sign));" +msgstr "" + +msgid "" +"Return ``1`` if the given floating-point number *X* is finite, that is, it " +"is normal, subnormal or zero, but not infinite or NaN. Return ``0`` " +"otherwise." +msgstr "" + +msgid "" +"The macro is :term:`soft deprecated`. Use :c:macro:`!isfinite` instead." +msgstr "" + +msgid "" +"Return ``1`` if the given floating-point number *X* is positive or negative " +"infinity. Return ``0`` otherwise." +msgstr "" + +msgid "The macro is :term:`soft deprecated`. Use :c:macro:`!isinf` instead." +msgstr "" + +msgid "" +"Return ``1`` if the given floating-point number *X* is a not-a-number (NaN) " +"value. Return ``0`` otherwise." +msgstr "" + +msgid "The macro is :term:`soft deprecated`. Use :c:macro:`!isnan` instead." +msgstr "" + msgid "Pack and Unpack functions" msgstr "" @@ -109,8 +200,8 @@ msgid "" msgstr "" msgid "" -"Note that NaNs type may not be preserved on IEEE platforms (silent NaN " -"become quiet), for example on x86 systems in 32-bit mode." +"Note that NaN type may not be preserved on IEEE platforms (signaling NaNs " +"become quiet NaNs), for example on x86 systems in 32-bit mode." msgstr "" msgid "" @@ -126,8 +217,8 @@ msgstr "" msgid "" "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:" "`int` argument, non-zero if you want the bytes string in little-endian " -"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you " -"want big-endian format (exponent first, at *p*). The :c:macro:" +"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` and ``p+7``), zero if " +"you want big-endian format (exponent first, at *p*). The :c:macro:" "`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal " "to ``1`` on big endian processor, or ``0`` on little endian processor." msgstr "" diff --git a/c-api/function.po b/c-api/function.po index 2d41e939d9..b3765b0aac 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2023 -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -105,6 +103,21 @@ msgid "" "unaltered (default) vectorcall function!" msgstr "" +msgid "" +"Return the keyword-only argument default values of the function object *op*. " +"This can be a dictionary of arguments or ``NULL``." +msgstr "" + +msgid "" +"Set the keyword-only argument default values of the function object *op*. " +"*defaults* must be a dictionary of keyword-only arguments or ``Py_None``." +msgstr "" + +msgid "" +"This function returns ``0`` on success, and returns ``-1`` with an exception " +"set on failure." +msgstr "" + msgid "" "Return the closure associated with the function object *op*. This can be " "``NULL`` or a tuple of cell objects." @@ -125,6 +138,12 @@ msgid "" "dictionary or ``Py_None``." msgstr "" +msgid "" +"These functions are similar to their ``PyFunction_Get*`` counterparts, but " +"do not do type checking. Passing anything other than an instance of :c:data:" +"`PyFunction_Type` is undefined behavior." +msgstr "" + msgid "" "Register *callback* as a function watcher for the current interpreter. " "Return an ID which may be passed to :c:func:`PyFunction_ClearWatcher`. In " @@ -143,19 +162,19 @@ msgid "Enumeration of possible function watcher events:" msgstr "" msgid "``PyFunction_EVENT_CREATE``" -msgstr "" +msgstr "``PyFunction_EVENT_CREATE``" msgid "``PyFunction_EVENT_DESTROY``" -msgstr "" +msgstr "``PyFunction_EVENT_DESTROY``" msgid "``PyFunction_EVENT_MODIFY_CODE``" -msgstr "" +msgstr "``PyFunction_EVENT_MODIFY_CODE``" msgid "``PyFunction_EVENT_MODIFY_DEFAULTS``" -msgstr "" +msgstr "``PyFunction_EVENT_MODIFY_DEFAULTS``" msgid "``PyFunction_EVENT_MODIFY_KWDEFAULTS``" -msgstr "" +msgstr "``PyFunction_EVENT_MODIFY_KWDEFAULTS``" msgid "Type of a function watcher callback function." msgstr "" @@ -174,7 +193,7 @@ msgstr "" msgid "" "If *event* is ``PyFunction_EVENT_CREATE``, then the callback is invoked " -"after `func` has been fully initialized. Otherwise, the callback is invoked " +"after *func* has been fully initialized. Otherwise, the callback is invoked " "before the modification to *func* takes place, so the prior state of *func* " "can be inspected. The runtime is permitted to optimize away the creation of " "function objects when possible. In such cases no event will be emitted. " diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po index 42e3b504eb..194f4764de 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -100,11 +100,42 @@ msgid "" "macro:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" +msgid "" +"Do not call this directly to allocate memory for an object; call the type's :" +"c:member:`~PyTypeObject.tp_alloc` slot instead." +msgstr "" + +msgid "" +"When populating a type's :c:member:`~PyTypeObject.tp_alloc` slot, :c:func:" +"`PyType_GenericAlloc` is preferred over a custom function that simply calls " +"this macro." +msgstr "" + +msgid "" +"Memory allocated by this macro must be freed with :c:func:`PyObject_GC_Del` " +"(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot)." +msgstr "" + +msgid ":c:func:`PyObject_GC_Del`" +msgstr "" + +msgid ":c:macro:`PyObject_New`" +msgstr "" + +msgid ":c:func:`PyType_GenericAlloc`" +msgstr "" + +msgid ":c:member:`~PyTypeObject.tp_alloc`" +msgstr ":c:member:`~PyTypeObject.tp_alloc`" + msgid "" "Analogous to :c:macro:`PyObject_NewVar` but for container objects with the :" "c:macro:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" +msgid ":c:macro:`PyObject_NewVar`" +msgstr "" + msgid "" "Analogous to :c:macro:`PyObject_GC_New` but allocates *extra_size* bytes at " "the end of the object (at offset :c:member:`~PyTypeObject.tp_basicsize`). " @@ -117,6 +148,12 @@ msgid "" "managed by Python." msgstr "" +msgid "" +"Memory allocated by this function must be freed with :c:func:" +"`PyObject_GC_Del` (usually called via the object's :c:member:`~PyTypeObject." +"tp_free` slot)." +msgstr "" + msgid "" "The function is marked as unstable because the final mechanism for reserving " "extra data after an instance is not yet decided. For allocating a variable " @@ -174,6 +211,29 @@ msgid "" "c:macro:`PyObject_GC_NewVar`." msgstr "" +msgid "" +"Do not call this directly to free an object's memory; call the type's :c:" +"member:`~PyTypeObject.tp_free` slot instead." +msgstr "" + +msgid "" +"Do not use this for memory allocated by :c:macro:`PyObject_New`, :c:macro:" +"`PyObject_NewVar`, or related allocation functions; use :c:func:" +"`PyObject_Free` instead." +msgstr "" + +msgid ":c:func:`PyObject_Free` is the non-GC equivalent of this function." +msgstr "" + +msgid ":c:macro:`PyObject_GC_New`" +msgstr "" + +msgid ":c:macro:`PyObject_GC_NewVar`" +msgstr "" + +msgid ":c:member:`~PyTypeObject.tp_free`" +msgstr ":c:member:`~PyTypeObject.tp_free`" + msgid "" "Remove the object *op* from the set of container objects tracked by the " "collector. Note that :c:func:`PyObject_GC_Track` can be called again on " @@ -216,6 +276,12 @@ msgid "" "returned immediately." msgstr "" +msgid "" +"The traversal function must not have any side effects. Implementations may " +"not modify the reference counts of any Python objects nor create or destroy " +"any Python objects." +msgstr "" + msgid "" "To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:" "func:`Py_VISIT` macro is provided. In order to use this macro, the :c:" @@ -224,9 +290,10 @@ msgid "" msgstr "" msgid "" -"If *o* is not ``NULL``, call the *visit* callback, with arguments *o* and " -"*arg*. If *visit* returns a non-zero value, then return it. Using this " -"macro, :c:member:`~PyTypeObject.tp_traverse` handlers look like::" +"If the :c:expr:`PyObject *` *o* is not ``NULL``, call the *visit* callback, " +"with arguments *o* and *arg*. If *visit* returns a non-zero value, then " +"return it. Using this macro, :c:member:`~PyTypeObject.tp_traverse` handlers " +"look like::" msgstr "" msgid "" diff --git a/c-api/import.po b/c-api/import.po index 0b41525c26..60a65be0eb 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -327,6 +325,12 @@ msgid "" "initialization." msgstr "" +msgid "" +"The table of built-in modules used by Python initialization. Do not use this " +"directly; use :c:func:`PyImport_AppendInittab` and :c:func:" +"`PyImport_ExtendInittab` instead." +msgstr "" + msgid "Import the module *mod_name* and get its attribute *attr_name*." msgstr "" diff --git a/c-api/index.po b/c-api/index.po index 1eec21d8c0..20ded2c1d9 100644 --- a/c-api/index.po +++ b/c-api/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,8 +23,8 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Python/C API Reference Manual" -msgstr "Python/C API Podręcznik" +msgid "Python/C API reference manual" +msgstr "" msgid "" "This manual documents the API used by C and C++ programmers who want to " diff --git a/c-api/init.po b/c-api/init.po index 2f4868b97b..d24364df2a 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-02-17 14:41+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -528,7 +527,7 @@ msgstr "" msgid "" "Note that Python will do a best effort at freeing all memory allocated by " "the Python interpreter. Therefore, any C-Extension should make sure to " -"correctly clean up all of the preveiously allocated PyObjects before using " +"correctly clean up all of the previously allocated PyObjects before using " "them in subsequent calls to :c:func:`Py_Initialize`. Otherwise it could " "introduce vulnerabilities and incorrect behavior." msgstr "" @@ -602,18 +601,8 @@ msgid "" msgstr "" msgid "" -"The return value will be ``0`` if the interpreter exits normally (i.e., " -"without an exception), ``1`` if the interpreter exits due to an exception, " -"or ``2`` if the argument list does not represent a valid Python command line." -msgstr "" - -msgid "" -"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " -"function will not return ``1``, but exit the process, as long as " -"``Py_InspectFlag`` is not set. If ``Py_InspectFlag`` is set, execution will " -"drop into the interactive Python prompt, at which point a second otherwise " -"unhandled :exc:`SystemExit` will still exit the process, while any other " -"means of exiting will set the return value as described above." +"The return value is ``2`` if the argument list does not represent a valid " +"Python command line, and otherwise the same as :c:func:`Py_RunMain`." msgstr "" msgid "" @@ -658,9 +647,8 @@ msgstr "" msgid "" "If :c:member:`PyConfig.inspect` is not set (the default), the return value " "will be ``0`` if the interpreter exits normally (that is, without raising an " -"exception), or ``1`` if the interpreter exits due to an exception. If an " -"otherwise unhandled :exc:`SystemExit` is raised, the function will " -"immediately exit the process instead of returning ``1``." +"exception), the exit status of an unhandled :exc:`SystemExit`, or ``1`` for " +"any other unhandled exception." msgstr "" msgid "" @@ -669,16 +657,12 @@ msgid "" "instead resume in an interactive Python prompt (REPL) using the ``__main__`` " "module's global namespace. If the interpreter exited with an exception, it " "is immediately raised in the REPL session. The function return value is then " -"determined by the way the *REPL session* terminates: returning ``0`` if the " -"session terminates without raising an unhandled exception, exiting " -"immediately for an unhandled :exc:`SystemExit`, and returning ``1`` for any " -"other unhandled exception." +"determined by the way the *REPL session* terminates: ``0``, ``1``, or the " +"status of a :exc:`SystemExit`, as specified above." msgstr "" msgid "" -"This function always finalizes the Python interpreter regardless of whether " -"it returns a value or immediately exits the process due to an unhandled :exc:" -"`SystemExit` exception." +"This function always finalizes the Python interpreter before it returns." msgstr "" msgid "" @@ -1169,7 +1153,43 @@ msgid "" "interpreter (created automatically by :c:func:`Py_Initialize`). Python " "supports the creation of additional interpreters (using :c:func:" "`Py_NewInterpreter`), but mixing multiple interpreters and the " -"``PyGILState_*`` API is unsupported." +"``PyGILState_*`` API is unsupported. This is because :c:func:" +"`PyGILState_Ensure` and similar functions default to :term:`attaching " +"` a :term:`thread state` for the main interpreter, " +"meaning that the thread can't safely interact with the calling " +"subinterpreter." +msgstr "" + +msgid "Supporting subinterpreters in non-Python threads" +msgstr "" + +msgid "" +"If you would like to support subinterpreters with non-Python created " +"threads, you must use the ``PyThreadState_*`` API instead of the traditional " +"``PyGILState_*`` API." +msgstr "" + +msgid "" +"In particular, you must store the interpreter state from the calling " +"function and pass it to :c:func:`PyThreadState_New`, which will ensure that " +"the :term:`thread state` is targeting the correct interpreter::" +msgstr "" + +msgid "" +"/* The return value of PyInterpreterState_Get() from the\n" +" function that created this thread. */\n" +"PyInterpreterState *interp = ThreadData->interp;\n" +"PyThreadState *tstate = PyThreadState_New(interp);\n" +"PyThreadState_Swap(tstate);\n" +"\n" +"/* GIL of the subinterpreter is now held.\n" +" Perform Python actions here. */\n" +"result = CallSomeFunction();\n" +"/* evaluate result or handle exception */\n" +"\n" +"/* Destroy the thread state. No Python API allowed beyond this point. */\n" +"PyThreadState_Clear(tstate);\n" +"PyThreadState_DeleteCurrent();" msgstr "" msgid "Cautions about fork()" @@ -1266,6 +1286,11 @@ msgid "" "which interpreter they belong." msgstr "" +msgid "" +":pep:`684` introduced the possibility of a :ref:`per-interpreter GIL `. See :c:func:`Py_NewInterpreterFromConfig`." +msgstr "" + msgid "" "This data structure represents the state of a single thread. The only " "public data member is:" @@ -1347,11 +1372,30 @@ msgid "" "will simply return ``NULL`` indicating that there was no prior thread state." msgstr "" +msgid ":c:func:`PyEval_ReleaseThread`" +msgstr "" + +msgid "" +"Similar to :c:func:`PyGILState_Ensure`, this function will hang the thread " +"if the runtime is finalizing." +msgstr "" + msgid "" "The following functions use thread-local storage, and are not compatible " "with sub-interpreters:" msgstr "" +msgid "" +"The type of the value returned by :c:func:`PyGILState_Ensure` and passed to :" +"c:func:`PyGILState_Release`." +msgstr "" + +msgid "The GIL was already held when :c:func:`PyGILState_Ensure` was called." +msgstr "" + +msgid "The GIL was not held when :c:func:`PyGILState_Ensure` was called." +msgstr "" + msgid "" "Ensure that the current thread is ready to call the Python C API regardless " "of the current state of Python, or of the :term:`attached thread state`. " @@ -1379,6 +1423,13 @@ msgid "" "fatal error." msgstr "" +msgid "" +"Calling this function when the runtime is finalizing is unsafe. Doing so " +"will either hang the thread until the program ends, or fully crash the " +"interpreter in rare cases. Refer to :ref:`cautions-regarding-runtime-" +"finalization` for more details." +msgstr "" + msgid "" "Release any resources previously acquired. After this call, Python's state " "will be the same as it was prior to the corresponding :c:func:" @@ -1398,14 +1449,30 @@ msgid "" "been made on the main thread. This is mainly a helper/diagnostic function." msgstr "" +msgid "" +"This function may return non-``NULL`` even when the :term:`thread state` is " +"detached. Prefer :c:func:`PyThreadState_Get` or :c:func:" +"`PyThreadState_GetUnchecked` for most cases." +msgstr "" + +msgid ":c:func:`PyThreadState_Get`" +msgstr "" + msgid "" "Return ``1`` if the current thread is holding the :term:`GIL` and ``0`` " "otherwise. This function can be called from any thread at any time. Only if " -"it has had its Python thread state initialized and currently is holding the :" -"term:`GIL` will it return ``1``. This is mainly a helper/diagnostic " -"function. It can be useful for example in callback contexts or memory " -"allocation functions when knowing that the :term:`GIL` is locked can allow " -"the caller to perform sensitive actions or otherwise behave differently." +"it has had its :term:`thread state ` initialized via :" +"c:func:`PyGILState_Ensure` will it return ``1``. This is mainly a helper/" +"diagnostic function. It can be useful for example in callback contexts or " +"memory allocation functions when knowing that the :term:`GIL` is locked can " +"allow the caller to perform sensitive actions or otherwise behave " +"differently." +msgstr "" + +msgid "" +"If the current Python process has ever created a subinterpreter, this " +"function will *always* return ``1``. Prefer :c:func:" +"`PyThreadState_GetUnchecked` for most cases." msgstr "" msgid "" @@ -1463,7 +1530,7 @@ msgstr "" msgid "" "Reset all information in an interpreter state object. There must be an :" -"term:`attached thread state` for the the interpreter." +"term:`attached thread state` for the interpreter." msgstr "" msgid "" @@ -1489,11 +1556,11 @@ msgid "" msgstr "" msgid "" -"This function now calls the :c:member:`PyThreadState.on_delete` callback. " +"This function now calls the :c:member:`!PyThreadState.on_delete` callback. " "Previously, that happened in :c:func:`PyThreadState_Delete`." msgstr "" -msgid "The :c:member:`PyThreadState.on_delete` callback was removed." +msgid "The :c:member:`!PyThreadState.on_delete` callback was removed." msgstr "" msgid "" @@ -1551,11 +1618,62 @@ msgid "" "See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` functions." msgstr "" +msgid "" +"Set the stack protection start address and stack protection size of a Python " +"thread state." +msgstr "" + +msgid "" +"On success, return ``0``. On failure, set an exception and return ``-1``." +msgstr "" + +msgid "" +"CPython implements :ref:`recursion control ` for C code by " +"raising :py:exc:`RecursionError` when it notices that the machine execution " +"stack is close to overflow. See for example the :c:func:" +"`Py_EnterRecursiveCall` function. For this, it needs to know the location of " +"the current thread's stack, which it normally gets from the operating " +"system. When the stack is changed, for example using context switching " +"techniques like the Boost library's ``boost::context``, you must call :c:" +"func:`~PyUnstable_ThreadState_SetStackProtection` to inform CPython of the " +"change." +msgstr "" + +msgid "" +"Call :c:func:`~PyUnstable_ThreadState_SetStackProtection` either before or " +"after changing the stack. Do not call any other Python C API between the " +"call and the stack change." +msgstr "" + +msgid "" +"See :c:func:`PyUnstable_ThreadState_ResetStackProtection` for undoing this " +"operation." +msgstr "" + +msgid "" +"This function was added in a bugfix release, and extensions that use it will " +"be incompatible with Python 3.14.0. Most packaging tools for Python are not " +"able to handle this incompatibility automatically, and will need explicit " +"configuration. When using PyPA standards (wheels and source distributions), " +"specify ``Requires-Python: != 3.14.0.*`` in `core metadata `_." +msgstr "" + +msgid "" +"Reset the stack protection start address and stack protection size of a " +"Python thread state to the operating system defaults." +msgstr "" + +msgid "" +"See :c:func:`PyUnstable_ThreadState_SetStackProtection` for an explanation." +msgstr "" + msgid "Get the current interpreter." msgstr "" msgid "" -"Issue a fatal error if there no :term:`attached thread state`. It cannot " +"Issue a fatal error if there is no :term:`attached thread state`. It cannot " "return NULL." msgstr "" @@ -1578,6 +1696,11 @@ msgid "" "extensions should use to store interpreter-specific state information." msgstr "" +msgid "" +"The returned dictionary is borrowed from the interpreter and is valid until " +"interpreter shutdown." +msgstr "" + msgid "Type of a frame evaluation function." msgstr "" @@ -1898,7 +2021,7 @@ msgid "" "interpreters or blocking any others. Thus a single Python process can truly " "take advantage of multiple CPU cores when running Python code. The " "isolation also encourages a different approach to concurrency than that of " -"just using threads. (See :pep:`554`.)" +"just using threads. (See :pep:`554` and :pep:`684`.)" msgstr "" msgid "" @@ -2024,6 +2147,29 @@ msgid "" "scheduled calls." msgstr "" +msgid "" +"This function now always schedules *func* to be run in the main interpreter." +msgstr "" + +msgid "" +"Execute all pending calls. This is usually executed automatically by the " +"interpreter." +msgstr "" + +msgid "" +"This function returns ``0`` on success, and returns ``-1`` with an exception " +"set on failure." +msgstr "" + +msgid "" +"If this is not called in the main thread of the main interpreter, this " +"function does nothing and returns ``0``. The caller must hold an :term:" +"`attached thread state`." +msgstr "" + +msgid "This function only runs pending calls in the main interpreter." +msgstr "" + msgid "Profiling and Tracing" msgstr "" @@ -2111,7 +2257,7 @@ msgid "" "exception becomes set within the frame being executed. The effect of this " "is that as exception propagation causes the Python stack to unwind, the " "callback is called upon return to each frame as the exception propagates. " -"Only trace functions receives these events; they are not needed by the " +"Only trace functions receive these events; they are not needed by the " "profiler." msgstr "" @@ -2227,7 +2373,7 @@ msgid "" msgstr "" msgid "" -"Not that tracer functions **must not** create Python objects inside or " +"Note that tracer functions **must not** create Python objects inside or " "otherwise the call will be re-entrant. The tracer also **must not** clear " "any existing exception or set an exception. A :term:`thread state` will be " "active every time the tracer function is called." @@ -2458,6 +2604,15 @@ msgid "" "issue a fatal error." msgstr "" +msgid "Returns non-zero if the mutex *m* is currently locked, zero otherwise." +msgstr "" + +msgid "" +"This function is intended for use in assertions and debugging only and " +"should not be used to make concurrency control decisions, as the lock state " +"may change immediately after the check." +msgstr "" + msgid "Python Critical Section API" msgstr "" @@ -2468,13 +2623,30 @@ msgid "" "no-ops in versions of Python with the global interpreter lock." msgstr "" +msgid "" +"Critical sections are intended to be used for custom types implemented in C-" +"API extensions. They should generally not be used with built-in types like :" +"class:`list` and :class:`dict` because their public C-APIs already use " +"critical sections internally, with the notable exception of :c:func:" +"`PyDict_Next`, which requires critical section to be acquired externally." +msgstr "" + msgid "" "Critical sections avoid deadlocks by implicitly suspending active critical " -"sections and releasing the locks during calls to :c:func:" -"`PyEval_SaveThread`. When :c:func:`PyEval_RestoreThread` is called, the most " -"recent critical section is resumed, and its locks reacquired. This means " -"the critical section API provides weaker guarantees than traditional locks " -"-- they are useful because their behavior is similar to the :term:`GIL`." +"sections, hence, they do not provide exclusive access such as provided by " +"traditional locks like :c:type:`PyMutex`. When a critical section is " +"started, the per-object lock for the object is acquired. If the code " +"executed inside the critical section calls C-API functions then it can " +"suspend the critical section thereby releasing the per-object lock, so other " +"threads can acquire the per-object lock for the same object." +msgstr "" + +msgid "" +"Variants that accept :c:type:`PyMutex` pointers rather than Python objects " +"are also available. Use these variants to start a critical section in a " +"situation where there is no :c:type:`PyObject` -- for example, when working " +"with a C type that does not extend or wrap :c:type:`PyObject` but still " +"needs to call into the C API in a manner that might lead to deadlocks." msgstr "" msgid "" @@ -2532,6 +2704,23 @@ msgstr "" msgid "In the default build, this macro expands to ``{``." msgstr "" +msgid "Locks the mutex *m* and begins a critical section." +msgstr "" + +msgid "" +"{\n" +" PyCriticalSection _py_cs;\n" +" PyCriticalSection_BeginMutex(&_py_cs, m)" +msgstr "" + +msgid "" +"Note that unlike :c:macro:`Py_BEGIN_CRITICAL_SECTION`, there is no cast for " +"the argument of the macro - it must be a :c:type:`PyMutex` pointer." +msgstr "" + +msgid "On the default build, this macro expands to ``{``." +msgstr "" + msgid "Ends the critical section and releases the per-object lock." msgstr "" @@ -2555,6 +2744,20 @@ msgid "" " PyCriticalSection2_Begin(&_py_cs2, (PyObject*)(a), (PyObject*)(b))" msgstr "" +msgid "Locks the mutexes *m1* and *m2* and begins a critical section." +msgstr "" + +msgid "" +"{\n" +" PyCriticalSection2 _py_cs2;\n" +" PyCriticalSection2_BeginMutex(&_py_cs2, m1, m2)" +msgstr "" + +msgid "" +"Note that unlike :c:macro:`Py_BEGIN_CRITICAL_SECTION2`, there is no cast for " +"the arguments of the macro - they must be :c:type:`PyMutex` pointers." +msgstr "" + msgid "Ends the critical section and releases the per-object locks." msgstr "" @@ -2563,6 +2766,207 @@ msgid "" "}" msgstr "" +msgid "Legacy Locking APIs" +msgstr "" + +msgid "" +"These APIs are obsolete since Python 3.13 with the introduction of :c:type:" +"`PyMutex`." +msgstr "" + +msgid "These APIs are now a simple wrapper around ``PyMutex``." +msgstr "" + +msgid "A pointer to a mutual exclusion lock." +msgstr "" + +msgid "The result of acquiring a lock with a timeout." +msgstr "" + +msgid "Failed to acquire the lock." +msgstr "" + +msgid "The lock was successfully acquired." +msgstr "" + +msgid "The lock was interrupted by a signal." +msgstr "" + +msgid "Allocate a new lock." +msgstr "" + +msgid "" +"On success, this function returns a lock; on failure, this function returns " +"``0`` without an exception set." +msgstr "" + +msgid "The caller does not need to hold an :term:`attached thread state`." +msgstr "" + +msgid "" +"This function now always uses :c:type:`PyMutex`. In prior versions, this " +"would use a lock provided by the operating system." +msgstr "" + +msgid "" +"Destroy *lock*. The lock should not be held by any thread when calling this." +msgstr "" + +msgid "Acquire *lock* with a timeout." +msgstr "" + +msgid "" +"This will wait for *microseconds* microseconds to acquire the lock. If the " +"timeout expires, this function returns :c:enumerator:`PY_LOCK_FAILURE`. If " +"*microseconds* is ``-1``, this will wait indefinitely until the lock has " +"been released." +msgstr "" + +msgid "" +"If *intr_flag* is ``1``, acquiring the lock may be interrupted by a signal, " +"in which case this function returns :c:enumerator:`PY_LOCK_INTR`. Upon " +"interruption, it's generally expected that the caller makes a call to :c:" +"func:`Py_MakePendingCalls` to propagate an exception to Python code." +msgstr "" + +msgid "" +"If the lock is successfully acquired, this function returns :c:enumerator:" +"`PY_LOCK_ACQUIRED`." +msgstr "" + +msgid "Acquire *lock*." +msgstr "" + +msgid "" +"If *waitflag* is ``1`` and another thread currently holds the lock, this " +"function will wait until the lock can be acquired and will always return " +"``1``." +msgstr "" + +msgid "" +"If *waitflag* is ``0`` and another thread holds the lock, this function will " +"not wait and instead return ``0``. If the lock is not held by any other " +"thread, then this function will acquire it and return ``1``." +msgstr "" + +msgid "" +"Unlike :c:func:`PyThread_acquire_lock_timed`, acquiring the lock cannot be " +"interrupted by a signal." +msgstr "" + +msgid "" +"Release *lock*. If *lock* is not held, then this function issues a fatal " +"error." +msgstr "" + +msgid "Operating System Thread APIs" +msgstr "" + +msgid "Sentinel value for an invalid thread ID." +msgstr "" + +msgid "This is currently equivalent to ``(unsigned long)-1``." +msgstr "" + +msgid "" +"Start function *func* in a new thread with argument *arg*. The resulting " +"thread is not intended to be joined." +msgstr "" + +msgid "*func* must not be ``NULL``, but *arg* may be ``NULL``." +msgstr "" + +msgid "" +"On success, this function returns the identifier of the new thread; on " +"failure, this returns :c:macro:`PYTHREAD_INVALID_THREAD_ID`." +msgstr "" + +msgid "Return the identifier of the current thread, which will never be zero." +msgstr "" + +msgid "" +"This function cannot fail, and the caller does not need to hold an :term:" +"`attached thread state`." +msgstr "" + +msgid ":py:func:`threading.get_ident`" +msgstr "" + +msgid "" +"Get general information about the current thread in the form of a :ref:" +"`struct sequence ` object. This information is " +"accessible as :py:attr:`sys.thread_info` in Python." +msgstr "" + +msgid "" +"On success, this returns a new :term:`strong reference` to the thread " +"information; on failure, this returns ``NULL`` with an exception set." +msgstr "" + +msgid "The caller must hold an :term:`attached thread state`." +msgstr "" + +msgid "This macro is defined when the system supports native thread IDs." +msgstr "" + +msgid "" +"Get the native identifier of the current thread as it was assigned by the " +"operating system's kernel, which will never be less than zero." +msgstr "" + +msgid "" +"This function is only available when :c:macro:`PY_HAVE_THREAD_NATIVE_ID` is " +"defined." +msgstr "" + +msgid ":py:func:`threading.get_native_id`" +msgstr "" + +msgid "" +"Terminate the current thread. This function is generally considered unsafe " +"and should be avoided. It is kept solely for backwards compatibility." +msgstr "" + +msgid "" +"This function is only safe to call if all functions in the full call stack " +"are written to safely allow it." +msgstr "" + +msgid "" +"If the current system uses POSIX threads (also known as \"pthreads\"), this " +"calls :manpage:`pthread_exit(3)`, which attempts to unwind the stack and " +"call C++ destructors on some libc implementations. However, if a " +"``noexcept`` function is reached, it may terminate the process. Other " +"systems, such as macOS, do unwinding." +msgstr "" + +msgid "" +"On Windows, this function calls ``_endthreadex()``, which kills the thread " +"without calling C++ destructors." +msgstr "" + +msgid "In any case, there is a risk of corruption on the thread's stack." +msgstr "" + +msgid "" +"Initialize ``PyThread*`` APIs. Python executes this function automatically, " +"so there's little need to call it from an extension module." +msgstr "" + +msgid "Set the stack size of the current thread to *size* bytes." +msgstr "" + +msgid "" +"This function returns ``0`` on success, ``-1`` if *size* is invalid, or " +"``-2`` if the system does not support changing the stack size. This function " +"does not set exceptions." +msgstr "" + +msgid "" +"Return the stack size of the current thread in bytes, or ``0`` if the " +"system's default stack size is in use." +msgstr "" + msgid "PyEval_InitThreads()" msgstr "" diff --git a/c-api/init_config.po b/c-api/init_config.po index 306f0b19aa..48b5d493dd 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stefan Ocetkiewicz , 2025 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -126,7 +123,7 @@ msgstr "" msgid "Set *\\*err_msg* to ``NULL`` and return ``0`` otherwise." msgstr "" -msgid "An error message is an UTF-8 encoded string." +msgid "An error message is a UTF-8 encoded string." msgstr "" msgid "If *config* has an exit code, format the exit code as an error message." @@ -287,7 +284,7 @@ msgid "``\"allocator\"``" msgstr "" msgid ":c:member:`allocator `" -msgstr "" +msgstr ":c:member:`allocator `" msgid "``int``" msgstr "``int``" @@ -296,13 +293,13 @@ msgid "Read-only" msgstr "" msgid "``\"argv\"``" -msgstr "" +msgstr "``\"argv\"``" msgid ":c:member:`argv `" -msgstr "" +msgstr ":c:member:`argv `" msgid "``list[str]``" -msgstr "" +msgstr "``list[str]``" msgid "Public" msgstr "" @@ -311,426 +308,428 @@ msgid "``\"base_exec_prefix\"``" msgstr "" msgid ":c:member:`base_exec_prefix `" -msgstr "" +msgstr ":c:member:`base_exec_prefix `" msgid "``str``" -msgstr "" +msgstr "``str``" msgid "``\"base_executable\"``" msgstr "" msgid ":c:member:`base_executable `" -msgstr "" +msgstr ":c:member:`base_executable `" msgid "``\"base_prefix\"``" msgstr "" msgid ":c:member:`base_prefix `" -msgstr "" +msgstr ":c:member:`base_prefix `" msgid "``\"buffered_stdio\"``" msgstr "" msgid ":c:member:`buffered_stdio `" -msgstr "" +msgstr ":c:member:`buffered_stdio `" msgid "``bool``" -msgstr "" +msgstr "``bool``" msgid "``\"bytes_warning\"``" msgstr "" msgid ":c:member:`bytes_warning `" -msgstr "" +msgstr ":c:member:`bytes_warning `" msgid "``\"check_hash_pycs_mode\"``" msgstr "" msgid ":c:member:`check_hash_pycs_mode `" -msgstr "" +msgstr ":c:member:`check_hash_pycs_mode `" msgid "``\"code_debug_ranges\"``" msgstr "" msgid ":c:member:`code_debug_ranges `" -msgstr "" +msgstr ":c:member:`code_debug_ranges `" msgid "``\"coerce_c_locale\"``" -msgstr "" +msgstr "``\"coerce_c_locale\"``" msgid ":c:member:`coerce_c_locale `" -msgstr "" +msgstr ":c:member:`coerce_c_locale `" msgid "``\"coerce_c_locale_warn\"``" -msgstr "" +msgstr "``\"coerce_c_locale_warn\"``" msgid ":c:member:`coerce_c_locale_warn `" -msgstr "" +msgstr ":c:member:`coerce_c_locale_warn `" msgid "``\"configure_c_stdio\"``" -msgstr "" +msgstr "``\"configure_c_stdio\"``" msgid ":c:member:`configure_c_stdio `" -msgstr "" +msgstr ":c:member:`configure_c_stdio `" msgid "``\"configure_locale\"``" msgstr "" msgid ":c:member:`configure_locale `" -msgstr "" +msgstr ":c:member:`configure_locale `" msgid "``\"cpu_count\"``" msgstr "" msgid ":c:member:`cpu_count `" -msgstr "" +msgstr ":c:member:`cpu_count `" msgid "``\"dev_mode\"``" msgstr "" msgid ":c:member:`dev_mode `" -msgstr "" +msgstr ":c:member:`dev_mode `" msgid "``\"dump_refs\"``" msgstr "" msgid ":c:member:`dump_refs `" -msgstr "" +msgstr ":c:member:`dump_refs `" msgid "``\"dump_refs_file\"``" msgstr "" msgid ":c:member:`dump_refs_file `" -msgstr "" +msgstr ":c:member:`dump_refs_file `" msgid "``\"exec_prefix\"``" msgstr "" msgid ":c:member:`exec_prefix `" -msgstr "" +msgstr ":c:member:`exec_prefix `" msgid "``\"executable\"``" msgstr "" msgid ":c:member:`executable `" -msgstr "" +msgstr ":c:member:`executable `" msgid "``\"faulthandler\"``" msgstr "" msgid ":c:member:`faulthandler `" -msgstr "" +msgstr ":c:member:`faulthandler `" msgid "``\"filesystem_encoding\"``" msgstr "" msgid ":c:member:`filesystem_encoding `" -msgstr "" +msgstr ":c:member:`filesystem_encoding `" msgid "``\"filesystem_errors\"``" msgstr "" msgid ":c:member:`filesystem_errors `" -msgstr "" +msgstr ":c:member:`filesystem_errors `" msgid "``\"hash_seed\"``" msgstr "" msgid ":c:member:`hash_seed `" -msgstr "" +msgstr ":c:member:`hash_seed `" msgid "``\"home\"``" msgstr "" msgid ":c:member:`home `" -msgstr "" +msgstr ":c:member:`home `" msgid "``\"import_time\"``" msgstr "" msgid ":c:member:`import_time `" -msgstr "" +msgstr ":c:member:`import_time `" msgid "``\"inspect\"``" msgstr "" msgid ":c:member:`inspect `" -msgstr "" +msgstr ":c:member:`inspect `" msgid "``\"install_signal_handlers\"``" msgstr "" msgid ":c:member:`install_signal_handlers `" -msgstr "" +msgstr ":c:member:`install_signal_handlers `" msgid "``\"int_max_str_digits\"``" msgstr "" msgid ":c:member:`int_max_str_digits `" -msgstr "" +msgstr ":c:member:`int_max_str_digits `" msgid "``\"interactive\"``" msgstr "" msgid ":c:member:`interactive `" -msgstr "" +msgstr ":c:member:`interactive `" msgid "``\"isolated\"``" msgstr "" msgid ":c:member:`isolated `" -msgstr "" +msgstr ":c:member:`isolated `" msgid "``\"legacy_windows_fs_encoding\"``" -msgstr "" +msgstr "``\"legacy_windows_fs_encoding\"``" msgid "" ":c:member:`legacy_windows_fs_encoding `" msgstr "" +":c:member:`legacy_windows_fs_encoding `" msgid "``\"legacy_windows_stdio\"``" -msgstr "" +msgstr "``\"legacy_windows_stdio\"``" msgid ":c:member:`legacy_windows_stdio `" -msgstr "" +msgstr ":c:member:`legacy_windows_stdio `" msgid "``\"malloc_stats\"``" msgstr "" msgid ":c:member:`malloc_stats `" -msgstr "" +msgstr ":c:member:`malloc_stats `" msgid "``\"module_search_paths\"``" msgstr "" msgid ":c:member:`module_search_paths `" -msgstr "" +msgstr ":c:member:`module_search_paths `" msgid "``\"optimization_level\"``" msgstr "" msgid ":c:member:`optimization_level `" -msgstr "" +msgstr ":c:member:`optimization_level `" msgid "``\"orig_argv\"``" msgstr "" msgid ":c:member:`orig_argv `" -msgstr "" +msgstr ":c:member:`orig_argv `" msgid "``\"parse_argv\"``" msgstr "" msgid ":c:member:`parse_argv `" -msgstr "" +msgstr ":c:member:`parse_argv `" msgid "``\"parser_debug\"``" msgstr "" msgid ":c:member:`parser_debug `" -msgstr "" +msgstr ":c:member:`parser_debug `" msgid "``\"pathconfig_warnings\"``" msgstr "" msgid ":c:member:`pathconfig_warnings `" -msgstr "" +msgstr ":c:member:`pathconfig_warnings `" msgid "``\"perf_profiling\"``" msgstr "" msgid ":c:member:`perf_profiling `" -msgstr "" +msgstr ":c:member:`perf_profiling `" msgid "``\"platlibdir\"``" msgstr "" msgid ":c:member:`platlibdir `" -msgstr "" +msgstr ":c:member:`platlibdir `" msgid "``\"prefix\"``" msgstr "" msgid ":c:member:`prefix `" -msgstr "" +msgstr ":c:member:`prefix `" msgid "``\"program_name\"``" msgstr "" msgid ":c:member:`program_name `" -msgstr "" +msgstr ":c:member:`program_name `" msgid "``\"pycache_prefix\"``" msgstr "" msgid ":c:member:`pycache_prefix `" -msgstr "" +msgstr ":c:member:`pycache_prefix `" msgid "``\"quiet\"``" msgstr "" msgid ":c:member:`quiet `" -msgstr "" +msgstr ":c:member:`quiet `" msgid "``\"run_command\"``" msgstr "" msgid ":c:member:`run_command `" -msgstr "" +msgstr ":c:member:`run_command `" msgid "``\"run_filename\"``" msgstr "" msgid ":c:member:`run_filename `" -msgstr "" +msgstr ":c:member:`run_filename `" msgid "``\"run_module\"``" msgstr "" msgid ":c:member:`run_module `" -msgstr "" +msgstr ":c:member:`run_module `" msgid "``\"run_presite\"``" msgstr "" msgid ":c:member:`run_presite `" -msgstr "" +msgstr ":c:member:`run_presite `" msgid "``\"safe_path\"``" msgstr "" msgid ":c:member:`safe_path `" -msgstr "" +msgstr ":c:member:`safe_path `" msgid "``\"show_ref_count\"``" msgstr "" msgid ":c:member:`show_ref_count `" -msgstr "" +msgstr ":c:member:`show_ref_count `" msgid "``\"site_import\"``" msgstr "" msgid ":c:member:`site_import `" -msgstr "" +msgstr ":c:member:`site_import `" msgid "``\"skip_source_first_line\"``" msgstr "" msgid ":c:member:`skip_source_first_line `" -msgstr "" +msgstr ":c:member:`skip_source_first_line `" msgid "``\"stdio_encoding\"``" msgstr "" msgid ":c:member:`stdio_encoding `" -msgstr "" +msgstr ":c:member:`stdio_encoding `" msgid "``\"stdio_errors\"``" msgstr "" msgid ":c:member:`stdio_errors `" -msgstr "" +msgstr ":c:member:`stdio_errors `" msgid "``\"stdlib_dir\"``" msgstr "" msgid ":c:member:`stdlib_dir `" -msgstr "" +msgstr ":c:member:`stdlib_dir `" msgid "``\"tracemalloc\"``" msgstr "" msgid ":c:member:`tracemalloc `" -msgstr "" +msgstr ":c:member:`tracemalloc `" msgid "``\"use_environment\"``" msgstr "" msgid ":c:member:`use_environment `" -msgstr "" +msgstr ":c:member:`use_environment `" msgid "``\"use_frozen_modules\"``" msgstr "" msgid ":c:member:`use_frozen_modules `" -msgstr "" +msgstr ":c:member:`use_frozen_modules `" msgid "``\"use_hash_seed\"``" msgstr "" msgid ":c:member:`use_hash_seed `" -msgstr "" +msgstr ":c:member:`use_hash_seed `" msgid "``\"use_system_logger\"``" msgstr "" msgid ":c:member:`use_system_logger `" -msgstr "" +msgstr ":c:member:`use_system_logger `" msgid "``\"user_site_directory\"``" msgstr "" msgid ":c:member:`user_site_directory `" -msgstr "" +msgstr ":c:member:`user_site_directory `" msgid "``\"utf8_mode\"``" msgstr "" msgid ":c:member:`utf8_mode `" -msgstr "" +msgstr ":c:member:`utf8_mode `" msgid "``\"verbose\"``" msgstr "" msgid ":c:member:`verbose `" -msgstr "" +msgstr ":c:member:`verbose `" msgid "``\"warn_default_encoding\"``" msgstr "" msgid ":c:member:`warn_default_encoding `" -msgstr "" +msgstr ":c:member:`warn_default_encoding `" msgid "``\"warnoptions\"``" msgstr "" msgid ":c:member:`warnoptions `" -msgstr "" +msgstr ":c:member:`warnoptions `" msgid "``\"write_bytecode\"``" msgstr "" msgid ":c:member:`write_bytecode `" -msgstr "" +msgstr ":c:member:`write_bytecode `" msgid "``\"xoptions\"``" msgstr "" msgid ":c:member:`xoptions `" -msgstr "" +msgstr ":c:member:`xoptions `" msgid "``dict[str, str]``" -msgstr "" +msgstr "``dict[str, str]``" msgid "``\"_pystats\"``" -msgstr "" +msgstr "``\"_pystats\"``" msgid ":c:member:`_pystats `" -msgstr "" +msgstr ":c:member:`_pystats `" msgid "Visibility:" msgstr "" msgid "" -"Public: Can by get by :c:func:`PyConfig_Get` and set by :c:func:" +"Public: Can be retrieved by :c:func:`PyConfig_Get` and set by :c:func:" "`PyConfig_Set`." msgstr "" msgid "" -"Read-only: Can by get by :c:func:`PyConfig_Get`, but cannot be set by :c:" -"func:`PyConfig_Set`." +"Read-only: Can be retrieved by :c:func:`PyConfig_Get`, but cannot be set by :" +"c:func:`PyConfig_Set`." msgstr "" msgid "Runtime Python configuration API" @@ -1344,7 +1343,7 @@ msgstr "" msgid "" "Most ``PyConfig`` methods :ref:`preinitialize Python ` if needed. " "In that case, the Python preinitialization configuration (:c:type:" -"`PyPreConfig`) in based on the :c:type:`PyConfig`. If configuration fields " +"`PyPreConfig`) is based on the :c:type:`PyConfig`. If configuration fields " "which are in common with :c:type:`PyPreConfig` are tuned, they must be set " "before calling a :c:type:`PyConfig` method:" msgstr "" diff --git a/c-api/interp-lifecycle.po b/c-api/interp-lifecycle.po new file mode 100644 index 0000000000..8d8aa93146 --- /dev/null +++ b/c-api/interp-lifecycle.po @@ -0,0 +1,1064 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2026-02-25 14:46+0000\n" +"Last-Translator: python-doc bot, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Interpreter initialization and finalization" +msgstr "" + +msgid "" +"See :ref:`Python Initialization Configuration ` for details on " +"how to configure the interpreter prior to initialization." +msgstr "" + +msgid "Before Python initialization" +msgstr "" + +msgid "" +"In an application embedding Python, the :c:func:`Py_Initialize` function " +"must be called before using any other Python/C API functions; with the " +"exception of a few functions and the :ref:`global configuration variables " +"`." +msgstr "" + +msgid "" +"The following functions can be safely called before Python is initialized:" +msgstr "" + +msgid "Functions that initialize the interpreter:" +msgstr "" + +msgid ":c:func:`Py_Initialize`" +msgstr ":c:func:`Py_Initialize`" + +msgid ":c:func:`Py_InitializeEx`" +msgstr ":c:func:`Py_InitializeEx`" + +msgid ":c:func:`Py_InitializeFromConfig`" +msgstr ":c:func:`Py_InitializeFromConfig`" + +msgid ":c:func:`Py_BytesMain`" +msgstr ":c:func:`Py_BytesMain`" + +msgid ":c:func:`Py_Main`" +msgstr ":c:func:`Py_Main`" + +msgid "the runtime pre-initialization functions covered in :ref:`init-config`" +msgstr "" + +msgid "Configuration functions:" +msgstr "Konfiguracja funkcja:" + +msgid ":c:func:`PyImport_AppendInittab`" +msgstr ":c:func:`PyImport_AppendInittab`" + +msgid ":c:func:`PyImport_ExtendInittab`" +msgstr ":c:func:`PyImport_ExtendInittab`" + +msgid ":c:func:`!PyInitFrozenExtensions`" +msgstr ":c:func:`!PyInitFrozenExtensions`" + +msgid ":c:func:`PyMem_SetAllocator`" +msgstr ":c:func:`PyMem_SetAllocator`" + +msgid ":c:func:`PyMem_SetupDebugHooks`" +msgstr ":c:func:`PyMem_SetupDebugHooks`" + +msgid ":c:func:`PyObject_SetArenaAllocator`" +msgstr ":c:func:`PyObject_SetArenaAllocator`" + +msgid ":c:func:`Py_SetProgramName`" +msgstr ":c:func:`Py_SetProgramName`" + +msgid ":c:func:`Py_SetPythonHome`" +msgstr ":c:func:`Py_SetPythonHome`" + +msgid "the configuration functions covered in :ref:`init-config`" +msgstr "" + +msgid "Informative functions:" +msgstr "Informatiwne funkcje:" + +msgid ":c:func:`Py_IsInitialized`" +msgstr ":c:func:`Py_IsInitialized`" + +msgid ":c:func:`PyMem_GetAllocator`" +msgstr ":c:func:`PyMem_GetAllocator`" + +msgid ":c:func:`PyObject_GetArenaAllocator`" +msgstr ":c:func:`PyObject_GetArenaAllocator`" + +msgid ":c:func:`Py_GetBuildInfo`" +msgstr ":c:func:`Py_GetBuildInfo`" + +msgid ":c:func:`Py_GetCompiler`" +msgstr ":c:func:`Py_GetCompiler`" + +msgid ":c:func:`Py_GetCopyright`" +msgstr ":c:func:`Py_GetCopyright`" + +msgid ":c:func:`Py_GetPlatform`" +msgstr ":c:func:`Py_GetPlatform`" + +msgid ":c:func:`Py_GetVersion`" +msgstr ":c:func:`Py_GetVersion`" + +msgid "Utilities:" +msgstr "Narzędzia:" + +msgid ":c:func:`Py_DecodeLocale`" +msgstr ":c:func:`Py_DecodeLocale`" + +msgid "" +"the status reporting and utility functions covered in :ref:`init-config`" +msgstr "" + +msgid "Memory allocators:" +msgstr "Alokatory pamięci:" + +msgid ":c:func:`PyMem_RawMalloc`" +msgstr ":c:func:`PyMem_RawMalloc`" + +msgid ":c:func:`PyMem_RawRealloc`" +msgstr ":c:func:`PyMem_RawRealloc`" + +msgid ":c:func:`PyMem_RawCalloc`" +msgstr ":c:func:`PyMem_RawCalloc`" + +msgid ":c:func:`PyMem_RawFree`" +msgstr ":c:func:`PyMem_RawFree`" + +msgid "Synchronization:" +msgstr "" + +msgid ":c:func:`PyMutex_Lock`" +msgstr ":c:func:`PyMutex_Lock`" + +msgid ":c:func:`PyMutex_Unlock`" +msgstr ":c:func:`PyMutex_Unlock`" + +msgid "" +"Despite their apparent similarity to some of the functions listed above, the " +"following functions **should not be called** before the interpreter has been " +"initialized: :c:func:`Py_EncodeLocale`, :c:func:`PyEval_InitThreads`, and :c:" +"func:`Py_RunMain`." +msgstr "" + +msgid "Global configuration variables" +msgstr "" + +msgid "" +"Python has variables for the global configuration to control different " +"features and options. By default, these flags are controlled by :ref:" +"`command line options `." +msgstr "" + +msgid "" +"When a flag is set by an option, the value of the flag is the number of " +"times that the option was set. For example, ``-b`` sets :c:data:" +"`Py_BytesWarningFlag` to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to " +"2." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"bytes_warning` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" +"class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater " +"or equal to ``2``." +msgstr "" + +msgid "Set by the :option:`-b` option." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"parser_debug` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Turn on parser debugging output (for expert only, depending on compilation " +"options)." +msgstr "" + +msgid "" +"Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " +"variable." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"write_bytecode` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"If set to non-zero, Python won't try to write ``.pyc`` files on the import " +"of source modules." +msgstr "" + +msgid "" +"Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` " +"environment variable." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"pathconfig_warnings` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"hash_seed` and :c:member:`PyConfig.use_hash_seed` should be used instead, " +"see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to " +"a non-empty string." +msgstr "" + +msgid "" +"If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment " +"variable to initialize the secret hash seed." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"use_environment` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Ignore all :envvar:`!PYTHON*` environment variables, e.g. :envvar:" +"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." +msgstr "" + +msgid "Set by the :option:`-E` and :option:`-I` options." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"inspect` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"When a script is passed as first argument or the :option:`-c` option is " +"used, enter interactive mode after executing the script or the command, even " +"when :data:`sys.stdin` does not appear to be a terminal." +msgstr "" + +msgid "" +"Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment " +"variable." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"interactive` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "Set by the :option:`-i` option." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"isolated` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Run Python in isolated mode. In isolated mode :data:`sys.path` contains " +"neither the script's directory nor the user's site-packages directory." +msgstr "" + +msgid "Set by the :option:`-I` option." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` should be used instead, see :ref:`Python " +"Initialization Configuration `." +msgstr "" + +msgid "" +"If the flag is non-zero, use the ``mbcs`` encoding with ``replace`` error " +"handler, instead of the UTF-8 encoding with ``surrogatepass`` error handler, " +"for the :term:`filesystem encoding and error handler`." +msgstr "" + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " +"variable is set to a non-empty string." +msgstr "" + +msgid "See :pep:`529` for more details." +msgstr "" + +msgid "Availability" +msgstr "Dostępność" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"legacy_windows_stdio` should be used instead, see :ref:`Python " +"Initialization Configuration `." +msgstr "" + +msgid "" +"If the flag is non-zero, use :class:`io.FileIO` instead of :class:`!io." +"_WindowsConsoleIO` for :mod:`sys` standard streams." +msgstr "" + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " +"is set to a non-empty string." +msgstr "" + +msgid "See :pep:`528` for more details." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"site_import` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Disable the import of the module :mod:`site` and the site-dependent " +"manipulations of :data:`sys.path` that it entails. Also disable these " +"manipulations if :mod:`site` is explicitly imported later (call :func:`site." +"main` if you want them to be triggered)." +msgstr "" + +msgid "Set by the :option:`-S` option." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"user_site_directory` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Don't add the :data:`user site-packages directory ` to :data:" +"`sys.path`." +msgstr "" + +msgid "" +"Set by the :option:`-s` and :option:`-I` options, and the :envvar:" +"`PYTHONNOUSERSITE` environment variable." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"optimization_level` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment " +"variable." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"quiet` should be used instead, see :ref:`Python Initialization Configuration " +"`." +msgstr "" + +msgid "" +"Don't display the copyright and version messages even in interactive mode." +msgstr "" + +msgid "Set by the :option:`-q` option." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"buffered_stdio` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "Force the stdout and stderr streams to be unbuffered." +msgstr "" + +msgid "" +"Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` " +"environment variable." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"verbose` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Print a message each time a module is initialized, showing the place " +"(filename or built-in module) from which it is loaded. If greater or equal " +"to ``2``, print a message for each file that is checked for when searching " +"for a module. Also provides information on module cleanup at exit." +msgstr "" + +msgid "" +"Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment " +"variable." +msgstr "" + +msgid "Initializing and finalizing the interpreter" +msgstr "" + +msgid "" +"Initialize the Python interpreter. In an application embedding Python, this " +"should be called before using any other Python/C API functions; see :ref:" +"`Before Python Initialization ` for the few exceptions." +msgstr "" + +msgid "" +"This initializes the table of loaded modules (``sys.modules``), and creates " +"the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It " +"also initializes the module search path (``sys.path``). It does not set " +"``sys.argv``; use the :ref:`Python Initialization Configuration ` API for that. This is a no-op when called for a second time " +"(without calling :c:func:`Py_FinalizeEx` first). There is no return value; " +"it is a fatal error if the initialization fails." +msgstr "" + +msgid "" +"Use :c:func:`Py_InitializeFromConfig` to customize the :ref:`Python " +"Initialization Configuration `." +msgstr "" + +msgid "" +"On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which " +"will also affect non-Python uses of the console using the C Runtime." +msgstr "" + +msgid "" +"This function works like :c:func:`Py_Initialize` if *initsigs* is ``1``. If " +"*initsigs* is ``0``, it skips initialization registration of signal " +"handlers, which may be useful when CPython is embedded as part of a larger " +"application." +msgstr "" + +msgid "" +"Initialize Python from *config* configuration, as described in :ref:`init-" +"from-config`." +msgstr "" + +msgid "" +"See the :ref:`init-config` section for details on pre-initializing the " +"interpreter, populating the runtime configuration structure, and querying " +"the returned status structure." +msgstr "" + +msgid "" +"Return true (nonzero) when the Python interpreter has been initialized, " +"false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns " +"false until :c:func:`Py_Initialize` is called again." +msgstr "" + +msgid "" +"Return true (non-zero) if the main Python interpreter is :term:`shutting " +"down `. Return false (zero) otherwise." +msgstr "" + +msgid "" +"Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " +"of Python/C API functions, and destroy all sub-interpreters (see :c:func:" +"`Py_NewInterpreter` below) that were created and not yet destroyed since the " +"last call to :c:func:`Py_Initialize`. This is a no-op when called for a " +"second time (without calling :c:func:`Py_Initialize` again first)." +msgstr "" + +msgid "" +"Since this is the reverse of :c:func:`Py_Initialize`, it should be called in " +"the same thread with the same interpreter active. That means the main " +"thread and the main interpreter. This should never be called while :c:func:" +"`Py_RunMain` is running." +msgstr "" + +msgid "" +"Normally the return value is ``0``. If there were errors during finalization " +"(flushing buffered data), ``-1`` is returned." +msgstr "" + +msgid "" +"Note that Python will do a best effort at freeing all memory allocated by " +"the Python interpreter. Therefore, any C-Extension should make sure to " +"correctly clean up all of the previously allocated PyObjects before using " +"them in subsequent calls to :c:func:`Py_Initialize`. Otherwise it could " +"introduce vulnerabilities and incorrect behavior." +msgstr "" + +msgid "" +"This function is provided for a number of reasons. An embedding application " +"might want to restart Python without having to restart the application " +"itself. An application that has loaded the Python interpreter from a " +"dynamically loadable library (or DLL) might want to free all memory " +"allocated by Python before unloading the DLL. During a hunt for memory leaks " +"in an application a developer might want to free all memory allocated by " +"Python before exiting from the application." +msgstr "" + +msgid "" +"**Bugs and caveats:** The destruction of modules and objects in modules is " +"done in random order; this may cause destructors (:meth:`~object.__del__` " +"methods) to fail when they depend on other objects (even functions) or " +"modules. Dynamically loaded extension modules loaded by Python are not " +"unloaded. Small amounts of memory allocated by the Python interpreter may " +"not be freed (if you find a leak, please report it). Memory tied up in " +"circular references between objects is not freed. Interned strings will all " +"be deallocated regardless of their reference count. Some memory allocated by " +"extension modules may not be freed. Some extensions may not work properly " +"if their initialization routine is called more than once; this can happen if " +"an application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` " +"more than once. :c:func:`Py_FinalizeEx` must not be called recursively from " +"within itself. Therefore, it must not be called by any code that may be run " +"as part of the interpreter shutdown process, such as :py:mod:`atexit` " +"handlers, object finalizers, or any code that may be run while flushing the " +"stdout and stderr files." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"_PySys_ClearAuditHooks`` with no arguments." +msgstr "" + +msgid "" +"This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that " +"disregards the return value." +msgstr "" + +msgid "" +"Similar to :c:func:`Py_Main` but *argv* is an array of bytes strings, " +"allowing the calling application to delegate the text decoding step to the " +"CPython runtime." +msgstr "" + +msgid "" +"The main program for the standard interpreter, encapsulating a full " +"initialization/finalization cycle, as well as additional behaviour to " +"implement reading configurations settings from the environment and command " +"line, and then executing ``__main__`` in accordance with :ref:`using-on-" +"cmdline`." +msgstr "" + +msgid "" +"This is made available for programs which wish to support the full CPython " +"command line interface, rather than just embedding a Python runtime in a " +"larger application." +msgstr "" + +msgid "" +"The *argc* and *argv* parameters are similar to those which are passed to a " +"C program's :c:func:`main` function, except that the *argv* entries are " +"first converted to ``wchar_t`` using :c:func:`Py_DecodeLocale`. It is also " +"important to note that the argument list entries may be modified to point to " +"strings other than those passed in (however, the contents of the strings " +"pointed to by the argument list are not modified)." +msgstr "" + +msgid "" +"The return value is ``2`` if the argument list does not represent a valid " +"Python command line, and otherwise the same as :c:func:`Py_RunMain`." +msgstr "" + +msgid "" +"In terms of the CPython runtime configuration APIs documented in the :ref:" +"`runtime configuration ` section (and without accounting for " +"error handling), ``Py_Main`` is approximately equivalent to::" +msgstr "" + +msgid "" +"PyConfig config;\n" +"PyConfig_InitPythonConfig(&config);\n" +"PyConfig_SetArgv(&config, argc, argv);\n" +"Py_InitializeFromConfig(&config);\n" +"PyConfig_Clear(&config);\n" +"\n" +"Py_RunMain();" +msgstr "" + +msgid "" +"In normal usage, an embedding application will call this function *instead* " +"of calling :c:func:`Py_Initialize`, :c:func:`Py_InitializeEx` or :c:func:" +"`Py_InitializeFromConfig` directly, and all settings will be applied as " +"described elsewhere in this documentation. If this function is instead " +"called *after* a preceding runtime initialization API call, then exactly " +"which environmental and command line configuration settings will be updated " +"is version dependent (as it depends on which settings correctly support " +"being modified after they have already been set once when the runtime was " +"first initialized)." +msgstr "" + +msgid "Executes the main module in a fully configured CPython runtime." +msgstr "" + +msgid "" +"Executes the command (:c:member:`PyConfig.run_command`), the script (:c:" +"member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." +"run_module`) specified on the command line or in the configuration. If none " +"of these values are set, runs the interactive Python prompt (REPL) using the " +"``__main__`` module's global namespace." +msgstr "" + +msgid "" +"If :c:member:`PyConfig.inspect` is not set (the default), the return value " +"will be ``0`` if the interpreter exits normally (that is, without raising an " +"exception), the exit status of an unhandled :exc:`SystemExit`, or ``1`` for " +"any other unhandled exception." +msgstr "" + +msgid "" +"If :c:member:`PyConfig.inspect` is set (such as when the :option:`-i` option " +"is used), rather than returning when the interpreter exits, execution will " +"instead resume in an interactive Python prompt (REPL) using the ``__main__`` " +"module's global namespace. If the interpreter exited with an exception, it " +"is immediately raised in the REPL session. The function return value is then " +"determined by the way the *REPL session* terminates: ``0``, ``1``, or the " +"status of a :exc:`SystemExit`, as specified above." +msgstr "" + +msgid "" +"This function always finalizes the Python interpreter before it returns." +msgstr "" + +msgid "" +"See :ref:`Python Configuration ` for an example of a " +"customized Python that always runs in isolated mode using :c:func:" +"`Py_RunMain`." +msgstr "" + +msgid "" +"Register an :mod:`atexit` callback for the target interpreter *interp*. This " +"is similar to :c:func:`Py_AtExit`, but takes an explicit interpreter and " +"data pointer for the callback." +msgstr "" + +msgid "There must be an :term:`attached thread state` for *interp*." +msgstr "" + +msgid "Cautions regarding runtime finalization" +msgstr "" + +msgid "" +"In the late stage of :term:`interpreter shutdown`, after attempting to wait " +"for non-daemon threads to exit (though this can be interrupted by :class:" +"`KeyboardInterrupt`) and running the :mod:`atexit` functions, the runtime is " +"marked as *finalizing*: :c:func:`Py_IsFinalizing` and :func:`sys." +"is_finalizing` return true. At this point, only the *finalization thread* " +"that initiated finalization (typically the main thread) is allowed to " +"acquire the :term:`GIL`." +msgstr "" + +msgid "" +"If any thread, other than the finalization thread, attempts to attach a :" +"term:`thread state` during finalization, either explicitly or implicitly, " +"the thread enters **a permanently blocked state** where it remains until the " +"program exits. In most cases this is harmless, but this can result in " +"deadlock if a later stage of finalization attempts to acquire a lock owned " +"by the blocked thread, or otherwise waits on the blocked thread." +msgstr "" + +msgid "" +"Gross? Yes. This prevents random crashes and/or unexpectedly skipped C++ " +"finalizations further up the call stack when such threads were forcibly " +"exited here in CPython 3.13 and earlier. The CPython runtime :term:`thread " +"state` C APIs have never had any error reporting or handling expectations " +"at :term:`thread state` attachment time that would've allowed for graceful " +"exit from this situation. Changing that would require new stable C APIs and " +"rewriting the majority of C code in the CPython ecosystem to use those with " +"error handling." +msgstr "" + +msgid "Process-wide parameters" +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"program_name` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"This function should be called before :c:func:`Py_Initialize` is called for " +"the first time, if it is called at all. It tells the interpreter the value " +"of the ``argv[0]`` argument to the :c:func:`main` function of the program " +"(converted to wide characters). This is used by :c:func:`Py_GetPath` and " +"some other functions below to find the Python run-time libraries relative to " +"the interpreter executable. The default value is ``'python'``. The " +"argument should point to a zero-terminated wide character string in static " +"storage whose contents will not change for the duration of the program's " +"execution. No code in the Python interpreter will change the contents of " +"this storage." +msgstr "" + +msgid "" +"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" +"`wchar_t*` string." +msgstr "" + +msgid "" +"Return the program name set with :c:member:`PyConfig.program_name`, or the " +"default. The returned string points into static storage; the caller should " +"not modify its value." +msgstr "" + +msgid "" +"This function should not be called before :c:func:`Py_Initialize`, otherwise " +"it returns ``NULL``." +msgstr "" + +msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`." +msgstr "" + +msgid "" +"Use :c:func:`PyConfig_Get(\"executable\") ` (:data:`sys." +"executable`) instead." +msgstr "" + +msgid "" +"Return the *prefix* for installed platform-independent files. This is " +"derived through a number of complicated rules from the program name set " +"with :c:member:`PyConfig.program_name` and some environment variables; for " +"example, if the program name is ``'/usr/local/bin/python'``, the prefix is " +"``'/usr/local'``. The returned string points into static storage; the caller " +"should not modify its value. This corresponds to the :makevar:`prefix` " +"variable in the top-level :file:`Makefile` and the :option:`--prefix` " +"argument to the :program:`configure` script at build time. The value is " +"available to Python code as ``sys.base_prefix``. It is only useful on Unix. " +"See also the next function." +msgstr "" + +msgid "" +"Use :c:func:`PyConfig_Get(\"base_prefix\") ` (:data:`sys." +"base_prefix`) instead. Use :c:func:`PyConfig_Get(\"prefix\") ` " +"(:data:`sys.prefix`) if :ref:`virtual environments ` need to be " +"handled." +msgstr "" + +msgid "" +"Return the *exec-prefix* for installed platform-*dependent* files. This is " +"derived through a number of complicated rules from the program name set " +"with :c:member:`PyConfig.program_name` and some environment variables; for " +"example, if the program name is ``'/usr/local/bin/python'``, the exec-prefix " +"is ``'/usr/local'``. The returned string points into static storage; the " +"caller should not modify its value. This corresponds to the :makevar:" +"`exec_prefix` variable in the top-level :file:`Makefile` and the ``--exec-" +"prefix`` argument to the :program:`configure` script at build time. The " +"value is available to Python code as ``sys.base_exec_prefix``. It is only " +"useful on Unix." +msgstr "" + +msgid "" +"Background: The exec-prefix differs from the prefix when platform dependent " +"files (such as executables and shared libraries) are installed in a " +"different directory tree. In a typical installation, platform dependent " +"files may be installed in the :file:`/usr/local/plat` subtree while platform " +"independent may be installed in :file:`/usr/local`." +msgstr "" + +msgid "" +"Generally speaking, a platform is a combination of hardware and software " +"families, e.g. Sparc machines running the Solaris 2.x operating system are " +"considered the same platform, but Intel machines running Solaris 2.x are " +"another platform, and Intel machines running Linux are yet another " +"platform. Different major revisions of the same operating system generally " +"also form different platforms. Non-Unix operating systems are a different " +"story; the installation strategies on those systems are so different that " +"the prefix and exec-prefix are meaningless, and set to the empty string. " +"Note that compiled Python bytecode files are platform independent (but not " +"independent from the Python version by which they were compiled!)." +msgstr "" + +msgid "" +"System administrators will know how to configure the :program:`mount` or :" +"program:`automount` programs to share :file:`/usr/local` between platforms " +"while having :file:`/usr/local/plat` be a different filesystem for each " +"platform." +msgstr "" + +msgid "" +"Use :c:func:`PyConfig_Get(\"base_exec_prefix\") ` (:data:`sys." +"base_exec_prefix`) instead. Use :c:func:`PyConfig_Get(\"exec_prefix\") " +"` (:data:`sys.exec_prefix`) if :ref:`virtual environments " +"` need to be handled." +msgstr "" + +msgid "" +"Return the full program name of the Python executable; this is computed as " +"a side-effect of deriving the default module search path from the program " +"name (set by :c:member:`PyConfig.program_name`). The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.executable``." +msgstr "" + +msgid "" +"Return the default module search path; this is computed from the program " +"name (set by :c:member:`PyConfig.program_name`) and some environment " +"variables. The returned string consists of a series of directory names " +"separated by a platform dependent delimiter character. The delimiter " +"character is ``':'`` on Unix and macOS, ``';'`` on Windows. The returned " +"string points into static storage; the caller should not modify its value. " +"The list :data:`sys.path` is initialized with this value on interpreter " +"startup; it can be (and usually is) modified later to change the search path " +"for loading modules." +msgstr "" + +msgid "" +"Use :c:func:`PyConfig_Get(\"module_search_paths\") ` (:data:" +"`sys.path`) instead." +msgstr "" + +msgid "" +"Return the version of this Python interpreter. This is a string that looks " +"something like ::" +msgstr "" + +msgid "\"3.0a5+ (py3k:63103M, May 12 2008, 00:53:55) \\n[GCC 4.2.3]\"" +msgstr "" + +msgid "" +"The first word (up to the first space character) is the current Python " +"version; the first characters are the major and minor version separated by a " +"period. The returned string points into static storage; the caller should " +"not modify its value. The value is available to Python code as :data:`sys." +"version`." +msgstr "" + +msgid "See also the :c:var:`Py_Version` constant." +msgstr "" + +msgid "" +"Return the platform identifier for the current platform. On Unix, this is " +"formed from the \"official\" name of the operating system, converted to " +"lower case, followed by the major revision number; e.g., for Solaris 2.x, " +"which is also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it " +"is ``'darwin'``. On Windows, it is ``'win'``. The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.platform``." +msgstr "" + +msgid "" +"Return the official copyright string for the current Python version, for " +"example" +msgstr "" + +msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" +msgstr "" + +msgid "" +"The returned string points into static storage; the caller should not modify " +"its value. The value is available to Python code as ``sys.copyright``." +msgstr "" + +msgid "" +"Return an indication of the compiler used to build the current Python " +"version, in square brackets, for example::" +msgstr "" + +msgid "\"[GCC 2.7.2.2]\"" +msgstr "" + +msgid "" +"The returned string points into static storage; the caller should not modify " +"its value. The value is available to Python code as part of the variable " +"``sys.version``." +msgstr "" + +msgid "" +"Return information about the sequence number and build date and time of the " +"current Python interpreter instance, for example ::" +msgstr "" + +msgid "\"#67, Aug 1 1997, 22:34:28\"" +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"argv`, :c:member:`PyConfig.parse_argv` and :c:member:`PyConfig.safe_path` " +"should be used instead, see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"Set :data:`sys.argv` based on *argc* and *argv*. These parameters are " +"similar to those passed to the program's :c:func:`main` function with the " +"difference that the first entry should refer to the script file to be " +"executed rather than the executable hosting the Python interpreter. If " +"there isn't a script that will be run, the first entry in *argv* can be an " +"empty string. If this function fails to initialize :data:`sys.argv`, a " +"fatal condition is signalled using :c:func:`Py_FatalError`." +msgstr "" + +msgid "" +"If *updatepath* is zero, this is all the function does. If *updatepath* is " +"non-zero, the function also modifies :data:`sys.path` according to the " +"following algorithm:" +msgstr "" + +msgid "" +"If the name of an existing script is passed in ``argv[0]``, the absolute " +"path of the directory where the script is located is prepended to :data:`sys." +"path`." +msgstr "" + +msgid "" +"Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an " +"existing file name), an empty string is prepended to :data:`sys.path`, which " +"is the same as prepending the current working directory (``\".\"``)." +msgstr "" + +msgid "" +"See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` " +"members of the :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"It is recommended that applications embedding the Python interpreter for " +"purposes other than executing a single script pass ``0`` as *updatepath*, " +"and update :data:`sys.path` themselves if desired. See :cve:`2008-5983`." +msgstr "" + +msgid "" +"On versions before 3.1.3, you can achieve the same effect by manually " +"popping the first :data:`sys.path` element after having called :c:func:" +"`PySys_SetArgv`, for example using::" +msgstr "" + +msgid "PyRun_SimpleString(\"import sys; sys.path.pop(0)\\n\");" +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"argv` and :c:member:`PyConfig.parse_argv` should be used instead, see :ref:" +"`Python Initialization Configuration `." +msgstr "" + +msgid "" +"This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " +"``1`` unless the :program:`python` interpreter was started with the :option:" +"`-I`." +msgstr "" + +msgid "The *updatepath* value depends on :option:`-I`." +msgstr "" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"home` should be used instead, see :ref:`Python Initialization Configuration " +"`." +msgstr "" + +msgid "" +"Set the default \"home\" directory, that is, the location of the standard " +"Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " +"string." +msgstr "" + +msgid "" +"The argument should point to a zero-terminated character string in static " +"storage whose contents will not change for the duration of the program's " +"execution. No code in the Python interpreter will change the contents of " +"this storage." +msgstr "" + +msgid "" +"Return the default \"home\", that is, the value set by :c:member:`PyConfig." +"home`, or the value of the :envvar:`PYTHONHOME` environment variable if it " +"is set." +msgstr "" + +msgid "" +"Use :c:func:`PyConfig_Get(\"home\") ` or the :envvar:" +"`PYTHONHOME` environment variable instead." +msgstr "" + +msgid "PyEval_InitThreads()" +msgstr "" + +msgid "modules (in module sys)" +msgstr "" + +msgid "path (in module sys)" +msgstr "" + +msgid "module" +msgstr "moduł" + +msgid "builtins" +msgstr "builtins" + +msgid "__main__" +msgstr "__main__" + +msgid "sys" +msgstr "sys" + +msgid "search" +msgstr "wyszukiwanie" + +msgid "path" +msgstr "ścieżka" + +msgid "Py_FinalizeEx (C function)" +msgstr "" + +msgid "Py_Initialize()" +msgstr "" + +msgid "main()" +msgstr "" + +msgid "Py_GetPath()" +msgstr "" + +msgid "executable (in module sys)" +msgstr "" + +msgid "version (in module sys)" +msgstr "" + +msgid "platform (in module sys)" +msgstr "" + +msgid "copyright (in module sys)" +msgstr "" + +msgid "Py_FatalError()" +msgstr "" + +msgid "argv (in module sys)" +msgstr "" diff --git a/c-api/intro.po b/c-api/intro.po index b2ab3d2c62..d85f89e829 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Igor Zubrycki , 2021 -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -203,117 +199,164 @@ msgstr "" msgid "" "Several useful macros are defined in the Python header files. Many are " -"defined closer to where they are useful (e.g. :c:macro:`Py_RETURN_NONE`). " -"Others of a more general utility are defined here. This is not necessarily " -"a complete listing." +"defined closer to where they are useful (for example, :c:macro:" +"`Py_RETURN_NONE`, :c:macro:`PyMODINIT_FUNC`). Others of a more general " +"utility are defined here. This is not necessarily a complete listing." msgstr "" msgid "" -"Declare an extension module ``PyInit`` initialization function. The function " -"return type is :c:expr:`PyObject*`. The macro declares any special linkage " -"declarations required by the platform, and for C++ declares the function as " -"``extern \"C\"``." +"If this macro is defined, then the current system is able to start threads." msgstr "" msgid "" -"The initialization function must be named :samp:`PyInit_{name}`, where " -"*name* is the name of the module, and should be the only non-\\ ``static`` " -"item defined in the module file. Example::" +"Currently, all systems supported by CPython (per :pep:`11`), with the " +"exception of some WebAssembly platforms, support starting threads." msgstr "" msgid "" -"static struct PyModuleDef spam_module = {\n" -" PyModuleDef_HEAD_INIT,\n" -" .m_name = \"spam\",\n" -" ...\n" -"};\n" +"Like :samp:`getenv({s})`, but returns ``NULL`` if :option:`-E` was passed on " +"the command line (see :c:member:`PyConfig.use_environment`)." +msgstr "" + +msgid "Docstring macros" +msgstr "" + +msgid "" +"Creates a variable with name *name* that can be used in docstrings. If " +"Python is built without docstrings (:option:`--without-doc-strings`), the " +"value will be an empty string." +msgstr "" + +msgid "Example::" +msgstr "Przykład::" + +msgid "" +"PyDoc_STRVAR(pop_doc, \"Remove and return the rightmost element.\");\n" "\n" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" -"{\n" -" return PyModule_Create(&spam_module);\n" +"static PyMethodDef deque_methods[] = {\n" +" // ...\n" +" {\"pop\", (PyCFunction)deque_pop, METH_NOARGS, pop_doc},\n" +" // ...\n" "}" msgstr "" -msgid "Return the absolute value of ``x``." +msgid "Expands to :samp:`PyDoc_VAR({name}) = PyDoc_STR({str})`." msgstr "" msgid "" -"Ask the compiler to always inline a static inline function. The compiler can " -"ignore it and decide to not inline the function." +"Expands to the given input string, or an empty string if docstrings are " +"disabled (:option:`--without-doc-strings`)." msgstr "" msgid "" -"It can be used to inline performance critical static inline functions when " -"building Python in debug mode with function inlining disabled. For example, " -"MSC disables function inlining when building in debug mode." +"static PyMethodDef pysqlite_row_methods[] = {\n" +" {\"keys\", (PyCFunction)pysqlite_row_keys, METH_NOARGS,\n" +" PyDoc_STR(\"Returns the keys of the row.\")},\n" +" {NULL, NULL}\n" +"};" msgstr "" msgid "" -"Marking blindly a static inline function with Py_ALWAYS_INLINE can result in " -"worse performances (due to increased code size for example). The compiler is " -"usually smarter than the developer for the cost/benefit analysis." +"Declares a static character array variable with the given *name*. Expands " +"to :samp:`static const char {name}[]`" msgstr "" +msgid "For example::" +msgstr "Dla przykładu::" + msgid "" -"If Python is :ref:`built in debug mode ` (if the :c:macro:" -"`Py_DEBUG` macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro does " -"nothing." +"PyDoc_VAR(python_doc) = PyDoc_STR(\n" +" \"A genus of constricting snakes in the Pythonidae family native \"\n" +" \"to the tropics and subtropics of the Eastern Hemisphere.\");" msgstr "" -msgid "It must be specified before the function return type. Usage::" +msgid "General utility macros" msgstr "" -msgid "static inline Py_ALWAYS_INLINE int random(void) { return 4; }" +msgid "The following macros are for common tasks not specific to Python." msgstr "" msgid "" -"Argument must be a character or an integer in the range [-128, 127] or [0, " -"255]. This macro returns ``c`` cast to an ``unsigned char``." +"Use this for unused arguments in a function definition to silence compiler " +"warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``." msgstr "" msgid "" -"Use this for deprecated declarations. The macro must be placed before the " -"symbol name." +"Use a GCC attribute *name*, hiding it from compilers that don't support GCC " +"attributes (such as MSVC)." msgstr "" -msgid "Example::" -msgstr "Przykład::" +msgid "" +"This expands to :samp:`__attribute__(({name)})` on a GCC compiler, and " +"expands to nothing on compilers that don't support GCC attributes." +msgstr "" -msgid "Py_DEPRECATED(3.8) PyAPI_FUNC(int) Py_OldFunction(void);" +msgid "Numeric utilities" msgstr "" -msgid "MSVC support was added." +msgid "Return the absolute value of ``x``." msgstr "" msgid "" -"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the " -"command line (see :c:member:`PyConfig.use_environment`)." +"The argument may be evaluated more than once. Consequently, do not pass an " +"expression with side-effects directly to this macro." msgstr "" -msgid "Return the maximum value between ``x`` and ``y``." +msgid "" +"If the result cannot be represented (for example, if ``x`` has :c:macro:`!" +"INT_MIN` value for :c:expr:`int` type), the behavior is undefined." msgstr "" -msgid "Return the size of a structure (``type``) ``member`` in bytes." +msgid "Corresponds roughly to :samp:`(({x}) < 0 ? -({x}) : ({x}))`" msgstr "" -msgid "Return the minimum value between ``x`` and ``y``." +msgid "Return the larger or smaller of the arguments, respectively." msgstr "" msgid "" -"Disable inlining on a function. For example, it reduces the C stack " -"consumption: useful on LTO+PGO builds which heavily inline code (see :issue:" -"`33720`)." +"Any arguments may be evaluated more than once. Consequently, do not pass an " +"expression with side-effects directly to this macro." msgstr "" -msgid "Usage::" +msgid "" +":c:macro:`!Py_MAX` corresponds roughly to :samp:`((({x}) > ({y})) ? ({x}) : " +"({y}))`." msgstr "" -msgid "Py_NO_INLINE static int random(void) { return 4; }" +msgid "" +"Similar to :samp:`{integer} >> {positions}`, but forces sign extension, as " +"the C standard does not define whether a right-shift of a signed integer " +"will perform sign extension or a zero-fill." +msgstr "" + +msgid "" +"*integer* should be any signed integer type. *positions* is the number of " +"positions to shift to the right." +msgstr "" + +msgid "" +"Both *integer* and *positions* can be evaluated more than once; " +"consequently, avoid directly passing a function call or some other operation " +"with side-effects to this macro. Instead, store the result as a variable and " +"then pass it." +msgstr "" + +msgid "" +"*type* is unused and only kept for backwards compatibility. Historically, " +"*type* was used to cast *integer*." +msgstr "" + +msgid "" +"This macro is now valid for all signed integer types, not just those for " +"which ``unsigned type`` is legal. As a result, *type* is no longer used." msgstr "" msgid "" -"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``." +"Argument must be a character or an integer in the range [-128, 127] or [0, " +"255]. This macro returns ``c`` cast to an ``unsigned char``." +msgstr "" + +msgid "Assertion utilities" msgstr "" msgid "" @@ -330,8 +373,13 @@ msgid "" msgstr "" msgid "" -"A use for ``Py_UNREACHABLE()`` is following a call a function that never " -"returns but that is not declared :c:macro:`_Py_NO_RETURN`." +"In debug mode, and on unsupported compilers, the macro expands to a call to :" +"c:func:`Py_FatalError`." +msgstr "" + +msgid "" +"A use for ``Py_UNREACHABLE()`` is following a call to a function that never " +"returns but that is not declared ``_Noreturn``." msgstr "" msgid "" @@ -343,46 +391,253 @@ msgid "" msgstr "" msgid "" -"Use this for unused arguments in a function definition to silence compiler " -"warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``." +"Cast *value* to type *smaller* from type *larger*, validating that no " +"information was lost." msgstr "" msgid "" -"Creates a variable with name ``name`` that can be used in docstrings. If " -"Python is built without docstrings, the value will be empty." +"On release builds of Python, this is roughly equivalent to :samp:" +"`(({smaller}) {value})` (in C++, :samp:`static_cast<{smaller}>({value})` " +"will be used instead)." msgstr "" msgid "" -"Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python " -"without docstrings, as specified in :pep:`7`." +"On debug builds (implying that :c:macro:`Py_DEBUG` is defined), this asserts " +"that no information was lost with the cast from *larger* to *smaller*." msgstr "" msgid "" -"PyDoc_STRVAR(pop_doc, \"Remove and return the rightmost element.\");\n" -"\n" -"static PyMethodDef deque_methods[] = {\n" -" // ...\n" -" {\"pop\", (PyCFunction)deque_pop, METH_NOARGS, pop_doc},\n" -" // ...\n" -"}" +"*value*, *larger*, and *smaller* may all be evaluated more than once in the " +"expression; consequently, do not pass an expression with side-effects " +"directly to this macro." msgstr "" msgid "" -"Creates a docstring for the given input string or an empty string if " -"docstrings are disabled." +"Asserts a compile-time condition *cond*, as a statement. The build will fail " +"if the condition is false or cannot be evaluated at compile time." +msgstr "" + +msgid "Corresponds roughly to :samp:`static_assert({cond})` on C23 and above." +msgstr "" + +msgid "Py_BUILD_ASSERT(sizeof(PyTime_t) == sizeof(int64_t));" msgstr "" msgid "" -"Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python " -"without docstrings, as specified in :pep:`7`." +"Asserts a compile-time condition *cond*, as an expression that evaluates to " +"``0``. The build will fail if the condition is false or cannot be evaluated " +"at compile time." msgstr "" msgid "" -"static PyMethodDef pysqlite_row_methods[] = {\n" -" {\"keys\", (PyCFunction)pysqlite_row_keys, METH_NOARGS,\n" -" PyDoc_STR(\"Returns the keys of the row.\")},\n" -" {NULL, NULL}\n" -"};" +"#define foo_to_char(foo) \\\n" +" ((char *)(foo) + Py_BUILD_ASSERT_EXPR(offsetof(struct foo, string) == 0))" +msgstr "" + +msgid "Type size utilities" +msgstr "" + +msgid "Compute the length of a statically allocated C array at compile time." +msgstr "" + +msgid "" +"The *array* argument must be a C array with a size known at compile time. " +"Passing an array with an unknown size, such as a heap-allocated array, will " +"result in a compilation error on some compilers, or otherwise produce " +"incorrect results." +msgstr "" + +msgid "This is roughly equivalent to::" +msgstr "" + +msgid "sizeof(array) / sizeof((array)[0])" +msgstr "" + +msgid "Return the size of a structure (*type*) *member* in bytes." +msgstr "" + +msgid "Corresponds roughly to :samp:`sizeof((({type} *)NULL)->{member})`." +msgstr "" + +msgid "Macro definition utilities" +msgstr "" + +msgid "" +"This is equivalent to :samp:`{X}`, which is useful for token-pasting in " +"macros, as macro expansions in *X* are forcefully evaluated by the " +"preprocessor." +msgstr "" + +msgid "" +"Convert ``x`` to a C string. For example, ``Py_STRINGIFY(123)`` returns " +"``\"123\"``." +msgstr "" + +msgid "Declaration utilities" +msgstr "" + +msgid "" +"The following macros can be used in declarations. They are most useful for " +"defining the C API itself, and have limited use for extension authors. Most " +"of them expand to compiler-specific spellings of common extensions to the C " +"language." +msgstr "" + +msgid "" +"Ask the compiler to always inline a static inline function. The compiler can " +"ignore it and decide to not inline the function." +msgstr "" + +msgid "" +"Corresponds to ``always_inline`` attribute in GCC and ``__forceinline`` in " +"MSVC." +msgstr "" + +msgid "" +"It can be used to inline performance critical static inline functions when " +"building Python in debug mode with function inlining disabled. For example, " +"MSC disables function inlining when building in debug mode." +msgstr "" + +msgid "" +"Marking blindly a static inline function with Py_ALWAYS_INLINE can result in " +"worse performances (due to increased code size for example). The compiler is " +"usually smarter than the developer for the cost/benefit analysis." +msgstr "" + +msgid "" +"If Python is :ref:`built in debug mode ` (if the :c:macro:" +"`Py_DEBUG` macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro does " +"nothing." +msgstr "" + +msgid "It must be specified before the function return type. Usage::" +msgstr "" + +msgid "static inline Py_ALWAYS_INLINE int random(void) { return 4; }" +msgstr "" + +msgid "" +"Disable inlining on a function. For example, it reduces the C stack " +"consumption: useful on LTO+PGO builds which heavily inline code (see :issue:" +"`33720`)." +msgstr "" + +msgid "" +"Corresponds to the ``noinline`` attribute/specification on GCC and MSVC." +msgstr "" + +msgid "Usage::" +msgstr "" + +msgid "Py_NO_INLINE static int random(void) { return 4; }" +msgstr "" + +msgid "" +"Use this to declare APIs that were deprecated in a specific CPython version. " +"The macro must be placed before the symbol name." +msgstr "" + +msgid "Py_DEPRECATED(3.8) PyAPI_FUNC(int) Py_OldFunction(void);" +msgstr "" + +msgid "MSVC support was added." +msgstr "" + +msgid "" +"Declare a function returning the specified *type* using a fast-calling " +"qualifier for functions that are local to the current file. Semantically, " +"this is equivalent to :samp:`static {type}`." +msgstr "" + +msgid "" +"Equivalent to :c:macro:`Py_LOCAL` but additionally requests the function be " +"inlined." +msgstr "" + +msgid "" +"Macro used to declare a symbol as local to the shared library (hidden). On " +"supported platforms, it ensures the symbol is not exported." +msgstr "" + +msgid "" +"On compatible versions of GCC/Clang, it expands to " +"``__attribute__((visibility(\"hidden\")))``." +msgstr "" + +msgid "" +"Macro used to declare a symbol (function or data) as exported. On Windows, " +"this expands to ``__declspec(dllexport)``. On compatible versions of GCC/" +"Clang, it expands to ``__attribute__((visibility(\"default\")))``. This " +"macro is for defining the C API itself; extension modules should not use it." +msgstr "" + +msgid "" +"Macro used to declare a symbol as imported. On Windows, this expands to " +"``__declspec(dllimport)``. This macro is for defining the C API itself; " +"extension modules should not use it." +msgstr "" + +msgid "" +"Macro used by CPython to declare a function as part of the C API. Its " +"expansion depends on the platform and build configuration. This macro is " +"intended for defining CPython's C API itself; extension modules should not " +"use it for their own symbols." +msgstr "" + +msgid "" +"Macro used by CPython to declare a public global variable as part of the C " +"API. Its expansion depends on the platform and build configuration. This " +"macro is intended for defining CPython's C API itself; extension modules " +"should not use it for their own symbols." +msgstr "" + +msgid "Outdated macros" +msgstr "" + +msgid "" +"The following macros have been used to features that have been standardized " +"in C11." +msgstr "" + +msgid "Specify alignment to *num* bytes on compilers that support it." +msgstr "" + +msgid "Consider using the C11 standard ``_Alignas`` specifier over this macro." +msgstr "" + +msgid "" +"Use *number* as a ``long long`` or ``unsigned long long`` integer literal, " +"respectively." +msgstr "" + +msgid "" +"Expands to *number* followed by ``LL`` or ``LLU``, respectively, but will " +"expand to some compiler-specific suffixes on some older compilers." +msgstr "" + +msgid "Consider using the C99 standard suffixes ``LL`` and ``LLU`` directly." +msgstr "" + +msgid "" +"This is a :term:`soft deprecated` alias to :c:func:`!memcpy`. Use :c:func:`!" +"memcpy` directly instead." +msgstr "" + +msgid "The macro is :term:`soft deprecated`." +msgstr "" + +msgid "" +"This is a :term:`soft deprecated` alias to the C99-standard ``va_copy`` " +"function." +msgstr "" + +msgid "" +"Historically, this would use a compiler-specific method to copy a " +"``va_list``." +msgstr "" + +msgid "This is now an alias to ``va_copy``." msgstr "" msgid "Objects, Types and Reference Counts" @@ -1024,6 +1279,72 @@ msgstr "" "Odwołaj się do :file:`Misc/SpecialBuilds.txt` w źródłowym pakiecie języka " "pytonowskiego po więcej szczegółów." +msgid "Recommended third party tools" +msgstr "Rekomendowane zewnętrzne narzędzia." + +msgid "" +"The following third party tools offer both simpler and more sophisticated " +"approaches to creating C, C++ and Rust extensions for Python:" +msgstr "" + +msgid "`Cython `_" +msgstr "" + +msgid "`cffi `_" +msgstr "" + +msgid "`HPy `_" +msgstr "" + +msgid "`nanobind `_ (C++)" +msgstr "" + +msgid "`Numba `_" +msgstr "" + +msgid "`pybind11 `_ (C++)" +msgstr "" + +msgid "`PyO3 `_ (Rust)" +msgstr "" + +msgid "`SWIG `_" +msgstr "" + +msgid "" +"Using tools such as these can help avoid writing code that is tightly bound " +"to a particular version of CPython, avoid reference counting errors, and " +"focus more on your own code than on using the CPython API. In general, new " +"versions of Python can be supported by updating the tool, and your code will " +"often use newer and more efficient APIs automatically. Some tools also " +"support compiling for other implementations of Python from a single set of " +"sources." +msgstr "" + +msgid "" +"These projects are not supported by the same people who maintain Python, and " +"issues need to be raised with the projects directly. Remember to check that " +"the project is still maintained and supported, as the list above may become " +"outdated." +msgstr "" + +msgid "" +"`Python Packaging User Guide: Binary Extensions `_" +msgstr "" +"Pakiety Pythona Podręcznik Użytkownika: Rozszerzenia Binarne\n" +", YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Object Life Cycle" +msgstr "" + +msgid "" +"This section explains how a type's slots relate to each other throughout the " +"life of an object. It is not intended to be a complete canonical reference " +"for the slots; instead, refer to the slot-specific documentation in :ref:" +"`type-structs` for details about a particular slot." +msgstr "" + +msgid "Life Events" +msgstr "" + +msgid "" +"The figure below illustrates the order of events that can occur throughout " +"an object's life. An arrow from *A* to *B* indicates that event *B* can " +"occur after event *A* has occurred, with the arrow's label indicating the " +"condition that must be true for *B* to occur after *A*." +msgstr "" + +msgid "Diagram showing events in an object's life. Explained in detail below." +msgstr "" + +msgid "Explanation:" +msgstr "" + +msgid "When a new object is constructed by calling its type:" +msgstr "" + +msgid ":c:member:`~PyTypeObject.tp_new` is called to create a new object." +msgstr "" + +msgid "" +":c:member:`~PyTypeObject.tp_alloc` is directly called by :c:member:" +"`~PyTypeObject.tp_new` to allocate the memory for the new object." +msgstr "" + +msgid "" +":c:member:`~PyTypeObject.tp_init` initializes the newly created object. :c:" +"member:`!tp_init` can be called again to re-initialize an object, if " +"desired. The :c:member:`!tp_init` call can also be skipped entirely, for " +"example by Python code calling :py:meth:`~object.__new__`." +msgstr "" + +msgid "After :c:member:`!tp_init` completes, the object is ready to use." +msgstr "" + +msgid "Some time after the last reference to an object is removed:" +msgstr "" + +msgid "" +"If an object is not marked as *finalized*, it might be finalized by marking " +"it as *finalized* and calling its :c:member:`~PyTypeObject.tp_finalize` " +"function. Python does *not* finalize an object when the last reference to " +"it is deleted; use :c:func:`PyObject_CallFinalizerFromDealloc` to ensure " +"that :c:member:`~PyTypeObject.tp_finalize` is always called." +msgstr "" + +msgid "" +"If the object is marked as finalized, :c:member:`~PyTypeObject.tp_clear` " +"might be called by the garbage collector to clear references held by the " +"object. It is *not* called when the object's reference count reaches zero." +msgstr "" + +msgid "" +":c:member:`~PyTypeObject.tp_dealloc` is called to destroy the object. To " +"avoid code duplication, :c:member:`~PyTypeObject.tp_dealloc` typically calls " +"into :c:member:`~PyTypeObject.tp_clear` to free up the object's references." +msgstr "" + +msgid "" +"When :c:member:`~PyTypeObject.tp_dealloc` finishes object destruction, it " +"directly calls :c:member:`~PyTypeObject.tp_free` (usually set to :c:func:" +"`PyObject_Free` or :c:func:`PyObject_GC_Del` automatically as appropriate " +"for the type) to deallocate the memory." +msgstr "" + +msgid "" +"The :c:member:`~PyTypeObject.tp_finalize` function is permitted to add a " +"reference to the object if desired. If it does, the object is " +"*resurrected*, preventing its pending destruction. (Only :c:member:`!" +"tp_finalize` is allowed to resurrect an object; :c:member:`~PyTypeObject." +"tp_clear` and :c:member:`~PyTypeObject.tp_dealloc` cannot without calling " +"into :c:member:`!tp_finalize`.) Resurrecting an object may or may not cause " +"the object's *finalized* mark to be removed. Currently, Python does not " +"remove the *finalized* mark from a resurrected object if it supports garbage " +"collection (i.e., the :c:macro:`Py_TPFLAGS_HAVE_GC` flag is set) but does " +"remove the mark if the object does not support garbage collection; either or " +"both of these behaviors may change in the future." +msgstr "" + +msgid "" +":c:member:`~PyTypeObject.tp_dealloc` can optionally call :c:member:" +"`~PyTypeObject.tp_finalize` via :c:func:`PyObject_CallFinalizerFromDealloc` " +"if it wishes to reuse that code to help with object destruction. This is " +"recommended because it guarantees that :c:member:`!tp_finalize` is always " +"called before destruction. See the :c:member:`~PyTypeObject.tp_dealloc` " +"documentation for example code." +msgstr "" + +msgid "" +"If the object is a member of a :term:`cyclic isolate` and either :c:member:" +"`~PyTypeObject.tp_clear` fails to break the reference cycle or the cyclic " +"isolate is not detected (perhaps :func:`gc.disable` was called, or the :c:" +"macro:`Py_TPFLAGS_HAVE_GC` flag was erroneously omitted in one of the " +"involved types), the objects remain indefinitely uncollectable (they " +"\"leak\"). See :data:`gc.garbage`." +msgstr "" + +msgid "" +"If the object is marked as supporting garbage collection (the :c:macro:" +"`Py_TPFLAGS_HAVE_GC` flag is set in :c:member:`~PyTypeObject.tp_flags`), the " +"following events are also possible:" +msgstr "" + +msgid "" +"The garbage collector occasionally calls :c:member:`~PyTypeObject." +"tp_traverse` to identify :term:`cyclic isolates `." +msgstr "" + +msgid "" +"When the garbage collector discovers a :term:`cyclic isolate`, it finalizes " +"one of the objects in the group by marking it as *finalized* and calling " +"its :c:member:`~PyTypeObject.tp_finalize` function, if it has one. This " +"repeats until the cyclic isolate doesn't exist or all of the objects have " +"been finalized." +msgstr "" + +msgid "" +":c:member:`~PyTypeObject.tp_finalize` is permitted to resurrect the object " +"by adding a reference from outside the :term:`cyclic isolate`. The new " +"reference causes the group of objects to no longer form a cyclic isolate " +"(the reference cycle may still exist, but if it does the objects are no " +"longer isolated)." +msgstr "" + +msgid "" +"When the garbage collector discovers a :term:`cyclic isolate` and all of the " +"objects in the group have already been marked as *finalized*, the garbage " +"collector clears one or more of the uncleared objects in the group (possibly " +"concurrently) by calling each's :c:member:`~PyTypeObject.tp_clear` " +"function. This repeats as long as the cyclic isolate still exists and not " +"all of the objects have been cleared." +msgstr "" + +msgid "Cyclic Isolate Destruction" +msgstr "" + +msgid "" +"Listed below are the stages of life of a hypothetical :term:`cyclic isolate` " +"that continues to exist after each member object is finalized or cleared. " +"It is a memory leak if a cyclic isolate progresses through all of these " +"stages; it should vanish once all objects are cleared, if not sooner. A " +"cyclic isolate can vanish either because the reference cycle is broken or " +"because the objects are no longer isolated due to finalizer resurrection " +"(see :c:member:`~PyTypeObject.tp_finalize`)." +msgstr "" + +msgid "" +"**Reachable** (not yet a cyclic isolate): All objects are in their normal, " +"reachable state. A reference cycle could exist, but an external reference " +"means the objects are not yet isolated." +msgstr "" + +msgid "" +"**Unreachable but consistent:** The final reference from outside the cyclic " +"group of objects has been removed, causing the objects to become isolated " +"(thus a cyclic isolate is born). None of the group's objects have been " +"finalized or cleared yet. The cyclic isolate remains at this stage until " +"some future run of the garbage collector (not necessarily the next run " +"because the next run might not scan every object)." +msgstr "" + +msgid "" +"**Mix of finalized and not finalized:** Objects in a cyclic isolate are " +"finalized one at a time, which means that there is a period of time when the " +"cyclic isolate is composed of a mix of finalized and non-finalized objects. " +"Finalization order is unspecified, so it can appear random. A finalized " +"object must behave in a sane manner when non-finalized objects interact with " +"it, and a non-finalized object must be able to tolerate the finalization of " +"an arbitrary subset of its referents." +msgstr "" + +msgid "" +"**All finalized:** All objects in a cyclic isolate are finalized before any " +"of them are cleared." +msgstr "" + +msgid "" +"**Mix of finalized and cleared:** The objects can be cleared serially or " +"concurrently (but with the :term:`GIL` held); either way, some will finish " +"before others. A finalized object must be able to tolerate the clearing of " +"a subset of its referents. :pep:`442` calls this stage \"cyclic trash\"." +msgstr "" + +msgid "" +"**Leaked:** If a cyclic isolate still exists after all objects in the group " +"have been finalized and cleared, then the objects remain indefinitely " +"uncollectable (see :data:`gc.garbage`). It is a bug if a cyclic isolate " +"reaches this stage---it means the :c:member:`~PyTypeObject.tp_clear` methods " +"of the participating objects have failed to break the reference cycle as " +"required." +msgstr "" + +msgid "" +"If :c:member:`~PyTypeObject.tp_clear` did not exist, then Python would have " +"no way to safely break a reference cycle. Simply destroying an object in a " +"cyclic isolate would result in a dangling pointer, triggering undefined " +"behavior when an object referencing the destroyed object is itself " +"destroyed. The clearing step makes object destruction a two-phase process: " +"first :c:member:`~PyTypeObject.tp_clear` is called to partially destroy the " +"objects enough to detangle them from each other, then :c:member:" +"`~PyTypeObject.tp_dealloc` is called to complete the destruction." +msgstr "" + +msgid "" +"Unlike clearing, finalization is not a phase of destruction. A finalized " +"object must still behave properly by continuing to fulfill its design " +"contracts. An object's finalizer is allowed to execute arbitrary Python " +"code, and is even allowed to prevent the impending destruction by adding a " +"reference. The finalizer is only related to destruction by call order---if " +"it runs, it runs before destruction, which starts with :c:member:" +"`~PyTypeObject.tp_clear` (if called) and concludes with :c:member:" +"`~PyTypeObject.tp_dealloc`." +msgstr "" + +msgid "" +"The finalization step is not necessary to safely reclaim the objects in a " +"cyclic isolate, but its existence makes it easier to design types that " +"behave in a sane manner when objects are cleared. Clearing an object might " +"necessarily leave it in a broken, partially destroyed state---it might be " +"unsafe to call any of the cleared object's methods or access any of its " +"attributes. With finalization, only finalized objects can possibly interact " +"with cleared objects; non-finalized objects are guaranteed to interact with " +"only non-cleared (but potentially finalized) objects." +msgstr "" + +msgid "To summarize the possible interactions:" +msgstr "" + +msgid "" +"A non-finalized object might have references to or from non-finalized and " +"finalized objects, but not to or from cleared objects." +msgstr "" + +msgid "" +"A finalized object might have references to or from non-finalized, " +"finalized, and cleared objects." +msgstr "" + +msgid "" +"A cleared object might have references to or from finalized and cleared " +"objects, but not to or from non-finalized objects." +msgstr "" + +msgid "" +"Without any reference cycles, an object can be simply destroyed once its " +"last reference is deleted; the finalization and clearing steps are not " +"necessary to safely reclaim unused objects. However, it can be useful to " +"automatically call :c:member:`~PyTypeObject.tp_finalize` and :c:member:" +"`~PyTypeObject.tp_clear` before destruction anyway because type design is " +"simplified when all objects always experience the same series of events " +"regardless of whether they participated in a cyclic isolate. Python " +"currently only calls :c:member:`~PyTypeObject.tp_finalize` and :c:member:" +"`~PyTypeObject.tp_clear` as needed to destroy a cyclic isolate; this may " +"change in a future version." +msgstr "" + +msgid "Functions" +msgstr "Zadania" + +msgid "To allocate and free memory, see :ref:`allocating-objects`." +msgstr "" + +msgid "" +"Finalizes the object as described in :c:member:`~PyTypeObject.tp_finalize`. " +"Call this function (or :c:func:`PyObject_CallFinalizerFromDealloc`) instead " +"of calling :c:member:`~PyTypeObject.tp_finalize` directly because this " +"function may deduplicate multiple calls to :c:member:`!tp_finalize`. " +"Currently, calls are only deduplicated if the type supports garbage " +"collection (i.e., the :c:macro:`Py_TPFLAGS_HAVE_GC` flag is set); this may " +"change in the future." +msgstr "" + +msgid "" +"Same as :c:func:`PyObject_CallFinalizer` but meant to be called at the " +"beginning of the object's destructor (:c:member:`~PyTypeObject.tp_dealloc`). " +"There must not be any references to the object. If the object's finalizer " +"resurrects the object, this function returns -1; no further destruction " +"should happen. Otherwise, this function returns 0 and destruction can " +"continue normally." +msgstr "" + +msgid ":c:member:`~PyTypeObject.tp_dealloc` for example code." +msgstr "" diff --git a/c-api/list.po b/c-api/list.po index eaf8b13e18..0f61163dbd 100644 --- a/c-api/list.po +++ b/c-api/list.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,6 +77,12 @@ msgid "" "instead of a :term:`strong reference`." msgstr "" +msgid "" +"In the :term:`free-threaded build`, the returned :term:`borrowed reference` " +"may become invalid if another thread modifies the list concurrently. Prefer :" +"c:func:`PyList_GetItemRef`, which returns a :term:`strong reference`." +msgstr "" + msgid "Similar to :c:func:`PyList_GetItem`, but without error checking." msgstr "" @@ -109,6 +113,13 @@ msgid "" "replaced; any reference in *list* at position *i* will be leaked." msgstr "" +msgid "" +"In the :term:`free-threaded build`, this macro has no internal " +"synchronization. It is normally only used to fill in new lists where no " +"other thread has a reference to the list. If the list may be shared, use :c:" +"func:`PyList_SetItem` instead, which uses a :term:`per-object lock`." +msgstr "" + msgid "" "Insert the item *item* into list *list* in front of index *index*. Return " "``0`` if successful; return ``-1`` and set an exception if unsuccessful. " @@ -136,6 +147,12 @@ msgid "" "list is not supported." msgstr "" +msgid "" +"In the :term:`free-threaded build`, when *itemlist* is a :class:`list`, both " +"*list* and *itemlist* are locked for the duration of the operation. For " +"other iterables (or ``NULL``), only *list* is locked." +msgstr "" + msgid "" "Extend *list* with the contents of *iterable*. This is the same as " "``PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable)`` and " @@ -147,6 +164,14 @@ msgid "" "object. Return 0 on success." msgstr "" +msgid "" +"In the :term:`free-threaded build`, when *iterable* is a :class:`list`, :" +"class:`set`, :class:`dict`, or dict view, both *list* and *iterable* (or its " +"underlying dict) are locked for the duration of the operation. For other " +"iterables, only *list* is locked; *iterable* may be concurrently modified by " +"another thread." +msgstr "" + msgid "" "Remove all items from *list*. This is the same as ``PyList_SetSlice(list, " "0, PY_SSIZE_T_MAX, NULL)`` and analogous to ``list.clear()`` or ``del " @@ -163,6 +188,13 @@ msgid "" "failure. This is equivalent to ``list.sort()``." msgstr "" +msgid "" +"In the :term:`free-threaded build`, element comparison via :meth:`~object." +"__lt__` can execute arbitrary Python code, during which the :term:`per-" +"object lock` may be temporarily released. For built-in types (:class:`str`, :" +"class:`int`, :class:`float`), the lock is not released during comparison." +msgstr "" + msgid "" "Reverse the items of *list* in place. Return ``0`` on success, ``-1`` on " "failure. This is the equivalent of ``list.reverse()``." diff --git a/c-api/long.po b/c-api/long.po index 2124096921..7b26c7c38a 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -61,9 +59,9 @@ msgid "" msgstr "" msgid "" -"The current implementation keeps an array of integer objects for all " -"integers between ``-5`` and ``256``. When you create an int in that range " -"you actually just get back a reference to the existing object." +"CPython keeps an array of integer objects for all integers between ``-5`` " +"and ``256``. When you create an int in that range you actually just get " +"back a reference to the existing object." msgstr "" msgid "" @@ -161,6 +159,14 @@ msgid "" "most-significant bit is not a sign bit. Flags other than endian are ignored." msgstr "" +msgid "Macro for creating a Python integer from a process identifier." +msgstr "" + +msgid "" +"This can be defined as an alias to :c:func:`PyLong_FromLong` or :c:func:" +"`PyLong_FromLongLong`, depending on the size of the system's PID type." +msgstr "" + msgid "" "Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__` " @@ -316,6 +322,12 @@ msgid "" "representation of *obj*." msgstr "" +msgid "" +"If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:" +"`~object.__index__` method (if present) to convert it to a :c:type:" +"`PyLongObject`." +msgstr "" + msgid "If the *obj* value is out of range, raise an :exc:`OverflowError`." msgstr "" @@ -332,12 +344,6 @@ msgid "" "representation of *obj*." msgstr "" -msgid "" -"If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:" -"`~object.__index__` method (if present) to convert it to a :c:type:" -"`PyLongObject`." -msgstr "" - msgid "If *obj* is negative, raise a :exc:`ValueError`." msgstr "" @@ -381,14 +387,15 @@ msgstr "" msgid "" "Otherwise, returns the number of bytes required to store the value. If this " "is equal to or less than *n_bytes*, the entire value was copied. All " -"*n_bytes* of the buffer are written: large buffers are padded with zeroes." +"*n_bytes* of the buffer are written: remaining bytes filled by copies of the " +"sign bit." msgstr "" msgid "" -"If the returned value is greater than than *n_bytes*, the value was " -"truncated: as many of the lowest bits of the value as could fit are written, " -"and the higher bits are ignored. This matches the typical behavior of a C-" -"style downcast." +"If the returned value is greater than *n_bytes*, the value was truncated: as " +"many of the lowest bits of the value as could fit are written, and the " +"higher bits are ignored. This matches the typical behavior of a C-style " +"downcast." msgstr "" msgid "" @@ -548,6 +555,15 @@ msgid "" "buffer and set all its bits. This matches typical C cast behavior." msgstr "" +msgid "Macro for converting a Python integer into a process identifier." +msgstr "" + +msgid "" +"This can be defined as an alias to :c:func:`PyLong_AsLong`, :c:func:" +"`PyLong_FromLongLong`, or :c:func:`PyLong_AsInt`, depending on the size of " +"the system's PID type." +msgstr "" + msgid "Get the sign of the integer object *obj*." msgstr "" @@ -821,6 +837,32 @@ msgstr "" msgid "If *writer* is ``NULL``, no operation is performed." msgstr "" +msgid "Deprecated API" +msgstr "" + +msgid "" +"These macros are :term:`soft deprecated`. They describe parameters of the " +"internal representation of :c:type:`PyLongObject` instances." +msgstr "" + +msgid "" +"Use :c:func:`PyLong_GetNativeLayout` instead, along with :c:func:" +"`PyLong_Export` to read integer data or :c:type:`PyLongWriter` to write it. " +"These currently use the same layout, but are designed to continue working " +"correctly even if CPython's internal integer representation changes." +msgstr "" + +msgid "" +"This is equivalent to :c:member:`~PyLongLayout.bits_per_digit` in the output " +"of :c:func:`PyLong_GetNativeLayout`." +msgstr "" + +msgid "This is currently equivalent to :c:expr:`1 << PyLong_SHIFT`." +msgstr "" + +msgid "This is currently equivalent to :c:expr:`(1 << PyLong_SHIFT) - 1`" +msgstr "" + msgid "object" msgstr "obiekt" diff --git a/c-api/mapping.po b/c-api/mapping.po index 257eeaac70..185d9284ab 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -104,8 +103,8 @@ msgid "" msgstr "" msgid "" -"Exceptions which occur when this calls :meth:`~object.__getitem__` method " -"are silently ignored. For proper error handling, use :c:func:" +"Exceptions which occur when this calls the :meth:`~object.__getitem__` " +"method are silently ignored. For proper error handling, use :c:func:" "`PyMapping_HasKeyWithError`, :c:func:`PyMapping_GetOptionalItem` or :c:func:" "`PyObject_GetItem()` instead." msgstr "" @@ -117,9 +116,9 @@ msgid "" msgstr "" msgid "" -"Exceptions that occur when this calls :meth:`~object.__getitem__` method or " -"while creating the temporary :class:`str` object are silently ignored. For " -"proper error handling, use :c:func:`PyMapping_HasKeyStringWithError`, :c:" +"Exceptions that occur when this calls the :meth:`~object.__getitem__` method " +"or while creating the temporary :class:`str` object are silently ignored. " +"For proper error handling, use :c:func:`PyMapping_HasKeyStringWithError`, :c:" "func:`PyMapping_GetOptionalItemString` or :c:func:`PyMapping_GetItemString` " "instead." msgstr "" diff --git a/c-api/memory.po b/c-api/memory.po index 0111b368a2..455bc44d22 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -146,8 +144,8 @@ msgid "" "allocation strategies and are optimized for different purposes. The specific " "details on how every domain allocates memory or what internal functions each " "domain calls is considered an implementation detail, but for debugging " -"purposes a simplified table can be found at :ref:`here `. The APIs used to allocate and free a block of memory must be " +"purposes a simplified table can be found at :ref:`default-memory-" +"allocators`. The APIs used to allocate and free a block of memory must be " "from the same domain. For example, :c:func:`PyMem_Free` must be used to free " "memory allocated using :c:func:`PyMem_Malloc`." msgstr "" @@ -273,8 +271,10 @@ msgid "" msgstr "" msgid "" -"The :ref:`default memory allocator ` uses the :" -"ref:`pymalloc memory allocator `." +"In the GIL-enabled build (default build) the :ref:`default memory allocator " +"` uses the :ref:`pymalloc memory allocator " +"`, whereas in the :term:`free-threaded build`, the default is the :" +"ref:`mimalloc memory allocator ` instead." msgstr "" msgid "" @@ -285,6 +285,11 @@ msgid "" "The default allocator is now pymalloc instead of system :c:func:`malloc`." msgstr "" +msgid "" +"In the :term:`free-threaded ` build, the default allocator " +"is now :ref:`mimalloc `." +msgstr "" + msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyMem_Malloc(1)`` had been called instead. The memory will not have " @@ -348,36 +353,40 @@ msgstr "" msgid "Same as :c:func:`PyMem_Free`." msgstr "" +msgid "Deprecated aliases" +msgstr "" + msgid "" -"In addition, the following macro sets are provided for calling the Python " -"memory allocator directly, without involving the C API functions listed " -"above. However, note that their use does not preserve binary compatibility " -"across Python versions and is therefore deprecated in extension modules." +"These are :term:`soft deprecated` aliases to existing functions and macros. " +"They exist solely for backwards compatibility." msgstr "" -"Dodać należy, że następujący zbiór makropoleceń dostarczony jest aby " -"odwoływać się do programu przydzielającego pamięć w języku pytonowskim " -"bezpośrednio, bez udziału zadań sprzęgu C wymienionych powyżej. Jednakże, " -"zauważ, że ich użycie nie zachowuje wzajemnej zgodności binarnej pomiędzy " -"wersjami Pythona i z tego też powodu ich użycie jest niewskazane w modułach " -"rozszerzających." -msgid "``PyMem_MALLOC(size)``" -msgstr "``PyMem_MALLOC(size)``" +msgid "Deprecated alias" +msgstr "" -msgid "``PyMem_NEW(type, size)``" -msgstr "``PyMem_NEW(type, size)``" +msgid "Corresponding function or macro" +msgstr "" -msgid "``PyMem_REALLOC(ptr, size)``" -msgstr "``PyMem_REALLOC(ptr, size)``" +msgid ":c:func:`PyMem_Malloc`" +msgstr "" -msgid "``PyMem_RESIZE(ptr, type, size)``" +msgid ":c:macro:`PyMem_New`" msgstr "" -msgid "``PyMem_FREE(ptr)``" -msgstr "``PyMem_FREE(ptr)``" +msgid ":c:func:`PyMem_Realloc`" +msgstr ":c:func:`PyMem_Realloc`" -msgid "``PyMem_DEL(ptr)``" -msgstr "``PyMem_DEL(ptr)``" +msgid ":c:macro:`PyMem_Resize`" +msgstr "" + +msgid ":c:func:`PyMem_Free`" +msgstr ":c:func:`PyMem_Free`" + +msgid "" +"The macros are now aliases of the corresponding functions and macros. " +"Previously, their behavior was the same, but their use did not necessarily " +"preserve binary compatibility across Python versions." +msgstr "" msgid "Object allocators" msgstr "" @@ -391,7 +400,9 @@ msgstr "" msgid "" "The :ref:`default object allocator ` uses the :" -"ref:`pymalloc memory allocator `." +"ref:`pymalloc memory allocator `. In the :term:`free-threaded " +"` build, the default is the :ref:`mimalloc memory allocator " +"` instead." msgstr "" msgid "" @@ -430,6 +441,42 @@ msgid "" "called before, undefined behavior occurs." msgstr "" +msgid "" +"Do not call this directly to free an object's memory; call the type's :c:" +"member:`~PyTypeObject.tp_free` slot instead." +msgstr "" + +msgid "" +"Do not use this for memory allocated by :c:macro:`PyObject_GC_New` or :c:" +"macro:`PyObject_GC_NewVar`; use :c:func:`PyObject_GC_Del` instead." +msgstr "" + +msgid "" +":c:func:`PyObject_GC_Del` is the equivalent of this function for memory " +"allocated by types that support garbage collection." +msgstr "" + +msgid ":c:func:`PyObject_Malloc`" +msgstr ":c:func:`PyObject_Malloc`" + +msgid ":c:func:`PyObject_Realloc`" +msgstr ":c:func:`PyObject_Realloc`" + +msgid ":c:func:`PyObject_Calloc`" +msgstr ":c:func:`PyObject_Calloc`" + +msgid ":c:macro:`PyObject_New`" +msgstr "" + +msgid ":c:macro:`PyObject_NewVar`" +msgstr "" + +msgid ":c:func:`PyType_GenericAlloc`" +msgstr "" + +msgid ":c:member:`~PyTypeObject.tp_free`" +msgstr ":c:member:`~PyTypeObject.tp_free`" + msgid "Default Memory Allocators" msgstr "" @@ -487,6 +534,24 @@ msgstr "" msgid "``\"malloc_debug\"``" msgstr "``\"malloc_debug\"``" +msgid "Free-threaded build" +msgstr "" + +msgid "``\"mimalloc\"``" +msgstr "" + +msgid "``mimalloc``" +msgstr "" + +msgid "Free-threaded debug build" +msgstr "" + +msgid "``\"mimalloc_debug\"``" +msgstr "" + +msgid "``mimalloc`` + debug" +msgstr "" + msgid "Legend:" msgstr "Legenda:" @@ -501,9 +566,7 @@ msgstr "" msgid "``pymalloc``: :ref:`pymalloc memory allocator `." msgstr "" -msgid "" -"``mimalloc``: :ref:`mimalloc memory allocator `. The pymalloc " -"allocator will be used if mimalloc support isn't available." +msgid "``mimalloc``: :ref:`mimalloc memory allocator `." msgstr "" msgid "" @@ -584,24 +647,9 @@ msgstr ":c:func:`PyMem_RawFree`" msgid ":c:func:`PyMem_Malloc`," msgstr ":c:func:`PyMem_Malloc`," -msgid ":c:func:`PyMem_Realloc`" -msgstr ":c:func:`PyMem_Realloc`" - msgid ":c:func:`PyMem_Calloc`" msgstr ":c:func:`PyMem_Calloc`" -msgid ":c:func:`PyMem_Free`" -msgstr ":c:func:`PyMem_Free`" - -msgid ":c:func:`PyObject_Malloc`" -msgstr ":c:func:`PyObject_Malloc`" - -msgid ":c:func:`PyObject_Realloc`" -msgstr ":c:func:`PyObject_Realloc`" - -msgid ":c:func:`PyObject_Calloc`" -msgstr ":c:func:`PyObject_Calloc`" - msgid ":c:func:`PyObject_Free`" msgstr ":c:func:`PyObject_Free`" @@ -860,6 +908,12 @@ msgid "" "envvar:`PYTHONMALLOC` environment variable (ex: ``PYTHONMALLOC=malloc``)." msgstr "" +msgid "" +"Typically, it makes sense to disable the pymalloc allocator when building " +"Python with AddressSanitizer (:option:`--with-address-sanitizer`) which " +"helps uncover low level bugs within the C code." +msgstr "" + msgid "Customize pymalloc Arena Allocator" msgstr "" @@ -890,10 +944,33 @@ msgid "The mimalloc allocator" msgstr "" msgid "" -"Python supports the mimalloc allocator when the underlying platform support " -"is available. mimalloc \"is a general purpose allocator with excellent " -"performance characteristics. Initially developed by Daan Leijen for the " -"runtime systems of the Koka and Lean languages.\"" +"Python supports the `mimalloc `__ " +"allocator when the underlying platform support is available. mimalloc is a " +"general purpose allocator with excellent performance characteristics, " +"initially developed by Daan Leijen for the runtime systems of the Koka and " +"Lean languages." +msgstr "" + +msgid "" +"Unlike :ref:`pymalloc `, which is optimized for small objects (512 " +"bytes or fewer), mimalloc handles allocations of any size." +msgstr "" + +msgid "" +"In the :term:`free-threaded ` build, mimalloc is the default " +"and **required** allocator for the :c:macro:`PYMEM_DOMAIN_MEM` and :c:macro:" +"`PYMEM_DOMAIN_OBJ` domains. It cannot be disabled in free-threaded builds. " +"The free-threaded build uses per-thread mimalloc heaps, which allows " +"allocation and deallocation to proceed without locking in most cases." +msgstr "" + +msgid "" +"In the default (non-free-threaded) build, mimalloc is available but not the " +"default allocator. It can be selected at runtime using :envvar:" +"`PYTHONMALLOC`\\ ``=mimalloc`` (or ``mimalloc_debug`` to include :ref:`debug " +"hooks `). It can be disabled at build time using the :" +"option:`--without-mimalloc` configure option, but this option cannot be " +"combined with :option:`--disable-gil`." msgstr "" msgid "tracemalloc C API" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index e26bbffc66..9b2ac4c5a6 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,6 +32,11 @@ msgid "" "other object." msgstr "" +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python memoryview " +"type. This is the same object as :class:`memoryview` in the Python layer." +msgstr "" + msgid "" "Create a memoryview object from an object that provides the buffer " "interface. If *obj* supports writable buffer exports, the memoryview object " diff --git a/c-api/method.po b/c-api/method.po index 6eea86ee56..3b50dd01f2 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/module.po b/c-api/module.po index 8c20501ca4..a12b5ac557 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +28,7 @@ msgstr "" msgid "" "This instance of :c:type:`PyTypeObject` represents the Python module type. " -"This is exposed to Python programs as ``types.ModuleType``." +"This is exposed to Python programs as :py:class:`types.ModuleType`." msgstr "" msgid "" @@ -76,6 +75,11 @@ msgid "" "__dict__`." msgstr "" +msgid "" +"The returned reference is borrowed from the module; it is valid until the " +"module is destroyed." +msgstr "" + msgid "" "Return *module*'s :attr:`~module.__name__` value. If the module does not " "provide one, or if it is not a string, :exc:`SystemError` is raised and " @@ -87,6 +91,12 @@ msgid "" "``'utf-8'``." msgstr "" +msgid "" +"The returned buffer is only valid until the module is renamed or destroyed. " +"Note that Python code may rename a module by setting its :py:attr:`~module." +"__name__` attribute." +msgstr "" + msgid "" "Return the \"state\" of the module, that is, a pointer to the block of " "memory allocated at module creation time, or ``NULL``. See :c:member:" @@ -98,6 +108,12 @@ msgid "" "was created, or ``NULL`` if the module wasn't created from a definition." msgstr "" +msgid "" +"On error, return ``NULL`` with an exception set. Use :c:func:" +"`PyErr_Occurred` to tell this case apart from a missing :c:type:`!" +"PyModuleDef`." +msgstr "" + msgid "" "Return the name of the file from which *module* was loaded using *module*'s :" "attr:`~module.__file__` attribute. If this is not defined, or if it is not " @@ -110,31 +126,48 @@ msgid "" "encoded to 'utf-8'." msgstr "" +msgid "" +"The returned buffer is only valid until the module's :py:attr:`~module." +"__file__` attribute is reassigned or the module is destroyed." +msgstr "" + msgid "" ":c:func:`PyModule_GetFilename` raises :exc:`UnicodeEncodeError` on " "unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." msgstr "" -msgid "Initializing C modules" +msgid "Module definitions" +msgstr "" + +msgid "" +"The functions in the previous section work on any module object, including " +"modules imported from Python code." +msgstr "" + +msgid "" +"Modules defined using the C API typically use a *module definition*, :c:type:" +"`PyModuleDef` -- a statically allocated, constant “description\" of how a " +"module should be created." msgstr "" msgid "" -"Modules objects are usually created from extension modules (shared libraries " -"which export an initialization function), or compiled-in modules (where the " -"initialization function is added using :c:func:`PyImport_AppendInittab`). " -"See :ref:`building` or :ref:`extending-with-embedding` for details." +"The definition is usually used to define an extension's “main” module object " +"(see :ref:`extension-modules` for details). It is also used to :ref:`create " +"extension modules dynamically `." msgstr "" msgid "" -"The initialization function can either pass a module definition instance to :" -"c:func:`PyModule_Create`, and return the resulting module object, or request " -"\"multi-phase initialization\" by returning the definition struct itself." +"Unlike :c:func:`PyModule_New`, the definition allows management of *module " +"state* -- a piece of memory that is allocated and cleared together with the " +"module object. Unlike the module's Python attributes, Python code cannot " +"replace or delete data stored in module state." msgstr "" msgid "" "The module definition struct, which holds all information needed to create a " -"module object. There is usually only one statically initialized variable of " -"this type for each module." +"module object. This structure must be statically allocated (or be otherwise " +"guaranteed to be valid while any modules created from it exist). Usually, " +"there is only one variable of this type for each extension module." msgstr "" msgid "Always initialize this member to :c:macro:`PyModuleDef_HEAD_INIT`." @@ -161,15 +194,17 @@ msgid "" msgstr "" msgid "" -"Setting ``m_size`` to ``-1`` means that the module does not support sub-" -"interpreters, because it has global state." +"Setting it to a non-negative value means that the module can be re-" +"initialized and specifies the additional amount of memory it requires for " +"its state." msgstr "" msgid "" -"Setting it to a non-negative value means that the module can be re-" -"initialized and specifies the additional amount of memory it requires for " -"its state. Non-negative ``m_size`` is required for multi-phase " -"initialization." +"Setting ``m_size`` to ``-1`` means that the module does not support sub-" +"interpreters, because it has global state. Negative ``m_size`` is only " +"allowed when using :ref:`legacy single-phase initialization ` or when :ref:`creating modules dynamically `." msgstr "" msgid "See :PEP:`3121` for more details." @@ -182,8 +217,8 @@ msgstr "" msgid "" "An array of slot definitions for multi-phase initialization, terminated by a " -"``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must " -"be ``NULL``." +"``{0, NULL}`` entry. When using legacy single-phase initialization, " +"*m_slots* must be ``NULL``." msgstr "" msgid "" @@ -226,86 +261,10 @@ msgid "" "not needed." msgstr "" -msgid "Single-phase initialization" -msgstr "" - -msgid "" -"The module initialization function may create and return the module object " -"directly. This is referred to as \"single-phase initialization\", and uses " -"one of the following two module creation functions:" -msgstr "" - -msgid "" -"Create a new module object, given the definition in *def*. This behaves " -"like :c:func:`PyModule_Create2` with *module_api_version* set to :c:macro:" -"`PYTHON_API_VERSION`." -msgstr "" - -msgid "" -"Create a new module object, given the definition in *def*, assuming the API " -"version *module_api_version*. If that version does not match the version of " -"the running interpreter, a :exc:`RuntimeWarning` is emitted." -msgstr "" - -msgid "" -"Most uses of this function should be using :c:func:`PyModule_Create` " -"instead; only use this if you are sure you need it." -msgstr "" - -msgid "" -"Before it is returned from in the initialization function, the resulting " -"module object is typically populated using functions like :c:func:" -"`PyModule_AddObjectRef`." -msgstr "" - -msgid "Multi-phase initialization" -msgstr "" - -msgid "" -"An alternate way to specify extensions is to request \"multi-phase " -"initialization\". Extension modules created this way behave more like Python " -"modules: the initialization is split between the *creation phase*, when the " -"module object is created, and the *execution phase*, when it is populated. " -"The distinction is similar to the :py:meth:`!__new__` and :py:meth:`!" -"__init__` methods of classes." -msgstr "" - -msgid "" -"Unlike modules created using single-phase initialization, these modules are " -"not singletons: if the *sys.modules* entry is removed and the module is re-" -"imported, a new module object is created, and the old module is subject to " -"normal garbage collection -- as with Python modules. By default, multiple " -"modules created from the same definition should be independent: changes to " -"one should not affect the others. This means that all state should be " -"specific to the module object (using e.g. using :c:func:" -"`PyModule_GetState`), or its contents (such as the module's :attr:`~object." -"__dict__` or individual classes created with :c:func:`PyType_FromSpec`)." -msgstr "" - -msgid "" -"All modules created using multi-phase initialization are expected to " -"support :ref:`sub-interpreters `. Making sure " -"multiple modules are independent is typically enough to achieve this." -msgstr "" - -msgid "" -"To request multi-phase initialization, the initialization function " -"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :" -"c:member:`~PyModuleDef.m_slots`. Before it is returned, the ``PyModuleDef`` " -"instance must be initialized with the following function:" -msgstr "" - -msgid "" -"Ensures a module definition is a properly initialized Python object that " -"correctly reports its type and reference count." -msgstr "" - -msgid "Returns *def* cast to ``PyObject*``, or ``NULL`` if an error occurred." +msgid "The type of ``PyModuleDef`` objects." msgstr "" -msgid "" -"The *m_slots* member of the module definition must point to an array of " -"``PyModuleDef_Slot`` structures:" +msgid "Module slots" msgstr "" msgid "A slot ID, chosen from the available values explained below." @@ -314,9 +273,6 @@ msgstr "" msgid "Value of the slot, whose meaning depends on the slot ID." msgstr "" -msgid "The *m_slots* array must be terminated by a slot with id 0." -msgstr "" - msgid "The available slot types are:" msgstr "" @@ -426,23 +382,43 @@ msgid "" "``Py_MOD_GIL_USED``." msgstr "" -msgid "See :PEP:`489` for more details on multi-phase initialization." +msgid "Creating extension modules dynamically" msgstr "" -msgid "Low-level module creation functions" +msgid "" +"The following functions may be used to create a module outside of an " +"extension's :ref:`initialization function `. They are " +"also used in :ref:`single-phase initialization `." msgstr "" msgid "" -"The following functions are called under the hood when using multi-phase " -"initialization. They can be used directly, for example when creating module " -"objects dynamically. Note that both ``PyModule_FromDefAndSpec`` and " -"``PyModule_ExecDef`` must be called to fully initialize a module." +"Create a new module object, given the definition in *def*. This is a macro " +"that calls :c:func:`PyModule_Create2` with *module_api_version* set to :c:" +"macro:`PYTHON_API_VERSION`, or to :c:macro:`PYTHON_ABI_VERSION` if using " +"the :ref:`limited API `." msgstr "" msgid "" -"Create a new module object, given the definition in *def* and the ModuleSpec " -"*spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` with " -"*module_api_version* set to :c:macro:`PYTHON_API_VERSION`." +"Create a new module object, given the definition in *def*, assuming the API " +"version *module_api_version*. If that version does not match the version of " +"the running interpreter, a :exc:`RuntimeWarning` is emitted." +msgstr "" + +msgid "" +"This function does not support slots. The :c:member:`~PyModuleDef.m_slots` " +"member of *def* must be ``NULL``." +msgstr "" + +msgid "" +"Most uses of this function should be using :c:func:`PyModule_Create` " +"instead; only use this if you are sure you need it." +msgstr "" + +msgid "" +"This macro calls :c:func:`PyModule_FromDefAndSpec2` with " +"*module_api_version* set to :c:macro:`PYTHON_API_VERSION`, or to :c:macro:" +"`PYTHON_ABI_VERSION` if using the :ref:`limited API `." msgstr "" msgid "" @@ -452,6 +428,12 @@ msgid "" "emitted." msgstr "" +msgid "" +"Note that this does not process execution slots (:c:data:`Py_mod_exec`). " +"Both ``PyModule_FromDefAndSpec`` and ``PyModule_ExecDef`` must be called to " +"fully initialize a module." +msgstr "" + msgid "" "Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` " "instead; only use this if you are sure you need it." @@ -460,31 +442,25 @@ msgstr "" msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." msgstr "" -msgid "" -"Set the docstring for *module* to *docstring*. This function is called " -"automatically when creating a module from ``PyModuleDef``, using either " -"``PyModule_Create`` or ``PyModule_FromDefAndSpec``." +msgid "The C API version. Defined for backwards compatibility." msgstr "" msgid "" -"Add the functions from the ``NULL`` terminated *functions* array to " -"*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " -"individual entries (due to the lack of a shared module namespace, module " -"level \"functions\" implemented in C typically receive the module as their " -"first parameter, making them similar to instance methods on Python classes). " -"This function is called automatically when creating a module from " -"``PyModuleDef``, using either ``PyModule_Create`` or " -"``PyModule_FromDefAndSpec``." +"Currently, this constant is not updated in new Python versions, and is not " +"useful for versioning. This may change in the future." +msgstr "" + +msgid "Defined as ``3`` for backwards compatibility." msgstr "" msgid "Support functions" msgstr "" msgid "" -"The module initialization function (if using single phase initialization) or " -"a function called from a module execution slot (if using multi-phase " -"initialization), can use the following functions to help initialize the " -"module state:" +"The following functions are provided to help initialize a module state. They " +"are intended for a module's execution slots (:c:data:`Py_mod_exec`), the " +"initialization function for legacy :ref:`single-phase initialization `, or code that creates modules dynamically." msgstr "" msgid "" @@ -640,23 +616,56 @@ msgid "" "``-1`` with an exception set on error, ``0`` on success." msgstr "" +msgid "" +"Add the functions from the ``NULL`` terminated *functions* array to " +"*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " +"individual entries (due to the lack of a shared module namespace, module " +"level \"functions\" implemented in C typically receive the module as their " +"first parameter, making them similar to instance methods on Python classes)." +msgstr "" + +msgid "" +"This function is called automatically when creating a module from " +"``PyModuleDef`` (such as when using :ref:`multi-phase-initialization`, " +"``PyModule_Create``, or ``PyModule_FromDefAndSpec``). Some module authors " +"may prefer defining functions in multiple :c:type:`PyMethodDef` arrays; in " +"that case they should call this function directly." +msgstr "" + +msgid "" +"The *functions* array must be statically allocated (or otherwise guaranteed " +"to outlive the module object)." +msgstr "" + +msgid "" +"Set the docstring for *module* to *docstring*. This function is called " +"automatically when creating a module from ``PyModuleDef`` (such as when " +"using :ref:`multi-phase-initialization`, ``PyModule_Create``, or " +"``PyModule_FromDefAndSpec``)." +msgstr "" + +msgid "Return ``0`` on success. Return ``-1`` with an exception set on error." +msgstr "" + msgid "" "Indicate that *module* does or does not support running without the global " "interpreter lock (GIL), using one of the values from :c:macro:`Py_mod_gil`. " -"It must be called during *module*'s initialization function. If this " -"function is not called during module initialization, the import machinery " -"assumes the module does not support running without the GIL. This function " -"is only available in Python builds configured with :option:`--disable-gil`. " -"Return ``-1`` with an exception set on error, ``0`` on success." +"It must be called during *module*'s initialization function when using :ref:" +"`single-phase-initialization`. If this function is not called during module " +"initialization, the import machinery assumes the module does not support " +"running without the GIL. This function is only available in Python builds " +"configured with :option:`--disable-gil`. Return ``-1`` with an exception set " +"on error, ``0`` on success." msgstr "" -msgid "Module lookup" +msgid "Module lookup (single-phase initialization)" msgstr "" msgid "" -"Single-phase initialization creates singleton modules that can be looked up " -"in the context of the current interpreter. This allows the module object to " -"be retrieved later with only a reference to the module definition." +"The legacy :ref:`single-phase initialization ` " +"initialization scheme creates singleton modules that can be looked up in the " +"context of the current interpreter. This allows the module object to be " +"retrieved later with only a reference to the module definition." msgstr "" msgid "" @@ -683,7 +692,8 @@ msgid "Only effective on modules created using single-phase initialization." msgstr "" msgid "" -"Python calls ``PyState_AddModule`` automatically after importing a module, " +"Python calls ``PyState_AddModule`` automatically after importing a module " +"that uses :ref:`single-phase initialization `, " "so it is unnecessary (but harmless) to call it from module initialization " "code. An explicit call is needed only if the module's own init code " "subsequently calls ``PyState_FindModule``. The function is mainly intended " @@ -692,6 +702,11 @@ msgid "" "state updates)." msgstr "" +msgid "" +"If a module was attached previously using the same *def*, it is replaced by " +"the new *module*." +msgstr "" + msgid "The caller must have an :term:`attached thread state`." msgstr "" diff --git a/c-api/monitoring.po b/c-api/monitoring.po index 28646a194a..73eed06c49 100644 --- a/c-api/monitoring.po +++ b/c-api/monitoring.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-05-11 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -146,7 +145,7 @@ msgstr "" msgid "" "Monitoring states can be managed with the help of monitoring scopes. A scope " -"would typically correspond to a python function." +"would typically correspond to a Python function." msgstr "" msgid "" @@ -188,10 +187,10 @@ msgid "Event" msgstr "Zdarzenie" msgid ":monitoring-event:`BRANCH_LEFT`" -msgstr "" +msgstr ":monitoring-event:`BRANCH_LEFT`" msgid ":monitoring-event:`BRANCH_RIGHT`" -msgstr "" +msgstr ":monitoring-event:`BRANCH_RIGHT`" msgid ":monitoring-event:`CALL`" msgstr ":monitoring-event:`CALL`" diff --git a/c-api/none.po b/c-api/none.po index 9fcb582a4d..136faa464d 100644 --- a/c-api/none.po +++ b/c-api/none.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/number.po b/c-api/number.po index 3ae40b390e..b9358362a7 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# haaritsubaki, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: haaritsubaki, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/object.po b/c-api/object.po index 75f390d407..ed5c6fc789 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -136,7 +134,7 @@ msgstr "" msgid "" "Flag to be used with multiple functions that print the object (like :c:func:" "`PyObject_Print` and :c:func:`PyFile_WriteObject`). If passed, these " -"function would use the :func:`str` of the object instead of the :func:`repr`." +"functions use the :func:`str` of the object instead of the :func:`repr`." msgstr "" msgid "" @@ -369,6 +367,9 @@ msgid "" "function." msgstr "" +msgid "If argument is ``NULL``, return the string ``''``." +msgstr "" + msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." @@ -397,6 +398,10 @@ msgid "" "bytes object." msgstr "" +msgid "" +"If argument is ``NULL``, return the :class:`bytes` object ``b''``." +msgstr "" + msgid "" "Return ``1`` if the class *derived* is identical to or derived from the " "class *cls*, otherwise return ``0``. In case of an error, return ``-1``." @@ -606,20 +611,27 @@ msgstr "" msgid "Clear the managed dictionary of *obj*." msgstr "" +msgid "" +"This function must only be called in a clear function of the type which has " +"the :c:macro:`Py_TPFLAGS_MANAGED_DICT` flag set." +msgstr "" + msgid "" "Enable `deferred reference counting `_ on *obj*, if supported by the runtime. In " "the :term:`free-threaded ` build, this allows the " "interpreter to avoid reference count adjustments to *obj*, which may improve " "multi-threaded performance. The tradeoff is that *obj* will only be " -"deallocated by the tracing garbage collector." +"deallocated by the tracing garbage collector, and not when the interpreter " +"no longer has any references to it." msgstr "" msgid "" "This function returns ``1`` if deferred reference counting is enabled on " -"*obj* (including when it was enabled before the call), and ``0`` if deferred " -"reference counting is not supported or if the hint was ignored by the " -"runtime. This function is thread-safe, and cannot fail." +"*obj*, and ``0`` if deferred reference counting is not supported or if the " +"hint was ignored by the interpreter, such as when deferred reference " +"counting is already enabled on *obj*. This function is thread-safe, and " +"cannot fail." msgstr "" msgid "" @@ -631,7 +643,8 @@ msgstr "" msgid "" "This function is intended to be used soon after *obj* is created, by the " -"code that creates it." +"code that creates it, such as in the object's :c:member:`~PyTypeObject." +"tp_new` slot." msgstr "" msgid "" @@ -691,13 +704,13 @@ msgstr "" msgid "" ":c:func:`PyUnstable_EnableTryIncRef` must have been called earlier on *obj* " -"or this function may spuriously return ``0`` in the :term:`free threading` " -"build." +"or this function may spuriously return ``0`` in the :term:`free-threaded " +"build`." msgstr "" msgid "" "This function is logically equivalent to the following C code, except that " -"it behaves atomically in the :term:`free threading` build::" +"it behaves atomically in the :term:`free-threaded build`::" msgstr "" msgid "" @@ -778,10 +791,10 @@ msgid "" msgstr "" msgid "" -"On a :term:`free threaded ` build, this checks if *op*'s :" -"term:`reference count` is equal to one and additionally checks if *op* is " -"only used by this thread. :c:expr:`Py_REFCNT(op) == 1` is **not** thread-" -"safe on free threaded builds; prefer this function." +"On a :term:`free-threaded build`, this checks if *op*'s :term:`reference " +"count` is equal to one and additionally checks if *op* is only used by this " +"thread. :c:expr:`Py_REFCNT(op) == 1` is **not** thread-safe on free-threaded " +"builds; prefer this function." msgstr "" msgid "" @@ -797,7 +810,7 @@ msgid "repr" msgstr "" msgid "ascii" -msgstr "" +msgstr "ascii" msgid "string" msgstr "ciąg znaków" diff --git a/c-api/picklebuffer.po b/c-api/picklebuffer.po new file mode 100644 index 0000000000..97ab949709 --- /dev/null +++ b/c-api/picklebuffer.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-11-17 14:16+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Pickle buffer objects" +msgstr "" + +msgid "" +"A :class:`pickle.PickleBuffer` object wraps a :ref:`buffer-providing object " +"` for out-of-band data transfer with the :mod:`pickle` module." +msgstr "" + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python pickle buffer " +"type. This is the same object as :class:`pickle.PickleBuffer` in the Python " +"layer." +msgstr "" + +msgid "" +"Return true if *op* is a pickle buffer instance. This function always " +"succeeds." +msgstr "" + +msgid "Create a pickle buffer from the object *obj*." +msgstr "" + +msgid "" +"This function will fail if *obj* doesn't support the :ref:`buffer protocol " +"`." +msgstr "" + +msgid "" +"On success, return a new pickle buffer instance. On failure, set an " +"exception and return ``NULL``." +msgstr "" + +msgid "Analogous to calling :class:`pickle.PickleBuffer` with *obj* in Python." +msgstr "" + +msgid "" +"Get a pointer to the underlying :c:type:`Py_buffer` that the pickle buffer " +"wraps." +msgstr "" + +msgid "" +"The returned pointer is valid as long as *picklebuf* is alive and has not " +"been released. The caller must not modify or free the returned :c:type:" +"`Py_buffer`. If the pickle buffer has been released, raise :exc:`ValueError`." +msgstr "" + +msgid "" +"On success, return a pointer to the buffer view. On failure, set an " +"exception and return ``NULL``." +msgstr "" + +msgid "Release the underlying buffer held by the pickle buffer." +msgstr "" + +msgid "" +"Return ``0`` on success. On failure, set an exception and return ``-1``." +msgstr "" + +msgid "Analogous to calling :meth:`pickle.PickleBuffer.release` in Python." +msgstr "" + +msgid "object" +msgstr "obiekt" + +msgid "PickleBuffer" +msgstr "" diff --git a/c-api/profiling.po b/c-api/profiling.po new file mode 100644 index 0000000000..2df68523e8 --- /dev/null +++ b/c-api/profiling.po @@ -0,0 +1,265 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2026-02-25 14:46+0000\n" +"Last-Translator: python-doc bot, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Profiling and tracing" +msgstr "" + +msgid "" +"The Python interpreter provides some low-level support for attaching " +"profiling and execution tracing facilities. These are used for profiling, " +"debugging, and coverage analysis tools." +msgstr "" + +msgid "" +"This C interface allows the profiling or tracing code to avoid the overhead " +"of calling through Python-level callable objects, making a direct C function " +"call instead. The essential attributes of the facility have not changed; " +"the interface allows trace functions to be installed per-thread, and the " +"basic events reported to the trace function are the same as had been " +"reported to the Python-level trace functions in previous versions." +msgstr "" + +msgid "" +"The type of the trace function registered using :c:func:`PyEval_SetProfile` " +"and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " +"the registration function as *obj*, *frame* is the frame object to which the " +"event pertains, *what* is one of the constants :c:data:`PyTrace_CALL`, :c:" +"data:`PyTrace_EXCEPTION`, :c:data:`PyTrace_LINE`, :c:data:`PyTrace_RETURN`, :" +"c:data:`PyTrace_C_CALL`, :c:data:`PyTrace_C_EXCEPTION`, :c:data:" +"`PyTrace_C_RETURN`, or :c:data:`PyTrace_OPCODE`, and *arg* depends on the " +"value of *what*:" +msgstr "" + +msgid "Value of *what*" +msgstr "" + +msgid "Meaning of *arg*" +msgstr "" + +msgid ":c:data:`PyTrace_CALL`" +msgstr ":c:data:`PyTrace_CALL`" + +msgid "Always :c:data:`Py_None`." +msgstr "Zawsze :c:data:`Py_None`." + +msgid ":c:data:`PyTrace_EXCEPTION`" +msgstr ":c:data:`PyTrace_EXCEPTION`" + +msgid "Exception information as returned by :func:`sys.exc_info`." +msgstr "" + +msgid ":c:data:`PyTrace_LINE`" +msgstr ":c:data:`PyTrace_LINE`" + +msgid ":c:data:`PyTrace_RETURN`" +msgstr ":c:data:`PyTrace_RETURN`" + +msgid "" +"Value being returned to the caller, or ``NULL`` if caused by an exception." +msgstr "" + +msgid ":c:data:`PyTrace_C_CALL`" +msgstr ":c:data:`PyTrace_C_CALL`" + +msgid "Function object being called." +msgstr "" + +msgid ":c:data:`PyTrace_C_EXCEPTION`" +msgstr ":c:data:`PyTrace_C_EXCEPTION`" + +msgid ":c:data:`PyTrace_C_RETURN`" +msgstr ":c:data:`PyTrace_C_RETURN`" + +msgid ":c:data:`PyTrace_OPCODE`" +msgstr ":c:data:`PyTrace_OPCODE`" + +msgid "" +"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " +"a new call to a function or method is being reported, or a new entry into a " +"generator. Note that the creation of the iterator for a generator function " +"is not reported as there is no control transfer to the Python bytecode in " +"the corresponding frame." +msgstr "" + +msgid "" +"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " +"an exception has been raised. The callback function is called with this " +"value for *what* when after any bytecode is processed after which the " +"exception becomes set within the frame being executed. The effect of this " +"is that as exception propagation causes the Python stack to unwind, the " +"callback is called upon return to each frame as the exception propagates. " +"Only trace functions receive these events; they are not needed by the " +"profiler." +msgstr "" + +msgid "" +"The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " +"function (but not a profiling function) when a line-number event is being " +"reported. It may be disabled for a frame by setting :attr:`~frame." +"f_trace_lines` to *0* on that frame." +msgstr "" + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a call is about to return." +msgstr "" + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function is about to be called." +msgstr "" + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function has raised an exception." +msgstr "" + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function has returned." +msgstr "" + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " +"not profiling functions) when a new opcode is about to be executed. This " +"event is not emitted by default: it must be explicitly requested by setting :" +"attr:`~frame.f_trace_opcodes` to *1* on the frame." +msgstr "" + +msgid "" +"Set the profiler function to *func*. The *obj* parameter is passed to the " +"function as its first parameter, and may be any Python object, or ``NULL``. " +"If the profile function needs to maintain state, using a different value for " +"*obj* for each thread provides a convenient and thread-safe place to store " +"it. The profile function is called for all monitored events except :c:data:" +"`PyTrace_LINE` :c:data:`PyTrace_OPCODE` and :c:data:`PyTrace_EXCEPTION`." +msgstr "" + +msgid "See also the :func:`sys.setprofile` function." +msgstr "" + +msgid "The caller must have an :term:`attached thread state`." +msgstr "" + +msgid "" +"Like :c:func:`PyEval_SetProfile` but sets the profile function in all " +"running threads belonging to the current interpreter instead of the setting " +"it only on the current thread." +msgstr "" + +msgid "" +"As :c:func:`PyEval_SetProfile`, this function ignores any exceptions raised " +"while setting the profile functions in all threads." +msgstr "" + +msgid "" +"Set the tracing function to *func*. This is similar to :c:func:" +"`PyEval_SetProfile`, except the tracing function does receive line-number " +"events and per-opcode events, but does not receive any event related to C " +"function objects being called. Any trace function registered using :c:func:" +"`PyEval_SetTrace` will not receive :c:data:`PyTrace_C_CALL`, :c:data:" +"`PyTrace_C_EXCEPTION` or :c:data:`PyTrace_C_RETURN` as a value for the " +"*what* parameter." +msgstr "" + +msgid "See also the :func:`sys.settrace` function." +msgstr "" + +msgid "" +"Like :c:func:`PyEval_SetTrace` but sets the tracing function in all running " +"threads belonging to the current interpreter instead of the setting it only " +"on the current thread." +msgstr "" + +msgid "" +"As :c:func:`PyEval_SetTrace`, this function ignores any exceptions raised " +"while setting the trace functions in all threads." +msgstr "" + +msgid "Reference tracing" +msgstr "" + +msgid "" +"The type of the trace function registered using :c:func:" +"`PyRefTracer_SetTracer`. The first parameter is a Python object that has " +"been just created (when **event** is set to :c:data:`PyRefTracer_CREATE`) or " +"about to be destroyed (when **event** is set to :c:data:" +"`PyRefTracer_DESTROY`). The **data** argument is the opaque pointer that was " +"provided when :c:func:`PyRefTracer_SetTracer` was called." +msgstr "" + +msgid "" +"If a new tracing function is registered replacing the current one, a call to " +"the trace function will be made with the object set to **NULL** and " +"**event** set to :c:data:`PyRefTracer_TRACKER_REMOVED`. This will happen " +"just before the new function is registered." +msgstr "" + +msgid "" +"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " +"a Python object has been created." +msgstr "" + +msgid "" +"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " +"a Python object has been destroyed." +msgstr "" + +msgid "" +"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " +"the current tracer is about to be replaced by a new one." +msgstr "" + +msgid "" +"Register a reference tracer function. The function will be called when a new " +"Python object has been created or when an object is going to be destroyed. " +"If **data** is provided it must be an opaque pointer that will be provided " +"when the tracer function is called. Return ``0`` on success. Set an " +"exception and return ``-1`` on error." +msgstr "" + +msgid "" +"Note that tracer functions **must not** create Python objects inside or " +"otherwise the call will be re-entrant. The tracer also **must not** clear " +"any existing exception or set an exception. A :term:`thread state` will be " +"active every time the tracer function is called." +msgstr "" + +msgid "" +"There must be an :term:`attached thread state` when calling this function." +msgstr "" + +msgid "" +"If another tracer function was already registered, the old function will be " +"called with **event** set to :c:data:`PyRefTracer_TRACKER_REMOVED` just " +"before the new function is registered." +msgstr "" + +msgid "" +"Get the registered reference tracer function and the value of the opaque " +"data pointer that was registered when :c:func:`PyRefTracer_SetTracer` was " +"called. If no tracer was registered this function will return NULL and will " +"set the **data** pointer to NULL." +msgstr "" diff --git a/c-api/refcounting.po b/c-api/refcounting.po index d77e8e119c..27e4db4402 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -47,7 +47,7 @@ msgid "" msgstr "" msgid "" -"On :term:`free threaded ` builds of Python, returning 1 " +"On :term:`free-threaded builds ` of Python, returning 1 " "isn't sufficient to determine if it's safe to treat *o* as having no access " "by other threads. Use :c:func:`PyUnstable_Object_IsUniquelyReferenced` for " "that instead." @@ -242,7 +242,7 @@ msgid "Py_SETREF(dst, src);" msgstr "" msgid "" -"That arranges to set *dst* to *src* _before_ releasing the reference to the " +"That arranges to set *dst* to *src* *before* releasing the reference to the " "old value of *dst*, so that any code triggered as a side-effect of *dst* " "getting torn down no longer believes *dst* points to a valid object." msgstr "" diff --git a/c-api/sequence.po b/c-api/sequence.po index 71f873a87b..03d9ff0bf2 100644 --- a/c-api/sequence.po +++ b/c-api/sequence.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/set.po b/c-api/set.po index 8c2deb5281..00d9c1baf5 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -153,9 +152,9 @@ msgid "" "Return ``1`` if found and removed, ``0`` if not found (no action taken), and " "``-1`` if an error is encountered. Does not raise :exc:`KeyError` for " "missing keys. Raise a :exc:`TypeError` if the *key* is unhashable. Unlike " -"the Python :meth:`~frozenset.discard` method, this function does not " -"automatically convert unhashable sets into temporary frozensets. Raise :exc:" -"`SystemError` if *set* is not an instance of :class:`set` or its subtype." +"the Python :meth:`~set.discard` method, this function does not automatically " +"convert unhashable sets into temporary frozensets. Raise :exc:`SystemError` " +"if *set* is not an instance of :class:`set` or its subtype." msgstr "" msgid "" @@ -171,6 +170,24 @@ msgid "" "`set` or its subtype." msgstr "" +msgid "Deprecated API" +msgstr "" + +msgid "" +"A :term:`soft deprecated` constant representing the size of an internal " +"preallocated table inside :c:type:`PySetObject` instances." +msgstr "" + +msgid "" +"This is documented solely for completeness, as there are no guarantees that " +"a given version of CPython uses preallocated tables with a fixed size. In " +"code that does not deal with unstable set internals, :c:macro:`!" +"PySet_MINSIZE` can be replaced with a small constant like ``8``." +msgstr "" + +msgid "If looking for the size of a set, use :c:func:`PySet_Size` instead." +msgstr "" + msgid "object" msgstr "obiekt" diff --git a/c-api/stable.po b/c-api/stable.po index 389fc3fc50..5e3e4f7a15 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/structures.po b/c-api/structures.po index c2b0e05add..b251e0ba62 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,16 +53,60 @@ msgid "" "In a normal \"release\" build, it contains only the object's reference count " "and a pointer to the corresponding type object. Nothing is actually declared " "to be a :c:type:`PyObject`, but every pointer to a Python object can be cast " -"to a :c:expr:`PyObject*`. Access to the members must be done by using the " -"macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." +"to a :c:expr:`PyObject*`." msgstr "" msgid "" -"This is an extension of :c:type:`PyObject` that adds the :c:member:" -"`~PyVarObject.ob_size` field. This is only used for objects that have some " -"notion of *length*. This type does not often appear in the Python/C API. " -"Access to the members must be done by using the macros :c:macro:" -"`Py_REFCNT`, :c:macro:`Py_TYPE`, and :c:macro:`Py_SIZE`." +"The members must not be accessed directly; instead use macros such as :c:" +"macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." +msgstr "" + +msgid "" +"The object's reference count, as returned by :c:macro:`Py_REFCNT`. Do not " +"use this field directly; instead use functions and macros such as :c:macro:`!" +"Py_REFCNT`, :c:func:`Py_INCREF` and :c:func:`Py_DecRef`." +msgstr "" + +msgid "" +"The field type may be different from ``Py_ssize_t``, depending on build " +"configuration and platform." +msgstr "" + +msgid "" +"The object's type. Do not use this field directly; use :c:macro:`Py_TYPE` " +"and :c:func:`Py_SET_TYPE` instead." +msgstr "" + +msgid "" +"An extension of :c:type:`PyObject` that adds the :c:member:`~PyVarObject." +"ob_size` field. This is intended for objects that have some notion of " +"*length*." +msgstr "" + +msgid "" +"As with :c:type:`!PyObject`, the members must not be accessed directly; " +"instead use macros such as :c:macro:`Py_SIZE`, :c:macro:`Py_REFCNT` and :c:" +"macro:`Py_TYPE`." +msgstr "" + +msgid "" +"A size field, whose contents should be considered an object's internal " +"implementation detail." +msgstr "" + +msgid "Do not use this field directly; use :c:macro:`Py_SIZE` instead." +msgstr "" + +msgid "" +"Object creation functions such as :c:func:`PyObject_NewVar` will generally " +"set this field to the requested size (number of items). After creation, " +"arbitrary values can be stored in :c:member:`!ob_size` using :c:macro:" +"`Py_SET_SIZE`." +msgstr "" + +msgid "" +"To get an object's publicly exposed length, as returned by the Python " +"function :py:func:`len`, use :c:func:`PyObject_Length` instead." msgstr "" msgid "" @@ -116,10 +158,9 @@ msgstr "" msgid "Get the type of the Python object *o*." msgstr "" -msgid "Return a :term:`borrowed reference`." -msgstr "" - -msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." +msgid "" +"The returned reference is :term:`borrowed ` from *o*. Do " +"not release it with :c:func:`Py_DECREF` or similar." msgstr "" msgid "" @@ -132,13 +173,28 @@ msgid "" "Equivalent to: ``Py_TYPE(o) == type``." msgstr "" -msgid "Set the object *o* type to *type*." +msgid "" +"Set the type of object *o* to *type*, without any checking or reference " +"counting." +msgstr "" + +msgid "" +"This is a very low-level operation. Consider instead setting the Python " +"attribute :attr:`~object.__class__` using :c:func:`PyObject_SetAttrString` " +"or similar." +msgstr "" + +msgid "" +"Note that assigning an incompatible type can lead to undefined behavior." msgstr "" -msgid "Get the size of the Python object *o*." +msgid "" +"If *type* is a :ref:`heap type `, the caller must create a new " +"reference to it. Similarly, if the old type of *o* is a heap type, the " +"caller must release a reference to that type." msgstr "" -msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." +msgid "Get the :c:member:`~PyVarObject.ob_size` field of *o*." msgstr "" msgid "" @@ -146,7 +202,7 @@ msgid "" "type is no longer :c:expr:`const PyVarObject*`." msgstr "" -msgid "Set the object *o* size to *size*." +msgid "Set the :c:member:`~PyVarObject.ob_size` field of *o* to *size*." msgstr "" msgid "" @@ -372,14 +428,10 @@ msgstr "" msgid "" "These two constants are not used to indicate the calling convention but the " -"binding when use with methods of classes. These may not be used for " +"binding when used with methods of classes. These may not be used for " "functions defined for modules. At most one of these flags may be set for " "any given method." msgstr "" -"Te dwie stałe nie są używane do zaznaczania konwencji wywoływania, ale wiążą " -"gdy są używane z metodami klas. Nie mogą być one używane dla funkcji " -"określonych dla modułów. Co najwyżej jedna z tych flag może być ustawiona " -"dla dowolnej danej metody." msgid "" "The method will be passed the type object as the first parameter rather than " @@ -415,6 +467,21 @@ msgid "" "wrapper object calls." msgstr "" +msgid "" +"The type object corresponding to Python C method objects. This is available " +"as :class:`types.BuiltinMethodType` in the Python layer." +msgstr "" + +msgid "" +"Return true if *op* is an instance of the :c:type:`PyCMethod_Type` type or a " +"subtype of it. This function always succeeds." +msgstr "" + +msgid "" +"This is the same as :c:func:`PyCMethod_Check`, but does not account for " +"subtypes." +msgstr "" + msgid "" "Turn *ml* into a Python :term:`callable` object. The caller must ensure that " "*ml* outlives the :term:`callable`. Typically, *ml* is defined as a static " @@ -441,12 +508,79 @@ msgid "" "function. Must be set if :c:macro:`METH_METHOD` is set on ``ml->ml_flags``." msgstr "" +msgid "" +"The type object corresponding to Python C function objects. This is " +"available as :class:`types.BuiltinFunctionType` in the Python layer." +msgstr "" + +msgid "" +"Return true if *op* is an instance of the :c:type:`PyCFunction_Type` type or " +"a subtype of it. This function always succeeds." +msgstr "" + +msgid "" +"This is the same as :c:func:`PyCFunction_Check`, but does not account for " +"subtypes." +msgstr "" + msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." msgstr "" msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." msgstr "" +msgid "" +"Get the function's flags on *func* as they were passed to :c:member:" +"`~PyMethodDef.ml_flags`." +msgstr "" + +msgid "" +"If *func* is not a C function object, this fails with an exception. *func* " +"must not be ``NULL``." +msgstr "" + +msgid "" +"This function returns the function's flags on success, and ``-1`` with an " +"exception set on failure." +msgstr "" + +msgid "" +"This is the same as :c:func:`PyCFunction_GetFlags`, but without error or " +"type checking." +msgstr "" + +msgid "" +"Get the function pointer on *func* as it was passed to :c:member:" +"`~PyMethodDef.ml_meth`." +msgstr "" + +msgid "" +"This function returns the function pointer on success, and ``NULL`` with an " +"exception set on failure." +msgstr "" + +msgid "" +"This is the same as :c:func:`PyCFunction_GetFunction`, but without error or " +"type checking." +msgstr "" + +msgid "" +"Get the \"self\" object on *func*. This is the object that would be passed " +"to the first argument of a :c:type:`PyCFunction`. For C function objects " +"created through a :c:type:`PyMethodDef` on a :c:type:`PyModuleDef`, this is " +"the resulting module object." +msgstr "" + +msgid "" +"This function returns a :term:`borrowed reference` to the \"self\" object on " +"success, and ``NULL`` with an exception set on failure." +msgstr "" + +msgid "" +"This is the same as :c:func:`PyCFunction_GetSelf`, but without error or type " +"checking." +msgstr "" + msgid "Accessing attributes of extension types" msgstr "" @@ -573,15 +707,12 @@ msgid "" msgstr "" msgid "" -"Can only be used as part of :c:member:`Py_tp_members ` :c:type:`slot ` when creating a class using " -"negative :c:member:`~PyType_Spec.basicsize`. It is mandatory in that case." -msgstr "" - -msgid "" -"This flag is only used in :c:type:`PyType_Slot`. When setting :c:member:" -"`~PyTypeObject.tp_members` during class creation, Python clears it and sets :" -"c:member:`PyMemberDef.offset` to the offset from the ``PyObject`` struct." +"Can only be used as part of the :c:data:`Py_tp_members` :c:type:`slot " +"` when creating a class using negative :c:member:`~PyType_Spec." +"basicsize`. It is mandatory in that case. When setting :c:member:" +"`~PyTypeObject.tp_members` from the slot during class creation, Python " +"clears the flag and sets :c:member:`PyMemberDef.offset` to the offset from " +"the ``PyObject`` struct." msgstr "" msgid "" @@ -641,19 +772,19 @@ msgid ":c:expr:`long`" msgstr ":c:expr:`long`" msgid ":c:expr:`long long`" -msgstr "" +msgstr ":c:expr:`long long`" msgid ":c:expr:`unsigned char`" -msgstr "" +msgstr ":c:expr:`unsigned char`" msgid ":c:expr:`unsigned int`" -msgstr "" +msgstr ":c:expr:`unsigned int`" msgid ":c:expr:`unsigned short`" -msgstr "" +msgstr ":c:expr:`unsigned short`" msgid ":c:expr:`unsigned long`" -msgstr "" +msgstr ":c:expr:`unsigned long`" msgid ":c:expr:`unsigned long long`" msgstr "" @@ -680,22 +811,22 @@ msgid ":c:expr:`const char *` (*)" msgstr "" msgid ":py:class:`str` (RO)" -msgstr "" +msgstr ":py:class:`str` (RO)" msgid ":c:expr:`const char[]` (*)" msgstr "" msgid ":c:expr:`char` (0-127)" -msgstr "" +msgstr ":c:expr:`char` (0-127)" msgid ":py:class:`str` (**)" -msgstr "" +msgstr ":py:class:`str` (**)" msgid ":c:expr:`PyObject *`" -msgstr "" +msgstr ":c:expr:`PyObject *`" msgid ":py:class:`object` (D)" -msgstr "" +msgstr ":py:class:`object` (D)" msgid "" "(*): Zero-terminated, UTF8-encoded C string. With :c:macro:`!Py_T_STRING` " diff --git a/c-api/subinterpreters.po b/c-api/subinterpreters.po new file mode 100644 index 0000000000..68576038ca --- /dev/null +++ b/c-api/subinterpreters.po @@ -0,0 +1,510 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Rafael Fontenelle , 2026 +# python-doc bot, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2026-02-25 14:46+0000\n" +"Last-Translator: python-doc bot, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Multiple interpreters in a Python process" +msgstr "" + +msgid "" +"While in most uses, you will only embed a single Python interpreter, there " +"are cases where you need to create several independent interpreters in the " +"same process and perhaps even in the same thread. Sub-interpreters allow you " +"to do that." +msgstr "" + +msgid "" +"The \"main\" interpreter is the first one created when the runtime " +"initializes. It is usually the only Python interpreter in a process. Unlike " +"sub-interpreters, the main interpreter has unique process-global " +"responsibilities like signal handling. It is also responsible for execution " +"during runtime initialization and is usually the active interpreter during " +"runtime finalization. The :c:func:`PyInterpreterState_Main` function " +"returns a pointer to its state." +msgstr "" + +msgid "" +"You can switch between sub-interpreters using the :c:func:" +"`PyThreadState_Swap` function. You can create and destroy them using the " +"following functions:" +msgstr "" + +msgid "" +"Structure containing most parameters to configure a sub-interpreter. Its " +"values are used only in :c:func:`Py_NewInterpreterFromConfig` and never " +"modified by the runtime." +msgstr "" + +msgid "Structure fields:" +msgstr "" + +msgid "" +"If this is ``0`` then the sub-interpreter will use its own \"object\" " +"allocator state. Otherwise it will use (share) the main interpreter's." +msgstr "" + +msgid "" +"If this is ``0`` then :c:member:`~PyInterpreterConfig." +"check_multi_interp_extensions` must be ``1`` (non-zero). If this is ``1`` " +"then :c:member:`~PyInterpreterConfig.gil` must not be :c:macro:" +"`PyInterpreterConfig_OWN_GIL`." +msgstr "" + +msgid "" +"If this is ``0`` then the runtime will not support forking the process in " +"any thread where the sub-interpreter is currently active. Otherwise fork is " +"unrestricted." +msgstr "" + +msgid "" +"Note that the :mod:`subprocess` module still works when fork is disallowed." +msgstr "" + +msgid "" +"If this is ``0`` then the runtime will not support replacing the current " +"process via exec (e.g. :func:`os.execv`) in any thread where the sub-" +"interpreter is currently active. Otherwise exec is unrestricted." +msgstr "" + +msgid "" +"Note that the :mod:`subprocess` module still works when exec is disallowed." +msgstr "" + +msgid "" +"If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " +"create threads. Otherwise threads are allowed." +msgstr "" + +msgid "" +"If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " +"create daemon threads. Otherwise daemon threads are allowed (as long as :c:" +"member:`~PyInterpreterConfig.allow_threads` is non-zero)." +msgstr "" + +msgid "" +"If this is ``0`` then all extension modules may be imported, including " +"legacy (single-phase init) modules, in any thread where the sub-interpreter " +"is currently active. Otherwise only multi-phase init extension modules (see :" +"pep:`489`) may be imported. (Also see :c:macro:" +"`Py_mod_multiple_interpreters`.)" +msgstr "" + +msgid "" +"This must be ``1`` (non-zero) if :c:member:`~PyInterpreterConfig." +"use_main_obmalloc` is ``0``." +msgstr "" + +msgid "" +"This determines the operation of the GIL for the sub-interpreter. It may be " +"one of the following:" +msgstr "" + +msgid "Use the default selection (:c:macro:`PyInterpreterConfig_SHARED_GIL`)." +msgstr "" + +msgid "Use (share) the main interpreter's GIL." +msgstr "" + +msgid "Use the sub-interpreter's own GIL." +msgstr "" + +msgid "" +"If this is :c:macro:`PyInterpreterConfig_OWN_GIL` then :c:member:" +"`PyInterpreterConfig.use_main_obmalloc` must be ``0``." +msgstr "" + +msgid "" +"Create a new sub-interpreter. This is an (almost) totally separate " +"environment for the execution of Python code. In particular, the new " +"interpreter has separate, independent versions of all imported modules, " +"including the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:" +"`sys`. The table of loaded modules (``sys.modules``) and the module search " +"path (``sys.path``) are also separate. The new environment has no ``sys." +"argv`` variable. It has new standard I/O stream file objects ``sys.stdin``, " +"``sys.stdout`` and ``sys.stderr`` (however these refer to the same " +"underlying file descriptors)." +msgstr "" + +msgid "" +"The given *config* controls the options with which the interpreter is " +"initialized." +msgstr "" + +msgid "" +"Upon success, *tstate_p* will be set to the first :term:`thread state` " +"created in the new sub-interpreter. This thread state is :term:`attached " +"`. Note that no actual thread is created; see the " +"discussion of thread states below. If creation of the new interpreter is " +"unsuccessful, *tstate_p* is set to ``NULL``; no exception is set since the " +"exception state is stored in the :term:`attached thread state`, which might " +"not exist." +msgstr "" + +msgid "" +"Like all other Python/C API functions, an :term:`attached thread state` must " +"be present before calling this function, but it might be detached upon " +"returning. On success, the returned thread state will be :term:`attached " +"`. If the sub-interpreter is created with its own :" +"term:`GIL` then the :term:`attached thread state` of the calling interpreter " +"will be detached. When the function returns, the new interpreter's :term:" +"`thread state` will be :term:`attached ` to the " +"current thread and the previous interpreter's :term:`attached thread state` " +"will remain detached." +msgstr "" + +msgid "" +"Sub-interpreters are most effective when isolated from each other, with " +"certain functionality restricted::" +msgstr "" + +msgid "" +"PyInterpreterConfig config = {\n" +" .use_main_obmalloc = 0,\n" +" .allow_fork = 0,\n" +" .allow_exec = 0,\n" +" .allow_threads = 1,\n" +" .allow_daemon_threads = 0,\n" +" .check_multi_interp_extensions = 1,\n" +" .gil = PyInterpreterConfig_OWN_GIL,\n" +"};\n" +"PyThreadState *tstate = NULL;\n" +"PyStatus status = Py_NewInterpreterFromConfig(&tstate, &config);\n" +"if (PyStatus_Exception(status)) {\n" +" Py_ExitStatusException(status);\n" +"}" +msgstr "" + +msgid "" +"Note that the config is used only briefly and does not get modified. During " +"initialization the config's values are converted into various :c:type:" +"`PyInterpreterState` values. A read-only copy of the config may be stored " +"internally on the :c:type:`PyInterpreterState`." +msgstr "" + +msgid "Extension modules are shared between (sub-)interpreters as follows:" +msgstr "" + +msgid "" +"For modules using multi-phase initialization, e.g. :c:func:" +"`PyModule_FromDefAndSpec`, a separate module object is created and " +"initialized for each interpreter. Only C-level static and global variables " +"are shared between these module objects." +msgstr "" + +msgid "" +"For modules using legacy :ref:`single-phase initialization `, e.g. :c:func:`PyModule_Create`, the first time a " +"particular extension is imported, it is initialized normally, and a " +"(shallow) copy of its module's dictionary is squirreled away. When the same " +"extension is imported by another (sub-)interpreter, a new module is " +"initialized and filled with the contents of this copy; the extension's " +"``init`` function is not called. Objects in the module's dictionary thus end " +"up shared across (sub-)interpreters, which might cause unwanted behavior " +"(see `Bugs and caveats`_ below)." +msgstr "" + +msgid "" +"Note that this is different from what happens when an extension is imported " +"after the interpreter has been completely re-initialized by calling :c:func:" +"`Py_FinalizeEx` and :c:func:`Py_Initialize`; in that case, the extension's " +"``initmodule`` function *is* called again. As with multi-phase " +"initialization, this means that only C-level static and global variables are " +"shared between these modules." +msgstr "" + +msgid "" +"Create a new sub-interpreter. This is essentially just a wrapper around :c:" +"func:`Py_NewInterpreterFromConfig` with a config that preserves the existing " +"behavior. The result is an unisolated sub-interpreter that shares the main " +"interpreter's GIL, allows fork/exec, allows daemon threads, and allows " +"single-phase init modules." +msgstr "" + +msgid "" +"Destroy the (sub-)interpreter represented by the given :term:`thread state`. " +"The given thread state must be :term:`attached `. " +"When the call returns, there will be no :term:`attached thread state`. All " +"thread states associated with this interpreter are destroyed." +msgstr "" + +msgid "" +":c:func:`Py_FinalizeEx` will destroy all sub-interpreters that haven't been " +"explicitly destroyed at that point." +msgstr "" + +msgid "A per-interpreter GIL" +msgstr "" + +msgid "" +"Using :c:func:`Py_NewInterpreterFromConfig` you can create a sub-interpreter " +"that is completely isolated from other interpreters, including having its " +"own GIL. The most important benefit of this isolation is that such an " +"interpreter can execute Python code without being blocked by other " +"interpreters or blocking any others. Thus a single Python process can truly " +"take advantage of multiple CPU cores when running Python code. The " +"isolation also encourages a different approach to concurrency than that of " +"just using threads. (See :pep:`554` and :pep:`684`.)" +msgstr "" + +msgid "" +"Using an isolated interpreter requires vigilance in preserving that " +"isolation. That especially means not sharing any objects or mutable state " +"without guarantees about thread-safety. Even objects that are otherwise " +"immutable (e.g. ``None``, ``(1, 5)``) can't normally be shared because of " +"the refcount. One simple but less-efficient approach around this is to use " +"a global lock around all use of some state (or object). Alternately, " +"effectively immutable objects (like integers or strings) can be made safe in " +"spite of their refcounts by making them :term:`immortal`. In fact, this has " +"been done for the builtin singletons, small integers, and a number of other " +"builtin objects." +msgstr "" + +msgid "" +"If you preserve isolation then you will have access to proper multi-core " +"computing without the complications that come with free-threading. Failure " +"to preserve isolation will expose you to the full consequences of free-" +"threading, including races and hard-to-debug crashes." +msgstr "" + +msgid "" +"Aside from that, one of the main challenges of using multiple isolated " +"interpreters is how to communicate between them safely (not break isolation) " +"and efficiently. The runtime and stdlib do not provide any standard " +"approach to this yet. A future stdlib module would help mitigate the effort " +"of preserving isolation and expose effective tools for communicating (and " +"sharing) data between interpreters." +msgstr "" + +msgid "Bugs and caveats" +msgstr "" + +msgid "" +"Because sub-interpreters (and the main interpreter) are part of the same " +"process, the insulation between them isn't perfect --- for example, using " +"low-level file operations like :func:`os.close` they can (accidentally or " +"maliciously) affect each other's open files. Because of the way extensions " +"are shared between (sub-)interpreters, some extensions may not work " +"properly; this is especially likely when using single-phase initialization " +"or (static) global variables. It is possible to insert objects created in " +"one sub-interpreter into a namespace of another (sub-)interpreter; this " +"should be avoided if possible." +msgstr "" + +msgid "" +"Special care should be taken to avoid sharing user-defined functions, " +"methods, instances or classes between sub-interpreters, since import " +"operations executed by such objects may affect the wrong (sub-)interpreter's " +"dictionary of loaded modules. It is equally important to avoid sharing " +"objects from which the above are reachable." +msgstr "" + +msgid "" +"Also note that combining this functionality with ``PyGILState_*`` APIs is " +"delicate, because these APIs assume a bijection between Python thread states " +"and OS-level threads, an assumption broken by the presence of sub-" +"interpreters. It is highly recommended that you don't switch sub-" +"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:" +"func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:" +"`ctypes`) using these APIs to allow calling of Python code from non-Python " +"created threads will probably be broken when using sub-interpreters." +msgstr "" + +msgid "High-level APIs" +msgstr "Wysokopoziomowe interfejsy API" + +msgid "" +"This data structure represents the state shared by a number of cooperating " +"threads. Threads belonging to the same interpreter share their module " +"administration and a few other internal items. There are no public members " +"in this structure." +msgstr "" + +msgid "" +"Threads belonging to different interpreters initially share nothing, except " +"process state like available memory, open file descriptors and such. The " +"global interpreter lock is also shared by all threads, regardless of to " +"which interpreter they belong." +msgstr "" + +msgid "" +":pep:`684` introduced the possibility of a :ref:`per-interpreter GIL `. See :c:func:`Py_NewInterpreterFromConfig`." +msgstr "" + +msgid "Get the current interpreter." +msgstr "" + +msgid "" +"Issue a fatal error if there is no :term:`attached thread state`. It cannot " +"return NULL." +msgstr "" + +msgid "" +"Return the interpreter's unique ID. If there was any error in doing so then " +"``-1`` is returned and an error is set." +msgstr "" + +msgid "The caller must have an :term:`attached thread state`." +msgstr "" + +msgid "" +"Return a dictionary in which interpreter-specific data may be stored. If " +"this function returns ``NULL`` then no exception has been raised and the " +"caller should assume no interpreter-specific dict is available." +msgstr "" + +msgid "" +"This is not a replacement for :c:func:`PyModule_GetState()`, which " +"extensions should use to store interpreter-specific state information." +msgstr "" + +msgid "" +"The returned dictionary is borrowed from the interpreter and is valid until " +"interpreter shutdown." +msgstr "" + +msgid "Type of a frame evaluation function." +msgstr "" + +msgid "" +"The *throwflag* parameter is used by the ``throw()`` method of generators: " +"if non-zero, handle the current exception." +msgstr "" + +msgid "The function now takes a *tstate* parameter." +msgstr "" + +msgid "" +"The *frame* parameter changed from ``PyFrameObject*`` to " +"``_PyInterpreterFrame*``." +msgstr "" + +msgid "Get the frame evaluation function." +msgstr "" + +msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"." +msgstr "" + +msgid "Set the frame evaluation function." +msgstr "" + +msgid "Low-level APIs" +msgstr "niskopoziomowe interfejsy API" + +msgid "" +"All of the following functions must be called after :c:func:`Py_Initialize`." +msgstr "" + +msgid "" +":c:func:`Py_Initialize()` now initializes the :term:`GIL` and sets an :term:" +"`attached thread state`." +msgstr "" + +msgid "" +"Create a new interpreter state object. An :term:`attached thread state` is " +"not needed, but may optionally exist if it is necessary to serialize calls " +"to this function." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"PyInterpreterState_New`` with no arguments." +msgstr "" + +msgid "" +"Reset all information in an interpreter state object. There must be an :" +"term:`attached thread state` for the interpreter." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"PyInterpreterState_Clear`` with no arguments." +msgstr "" + +msgid "" +"Destroy an interpreter state object. There **should not** be an :term:" +"`attached thread state` for the target interpreter. The interpreter state " +"must have been reset with a previous call to :c:func:" +"`PyInterpreterState_Clear`." +msgstr "" + +msgid "Advanced debugger support" +msgstr "" + +msgid "" +"These functions are only intended to be used by advanced debugging tools." +msgstr "" + +msgid "" +"Return the interpreter state object at the head of the list of all such " +"objects." +msgstr "" + +msgid "Return the main interpreter state object." +msgstr "" + +msgid "" +"Return the next interpreter state object after *interp* from the list of all " +"such objects." +msgstr "" + +msgid "" +"Return the pointer to the first :c:type:`PyThreadState` object in the list " +"of threads associated with the interpreter *interp*." +msgstr "" + +msgid "" +"Return the next thread state object after *tstate* from the list of all such " +"objects belonging to the same :c:type:`PyInterpreterState` object." +msgstr "" + +msgid "module" +msgstr "moduł" + +msgid "builtins" +msgstr "builtins" + +msgid "__main__" +msgstr "__main__" + +msgid "sys" +msgstr "sys" + +msgid "stdout (in module sys)" +msgstr "" + +msgid "stderr (in module sys)" +msgstr "" + +msgid "stdin (in module sys)" +msgstr "" + +msgid "Py_FinalizeEx (C function)" +msgstr "" + +msgid "Py_Initialize (C function)" +msgstr "" + +msgid "close (in module os)" +msgstr "" diff --git a/c-api/sys.po b/c-api/sys.po index 77d7826c8f..f57ec94ee6 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,20 +28,23 @@ msgstr "" msgid "" "Return the file system representation for *path*. If the object is a :class:" -"`str` or :class:`bytes` object, then its reference count is incremented. If " -"the object implements the :class:`os.PathLike` interface, then :meth:`~os." -"PathLike.__fspath__` is returned as long as it is a :class:`str` or :class:" -"`bytes` object. Otherwise :exc:`TypeError` is raised and ``NULL`` is " -"returned." +"`str` or :class:`bytes` object, then a new :term:`strong reference` is " +"returned. If the object implements the :class:`os.PathLike` interface, then :" +"meth:`~os.PathLike.__fspath__` is returned as long as it is a :class:`str` " +"or :class:`bytes` object. Otherwise :exc:`TypeError` is raised and ``NULL`` " +"is returned." msgstr "" msgid "" "Return true (nonzero) if the standard I/O file *fp* with name *filename* is " "deemed interactive. This is the case for files for which " -"``isatty(fileno(fp))`` is true. If the global flag :c:data:" -"`Py_InteractiveFlag` is true, this function also returns true if the " -"*filename* pointer is ``NULL`` or if the name is equal to one of the strings " -"``''`` or ``'???'``." +"``isatty(fileno(fp))`` is true. If the :c:member:`PyConfig.interactive` is " +"non-zero, this function also returns true if the *filename* pointer is " +"``NULL`` or if the name is equal to one of the strings ``''`` or " +"``'???'``." +msgstr "" + +msgid "This function must not be called before Python is initialized." msgstr "" msgid "" @@ -103,24 +106,22 @@ msgstr "" msgid "" "Return true when the interpreter runs out of stack space. This is a " -"reliable check, but is only available when :const:`USE_STACKCHECK` is " +"reliable check, but is only available when :c:macro:`!USE_STACKCHECK` is " "defined (currently on certain versions of Windows using the Microsoft Visual " -"C++ compiler). :const:`USE_STACKCHECK` will be defined automatically; you " +"C++ compiler). :c:macro:`!USE_STACKCHECK` will be defined automatically; you " "should never change the definition in your own code." msgstr "" msgid "" "Return the current signal handler for signal *i*. This is a thin wrapper " -"around either :c:func:`sigaction` or :c:func:`signal`. Do not call those " -"functions directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:" -"expr:`void (\\*)(int)`." +"around either :c:func:`!sigaction` or :c:func:`!signal`. Do not call those " +"functions directly!" msgstr "" msgid "" "Set the signal handler for signal *i* to be *h*; return the old signal " -"handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:" -"`signal`. Do not call those functions directly! :c:type:" -"`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\\*)(int)`." +"handler. This is a thin wrapper around either :c:func:`!sigaction` or :c:" +"func:`!signal`. Do not call those functions directly!" msgstr "" msgid "" @@ -182,8 +183,8 @@ msgid "" msgstr "" msgid "" -"The function now uses the UTF-8 encoding on Windows if :c:data:" -"`Py_LegacyWindowsFSEncodingFlag` is zero;" +"The function now uses the UTF-8 encoding on Windows if :c:member:" +"`PyPreConfig.legacy_windows_fs_encoding` is zero;" msgstr "" msgid "" @@ -215,69 +216,72 @@ msgid "" msgstr "" msgid "" -"The function now uses the UTF-8 encoding on Windows if :c:data:" -"`Py_LegacyWindowsFSEncodingFlag` is zero." +"The function now uses the UTF-8 encoding on Windows if :c:member:" +"`PyPreConfig.legacy_windows_fs_encoding` is zero." msgstr "" -msgid "System Functions" +msgid "" +"Similar to :c:func:`!fopen`, but *path* is a Python object and an exception " +"is set on error." msgstr "" msgid "" -"These are utility functions that make functionality from the :mod:`sys` " -"module accessible to C code. They all work with the current interpreter " -"thread's :mod:`sys` module's dict, which is contained in the internal thread " -"state structure." +"*path* must be a :class:`str` object, a :class:`bytes` object, or a :term:" +"`path-like object`." msgstr "" msgid "" -"Return the object *name* from the :mod:`sys` module or ``NULL`` if it does " -"not exist, without setting an exception." +"On success, return the new file pointer. On error, set an exception and " +"return ``NULL``." msgstr "" msgid "" -"Set *name* in the :mod:`sys` module to *v* unless *v* is ``NULL``, in which " -"case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` " -"on error." +"The file must be closed by :c:func:`Py_fclose` rather than calling directly :" +"c:func:`!fclose`." msgstr "" -msgid "" -"Reset :data:`sys.warnoptions` to an empty list. This function may be called " -"prior to :c:func:`Py_Initialize`." +msgid "The file descriptor is created non-inheritable (:pep:`446`)." msgstr "" -msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"warnoptions` should be used instead, see :ref:`Python Initialization " -"Configuration `." +msgid "The caller must have an :term:`attached thread state`." +msgstr "" + +msgid "Close a file that was opened by :c:func:`Py_fopen`." msgstr "" msgid "" -"Append *s* to :data:`sys.warnoptions`. This function must be called prior " -"to :c:func:`Py_Initialize` in order to affect the warnings filter list." +"On success, return ``0``. On error, return ``EOF`` and ``errno`` is set to " +"indicate the error. In either case, any further access (including another " +"call to :c:func:`Py_fclose`) to the stream results in undefined behavior." msgstr "" -msgid "Append *unicode* to :data:`sys.warnoptions`." +msgid "System Functions" msgstr "" msgid "" -"Note: this function is not currently usable from outside the CPython " -"implementation, as it must be called prior to the implicit import of :mod:" -"`warnings` in :c:func:`Py_Initialize` to be effective, but can't be called " -"until enough of the runtime has been initialized to permit the creation of " -"Unicode objects." +"These are utility functions that make functionality from the :mod:`sys` " +"module accessible to C code. They all work with the current interpreter " +"thread's :mod:`sys` module's dict, which is contained in the internal thread " +"state structure." msgstr "" msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should " -"be used instead, see :ref:`Python Initialization Configuration `." +"Return the object *name* from the :mod:`sys` module or ``NULL`` if it does " +"not exist, without setting an exception." +msgstr "" + +msgid "" +"Set *name* in the :mod:`sys` module to *v* unless *v* is ``NULL``, in which " +"case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` " +"on error." msgstr "" msgid "" -"Set :data:`sys.path` to a list object of paths found in *path* which should " -"be a list of paths separated with the platform's search path delimiter (``:" -"`` on Unix, ``;`` on Windows)." +"Reset :data:`sys.warnoptions` to an empty list. This function may be called " +"prior to :c:func:`Py_Initialize`." +msgstr "" + +msgid "Clear :data:`sys.warnoptions` and :data:`!warnings.filters` instead." msgstr "" msgid "" @@ -316,18 +320,6 @@ msgid "" "instead." msgstr "" -msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"xoptions` should be used instead, see :ref:`Python Initialization " -"Configuration `." -msgstr "" - -msgid "" -"Parse *s* as a set of :option:`-X` options and add them to the current " -"options mapping as returned by :c:func:`PySys_GetXOptions`. This function " -"may be called prior to :c:func:`Py_Initialize`." -msgstr "" - msgid "" "Return the current dictionary of :option:`-X` options, similarly to :data:" "`sys._xoptions`. On error, ``NULL`` is returned and an exception is set." @@ -338,14 +330,20 @@ msgid "" "non-zero with an exception set on failure." msgstr "" +msgid "The *event* string argument must not be *NULL*." +msgstr "" + msgid "" "If any hooks have been added, *format* and other arguments will be used to " "construct a tuple to pass. Apart from ``N``, the same format characters as " "used in :c:func:`Py_BuildValue` are available. If the built value is not a " -"tuple, it will be added into a single-element tuple. (The ``N`` format " -"option consumes a reference, but since there is no way to know whether " -"arguments to this function will be consumed, using it may cause reference " -"leaks.)" +"tuple, it will be added into a single-element tuple." +msgstr "" + +msgid "" +"The ``N`` format option must not be used. It consumes a reference, but since " +"there is no way to know whether arguments to this function will be consumed, " +"using it may cause reference leaks." msgstr "" msgid "" @@ -356,11 +354,19 @@ msgstr "" msgid ":func:`sys.audit` performs the same function from Python code." msgstr "" +msgid "See also :c:func:`PySys_AuditTuple`." +msgstr "" + msgid "" "Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an " "unavoidable deprecation warning was raised." msgstr "" +msgid "" +"Similar to :c:func:`PySys_Audit`, but pass arguments as a Python object. " +"*args* must be a :class:`tuple`. To pass no arguments, *args* can be *NULL*." +msgstr "" + msgid "" "Append the callable *hook* to the list of active auditing hooks. Return zero " "on success and non-zero on failure. If the runtime has been initialized, " @@ -373,6 +379,9 @@ msgid "" "functions may be called from different runtimes, this pointer should not " "refer directly to Python state." msgstr "" +"Покажчик *userData* передається в функцію-перехоплювач. Оскільки функції " +"підключення можуть викликатися з різних середовищ виконання, цей вказівник " +"не повинен посилатися безпосередньо на стан Python." msgid "" "This function is safe to call before :c:func:`Py_Initialize`. When called " @@ -382,10 +391,8 @@ msgid "" msgstr "" msgid "" -"The hook function is of type :c:expr:`int (*)(const char *event, PyObject " -"*args, void *userData)`, where *args* is guaranteed to be a :c:type:" -"`PyTupleObject`. The hook function is always called with the GIL held by the " -"Python interpreter that raised the event." +"The hook function is always called with an :term:`attached thread state` by " +"the Python interpreter that raised the event." msgstr "" msgid "" @@ -395,18 +402,20 @@ msgid "" msgstr "" msgid "" -"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " -"arguments." -msgstr "" - -msgid "" -"If the interpreter is initialized, this function raises a auditing event " +"If the interpreter is initialized, this function raises an auditing event " "``sys.addaudithook`` with no arguments. If any existing hooks raise an " "exception derived from :class:`Exception`, the new hook will not be added " "and the exception is cleared. As a result, callers cannot assume that their " "hook has been added unless they control all existing hooks." msgstr "" +msgid "" +"The type of the hook function. *event* is the C string event argument passed " +"to :c:func:`PySys_Audit` or :c:func:`PySys_AuditTuple`. *args* is guaranteed " +"to be a :c:type:`PyTupleObject`. *userData* is the argument passed to " +"PySys_AddAuditHook()." +msgstr "" + msgid "Process Control" msgstr "" @@ -415,7 +424,7 @@ msgid "" "This function should only be invoked when a condition is detected that would " "make it dangerous to continue using the Python interpreter; e.g., when the " "object administration appears to be corrupted. On Unix, the standard C " -"library function :c:func:`abort` is called which will attempt to produce a :" +"library function :c:func:`!abort` is called which will attempt to produce a :" "file:`core` file." msgstr "" @@ -448,13 +457,19 @@ msgid "" "should be called by *func*." msgstr "" -msgid "abort()" +msgid ":c:func:`PyUnstable_AtExit` for passing a ``void *data`` argument." +msgstr "" + +msgid "USE_STACKCHECK (C macro)" +msgstr "" + +msgid "abort (C function)" msgstr "" -msgid "Py_FinalizeEx()" +msgid "Py_FinalizeEx (C function)" msgstr "" -msgid "exit()" +msgid "exit (C function)" msgstr "" msgid "cleanup functions" diff --git a/c-api/threads.po b/c-api/threads.po new file mode 100644 index 0000000000..264c301724 --- /dev/null +++ b/c-api/threads.po @@ -0,0 +1,955 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Rafael Fontenelle , 2026 +# python-doc bot, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2026-02-25 14:46+0000\n" +"Last-Translator: python-doc bot, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Thread states and the global interpreter lock" +msgstr "" + +msgid "" +"Unless on a :term:`free-threaded build` of :term:`CPython`, the Python " +"interpreter is generally not thread-safe. In order to support multi-" +"threaded Python programs, there's a global lock, called the :term:`global " +"interpreter lock` or :term:`GIL`, that must be held by a thread before " +"accessing Python objects. Without the lock, even the simplest operations " +"could cause problems in a multi-threaded program: for example, when two " +"threads simultaneously increment the reference count of the same object, the " +"reference count could end up being incremented only once instead of twice." +msgstr "" + +msgid "" +"As such, only a thread that holds the GIL may operate on Python objects or " +"invoke Python's C API." +msgstr "" + +msgid "" +"In order to emulate concurrency, the interpreter regularly tries to switch " +"threads between bytecode instructions (see :func:`sys.setswitchinterval`). " +"This is why locks are also necessary for thread-safety in pure-Python code." +msgstr "" + +msgid "" +"Additionally, the global interpreter lock is released around blocking I/O " +"operations, such as reading or writing to a file. From the C API, this is " +"done by :ref:`detaching the thread state `." +msgstr "" + +msgid "" +"The Python interpreter keeps some thread-local information inside a data " +"structure called :c:type:`PyThreadState`, known as a :term:`thread state`. " +"Each thread has a thread-local pointer to a :c:type:`PyThreadState`; a " +"thread state referenced by this pointer is considered to be :term:`attached " +"`." +msgstr "" + +msgid "" +"A thread can only have one :term:`attached thread state` at a time. An " +"attached thread state is typically analogous with holding the GIL, except on " +"free-threaded builds. On builds with the GIL enabled, attaching a thread " +"state will block until the GIL can be acquired. However, even on builds with " +"the GIL disabled, it is still required to have an attached thread state, as " +"the interpreter needs to keep track of which threads may access Python " +"objects." +msgstr "" + +msgid "" +"Even on the free-threaded build, attaching a thread state may block, as the " +"GIL can be re-enabled or threads might be temporarily suspended (such as " +"during a garbage collection)." +msgstr "" + +msgid "" +"Generally, there will always be an attached thread state when using Python's " +"C API, including during embedding and when implementing methods, so it's " +"uncommon to need to set up a thread state on your own. Only in some specific " +"cases, such as in a :c:macro:`Py_BEGIN_ALLOW_THREADS` block or in a fresh " +"thread, will the thread not have an attached thread state. If uncertain, " +"check if :c:func:`PyThreadState_GetUnchecked` returns ``NULL``." +msgstr "" + +msgid "" +"If it turns out that you do need to create a thread state, call :c:func:" +"`PyThreadState_New` followed by :c:func:`PyThreadState_Swap`, or use the " +"dangerous :c:func:`PyGILState_Ensure` function." +msgstr "" + +msgid "Detaching the thread state from extension code" +msgstr "" + +msgid "" +"Most extension code manipulating the :term:`thread state` has the following " +"simple structure::" +msgstr "" + +msgid "" +"Save the thread state in a local variable.\n" +"... Do some blocking I/O operation ...\n" +"Restore the thread state from the local variable." +msgstr "" + +msgid "This is so common that a pair of macros exists to simplify it::" +msgstr "" + +msgid "" +"Py_BEGIN_ALLOW_THREADS\n" +"... Do some blocking I/O operation ...\n" +"Py_END_ALLOW_THREADS" +msgstr "" + +msgid "" +"The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a " +"hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the " +"block." +msgstr "" + +msgid "The block above expands to the following code::" +msgstr "" + +msgid "" +"PyThreadState *_save;\n" +"\n" +"_save = PyEval_SaveThread();\n" +"... Do some blocking I/O operation ...\n" +"PyEval_RestoreThread(_save);" +msgstr "" + +msgid "Here is how these functions work:" +msgstr "" + +msgid "" +"The attached thread state implies that the GIL is held for the interpreter. " +"To detach it, :c:func:`PyEval_SaveThread` is called and the result is stored " +"in a local variable." +msgstr "" + +msgid "" +"By detaching the thread state, the GIL is released, which allows other " +"threads to attach to the interpreter and execute while the current thread " +"performs blocking I/O. When the I/O operation is complete, the old thread " +"state is reattached by calling :c:func:`PyEval_RestoreThread`, which will " +"wait until the GIL can be acquired." +msgstr "" + +msgid "" +"Performing blocking I/O is the most common use case for detaching the thread " +"state, but it is also useful to call it over long-running native code that " +"doesn't need access to Python objects or Python's C API. For example, the " +"standard :mod:`zlib` and :mod:`hashlib` modules detach the :term:`thread " +"state ` when compressing or hashing data." +msgstr "" + +msgid "" +"On a :term:`free-threaded build`, the :term:`GIL` is usually out of the " +"question, but **detaching the thread state is still required**, because the " +"interpreter periodically needs to block all threads to get a consistent view " +"of Python objects without the risk of race conditions. For example, CPython " +"currently suspends all threads for a short period of time while running the " +"garbage collector." +msgstr "" + +msgid "" +"Detaching the thread state can lead to unexpected behavior during " +"interpreter finalization. See :ref:`cautions-regarding-runtime-finalization` " +"for more details." +msgstr "" + +msgid "APIs" +msgstr "" + +msgid "" +"The following macros are normally used without a trailing semicolon; look " +"for example usage in the Python source distribution." +msgstr "" + +msgid "" +"These macros are still necessary on the :term:`free-threaded build` to " +"prevent deadlocks." +msgstr "" + +msgid "" +"This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();" +"``. Note that it contains an opening brace; it must be matched with a " +"following :c:macro:`Py_END_ALLOW_THREADS` macro. See above for further " +"discussion of this macro." +msgstr "" + +msgid "" +"This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " +"contains a closing brace; it must be matched with an earlier :c:macro:" +"`Py_BEGIN_ALLOW_THREADS` macro. See above for further discussion of this " +"macro." +msgstr "" + +msgid "" +"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :" +"c:macro:`Py_END_ALLOW_THREADS` without the closing brace." +msgstr "" + +msgid "" +"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :" +"c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " +"declaration." +msgstr "" + +msgid "Non-Python created threads" +msgstr "" + +msgid "" +"When threads are created using the dedicated Python APIs (such as the :mod:" +"`threading` module), a thread state is automatically associated with them, " +"However, when a thread is created from native code (for example, by a third-" +"party library with its own thread management), it doesn't hold an attached " +"thread state." +msgstr "" + +msgid "" +"If you need to call Python code from these threads (often this will be part " +"of a callback API provided by the aforementioned third-party library), you " +"must first register these threads with the interpreter by creating a new " +"thread state and attaching it." +msgstr "" + +msgid "" +"The most robust way to do this is through :c:func:`PyThreadState_New` " +"followed by :c:func:`PyThreadState_Swap`." +msgstr "" + +msgid "" +"``PyThreadState_New`` requires an argument pointing to the desired " +"interpreter; such a pointer can be acquired via a call to :c:func:" +"`PyInterpreterState_Get` from the code where the thread was created." +msgstr "" + +msgid "For example::" +msgstr "Dla przykładu::" + +msgid "" +"/* The return value of PyInterpreterState_Get() from the\n" +" function that created this thread. */\n" +"PyInterpreterState *interp = thread_data->interp;\n" +"\n" +"/* Create a new thread state for the interpreter. It does not start out\n" +" attached. */\n" +"PyThreadState *tstate = PyThreadState_New(interp);\n" +"\n" +"/* Attach the thread state, which will acquire the GIL. */\n" +"PyThreadState_Swap(tstate);\n" +"\n" +"/* Perform Python actions here. */\n" +"result = CallSomeFunction();\n" +"/* evaluate result or handle exception */\n" +"\n" +"/* Destroy the thread state. No Python API allowed beyond this point. */\n" +"PyThreadState_Clear(tstate);\n" +"PyThreadState_DeleteCurrent();" +msgstr "" + +msgid "" +"If the interpreter finalized before ``PyThreadState_Swap`` was called, then " +"``interp`` will be a dangling pointer!" +msgstr "" + +msgid "Legacy API" +msgstr "" + +msgid "" +"Another common pattern to call Python code from a non-Python thread is to " +"use :c:func:`PyGILState_Ensure` followed by a call to :c:func:" +"`PyGILState_Release`." +msgstr "" + +msgid "" +"These functions do not work well when multiple interpreters exist in the " +"Python process. If no Python interpreter has ever been used in the current " +"thread (which is common for threads created outside Python), " +"``PyGILState_Ensure`` will create and attach a thread state for the \"main\" " +"interpreter (the first interpreter in the Python process)." +msgstr "" + +msgid "" +"Additionally, these functions have thread-safety issues during interpreter " +"finalization. Using ``PyGILState_Ensure`` during finalization will likely " +"crash the process." +msgstr "" + +msgid "Usage of these functions look like such::" +msgstr "" + +msgid "" +"PyGILState_STATE gstate;\n" +"gstate = PyGILState_Ensure();\n" +"\n" +"/* Perform Python actions here. */\n" +"result = CallSomeFunction();\n" +"/* evaluate result or handle exception */\n" +"\n" +"/* Release the thread. No Python API allowed beyond this point. */\n" +"PyGILState_Release(gstate);" +msgstr "" + +msgid "Cautions about fork()" +msgstr "" + +msgid "" +"Another important thing to note about threads is their behaviour in the face " +"of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a " +"process forks only the thread that issued the fork will exist. This has a " +"concrete impact both on how locks must be handled and on all stored state in " +"CPython's runtime." +msgstr "" + +msgid "" +"The fact that only the \"current\" thread remains means any locks held by " +"other threads will never be released. Python solves this for :func:`os.fork` " +"by acquiring the locks it uses internally before the fork, and releasing " +"them afterwards. In addition, it resets any :ref:`lock-objects` in the " +"child. When extending or embedding Python, there is no way to inform Python " +"of additional (non-Python) locks that need to be acquired before or reset " +"after a fork. OS facilities such as :c:func:`!pthread_atfork` would need to " +"be used to accomplish the same thing. Additionally, when extending or " +"embedding Python, calling :c:func:`fork` directly rather than through :func:" +"`os.fork` (and returning to or calling into Python) may result in a deadlock " +"by one of Python's internal locks being held by a thread that is defunct " +"after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the necessary " +"locks, but is not always able to." +msgstr "" + +msgid "" +"The fact that all other threads go away also means that CPython's runtime " +"state there must be cleaned up properly, which :func:`os.fork` does. This " +"means finalizing all other :c:type:`PyThreadState` objects belonging to the " +"current interpreter and all other :c:type:`PyInterpreterState` objects. Due " +"to this and the special nature of the :ref:`\"main\" interpreter `, :c:func:`fork` should only be called in that " +"interpreter's \"main\" thread, where the CPython global runtime was " +"originally initialized. The only exception is if :c:func:`exec` will be " +"called immediately after." +msgstr "" + +msgid "High-level APIs" +msgstr "Wysokopoziomowe interfejsy API" + +msgid "" +"These are the most commonly used types and functions when writing multi-" +"threaded C extensions." +msgstr "" + +msgid "" +"This data structure represents the state of a single thread. The only " +"public data member is:" +msgstr "" + +msgid "This thread's interpreter state." +msgstr "" + +msgid "Deprecated function which does nothing." +msgstr "" + +msgid "" +"In Python 3.6 and older, this function created the GIL if it didn't exist." +msgstr "" + +msgid "The function now does nothing." +msgstr "" + +msgid "" +"This function is now called by :c:func:`Py_Initialize()`, so you don't have " +"to call it yourself anymore." +msgstr "" + +msgid "" +"This function cannot be called before :c:func:`Py_Initialize()` anymore." +msgstr "" + +msgid "" +"Detach the :term:`attached thread state` and return it. The thread will have " +"no :term:`thread state` upon returning." +msgstr "" + +msgid "" +"Set the :term:`attached thread state` to *tstate*. The passed :term:`thread " +"state` **should not** be :term:`attached `, otherwise " +"deadlock ensues. *tstate* will be attached upon returning." +msgstr "" + +msgid "" +"Calling this function from a thread when the runtime is finalizing will hang " +"the thread until the program exits, even if the thread was not created by " +"Python. Refer to :ref:`cautions-regarding-runtime-finalization` for more " +"details." +msgstr "" + +msgid "" +"Hangs the current thread, rather than terminating it, if called while the " +"interpreter is finalizing." +msgstr "" + +msgid "" +"Return the :term:`attached thread state`. If the thread has no attached " +"thread state, (such as when inside of :c:macro:`Py_BEGIN_ALLOW_THREADS` " +"block), then this issues a fatal error (so that the caller needn't check for " +"``NULL``)." +msgstr "" + +msgid "See also :c:func:`PyThreadState_GetUnchecked`." +msgstr "" + +msgid "" +"Similar to :c:func:`PyThreadState_Get`, but don't kill the process with a " +"fatal error if it is NULL. The caller is responsible to check if the result " +"is NULL." +msgstr "" + +msgid "" +"In Python 3.5 to 3.12, the function was private and known as " +"``_PyThreadState_UncheckedGet()``." +msgstr "" + +msgid "" +"Set the :term:`attached thread state` to *tstate*, and return the :term:" +"`thread state` that was attached prior to calling." +msgstr "" + +msgid "" +"This function is safe to call without an :term:`attached thread state`; it " +"will simply return ``NULL`` indicating that there was no prior thread state." +msgstr "" + +msgid ":c:func:`PyEval_ReleaseThread`" +msgstr "" + +msgid "" +"Similar to :c:func:`PyGILState_Ensure`, this function will hang the thread " +"if the runtime is finalizing." +msgstr "" + +msgid "GIL-state APIs" +msgstr "" + +msgid "" +"The following functions use thread-local storage, and are not compatible " +"with sub-interpreters:" +msgstr "" + +msgid "" +"The type of the value returned by :c:func:`PyGILState_Ensure` and passed to :" +"c:func:`PyGILState_Release`." +msgstr "" + +msgid "The GIL was already held when :c:func:`PyGILState_Ensure` was called." +msgstr "" + +msgid "The GIL was not held when :c:func:`PyGILState_Ensure` was called." +msgstr "" + +msgid "" +"Ensure that the current thread is ready to call the Python C API regardless " +"of the current state of Python, or of the :term:`attached thread state`. " +"This may be called as many times as desired by a thread as long as each call " +"is matched with a call to :c:func:`PyGILState_Release`. In general, other " +"thread-related APIs may be used between :c:func:`PyGILState_Ensure` and :c:" +"func:`PyGILState_Release` calls as long as the thread state is restored to " +"its previous state before the Release(). For example, normal usage of the :" +"c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS` macros " +"is acceptable." +msgstr "" + +msgid "" +"The return value is an opaque \"handle\" to the :term:`attached thread " +"state` when :c:func:`PyGILState_Ensure` was called, and must be passed to :c:" +"func:`PyGILState_Release` to ensure Python is left in the same state. Even " +"though recursive calls are allowed, these handles *cannot* be shared - each " +"unique call to :c:func:`PyGILState_Ensure` must save the handle for its call " +"to :c:func:`PyGILState_Release`." +msgstr "" + +msgid "" +"When the function returns, there will be an :term:`attached thread state` " +"and the thread will be able to call arbitrary Python code. Failure is a " +"fatal error." +msgstr "" + +msgid "" +"Calling this function when the runtime is finalizing is unsafe. Doing so " +"will either hang the thread until the program ends, or fully crash the " +"interpreter in rare cases. Refer to :ref:`cautions-regarding-runtime-" +"finalization` for more details." +msgstr "" + +msgid "" +"Release any resources previously acquired. After this call, Python's state " +"will be the same as it was prior to the corresponding :c:func:" +"`PyGILState_Ensure` call (but generally this state will be unknown to the " +"caller, hence the use of the GILState API)." +msgstr "" + +msgid "" +"Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:" +"func:`PyGILState_Release` on the same thread." +msgstr "" + +msgid "" +"Get the :term:`attached thread state` for this thread. May return ``NULL`` " +"if no GILState API has been used on the current thread. Note that the main " +"thread always has such a thread-state, even if no auto-thread-state call has " +"been made on the main thread. This is mainly a helper/diagnostic function." +msgstr "" + +msgid "" +"This function may return non-``NULL`` even when the :term:`thread state` is " +"detached. Prefer :c:func:`PyThreadState_Get` or :c:func:" +"`PyThreadState_GetUnchecked` for most cases." +msgstr "" + +msgid ":c:func:`PyThreadState_Get`" +msgstr "" + +msgid "" +"Return ``1`` if the current thread is holding the :term:`GIL` and ``0`` " +"otherwise. This function can be called from any thread at any time. Only if " +"it has had its :term:`thread state ` initialized via :" +"c:func:`PyGILState_Ensure` will it return ``1``. This is mainly a helper/" +"diagnostic function. It can be useful for example in callback contexts or " +"memory allocation functions when knowing that the :term:`GIL` is locked can " +"allow the caller to perform sensitive actions or otherwise behave " +"differently." +msgstr "" + +msgid "" +"If the current Python process has ever created a subinterpreter, this " +"function will *always* return ``1``. Prefer :c:func:" +"`PyThreadState_GetUnchecked` for most cases." +msgstr "" + +msgid "Low-level APIs" +msgstr "niskopoziomowe interfejsy API" + +msgid "" +"Create a new thread state object belonging to the given interpreter object. " +"An :term:`attached thread state` is not needed." +msgstr "" + +msgid "" +"Reset all information in a :term:`thread state` object. *tstate* must be :" +"term:`attached `" +msgstr "" + +msgid "" +"This function now calls the :c:member:`!PyThreadState.on_delete` callback. " +"Previously, that happened in :c:func:`PyThreadState_Delete`." +msgstr "" + +msgid "The :c:member:`!PyThreadState.on_delete` callback was removed." +msgstr "" + +msgid "" +"Destroy a :term:`thread state` object. *tstate* should not be :term:" +"`attached ` to any thread. *tstate* must have been " +"reset with a previous call to :c:func:`PyThreadState_Clear`." +msgstr "" + +msgid "" +"Detach the :term:`attached thread state` (which must have been reset with a " +"previous call to :c:func:`PyThreadState_Clear`) and then destroy it." +msgstr "" + +msgid "" +"No :term:`thread state` will be :term:`attached ` " +"upon returning." +msgstr "" + +msgid "Get the current frame of the Python thread state *tstate*." +msgstr "" + +msgid "" +"Return a :term:`strong reference`. Return ``NULL`` if no frame is currently " +"executing." +msgstr "" + +msgid "See also :c:func:`PyEval_GetFrame`." +msgstr "" + +msgid "" +"*tstate* must not be ``NULL``, and must be :term:`attached `." +msgstr "" + +msgid "" +"Get the unique :term:`thread state` identifier of the Python thread state " +"*tstate*." +msgstr "" + +msgid "Get the interpreter of the Python thread state *tstate*." +msgstr "" + +msgid "Suspend tracing and profiling in the Python thread state *tstate*." +msgstr "" + +msgid "Resume them using the :c:func:`PyThreadState_LeaveTracing` function." +msgstr "" + +msgid "" +"Resume tracing and profiling in the Python thread state *tstate* suspended " +"by the :c:func:`PyThreadState_EnterTracing` function." +msgstr "" + +msgid "" +"See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` functions." +msgstr "" + +msgid "" +"Set the stack protection start address and stack protection size of a Python " +"thread state." +msgstr "" + +msgid "" +"On success, return ``0``. On failure, set an exception and return ``-1``." +msgstr "" + +msgid "" +"CPython implements :ref:`recursion control ` for C code by " +"raising :py:exc:`RecursionError` when it notices that the machine execution " +"stack is close to overflow. See for example the :c:func:" +"`Py_EnterRecursiveCall` function. For this, it needs to know the location of " +"the current thread's stack, which it normally gets from the operating " +"system. When the stack is changed, for example using context switching " +"techniques like the Boost library's ``boost::context``, you must call :c:" +"func:`~PyUnstable_ThreadState_SetStackProtection` to inform CPython of the " +"change." +msgstr "" + +msgid "" +"Call :c:func:`~PyUnstable_ThreadState_SetStackProtection` either before or " +"after changing the stack. Do not call any other Python C API between the " +"call and the stack change." +msgstr "" + +msgid "" +"See :c:func:`PyUnstable_ThreadState_ResetStackProtection` for undoing this " +"operation." +msgstr "" + +msgid "" +"Reset the stack protection start address and stack protection size of a " +"Python thread state to the operating system defaults." +msgstr "" + +msgid "" +"See :c:func:`PyUnstable_ThreadState_SetStackProtection` for an explanation." +msgstr "" + +msgid "" +"Return a dictionary in which extensions can store thread-specific state " +"information. Each extension should use a unique key to use to store state " +"in the dictionary. It is okay to call this function when no :term:`thread " +"state` is :term:`attached `. If this function returns " +"``NULL``, no exception has been raised and the caller should assume no " +"thread state is attached." +msgstr "" + +msgid "" +":term:`Attach ` *tstate* to the current thread, which " +"must not be ``NULL`` or already :term:`attached `." +msgstr "" + +msgid "" +"The calling thread must not already have an :term:`attached thread state`." +msgstr "" + +msgid "" +"Updated to be consistent with :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and terminate the " +"current thread if called while the interpreter is finalizing." +msgstr "" + +msgid "" +":c:func:`PyEval_RestoreThread` is a higher-level function which is always " +"available (even when threads have not been initialized)." +msgstr "" + +msgid "" +"Detach the :term:`attached thread state`. The *tstate* argument, which must " +"not be ``NULL``, is only used to check that it represents the :term:" +"`attached thread state` --- if it isn't, a fatal error is reported." +msgstr "" + +msgid "" +":c:func:`PyEval_SaveThread` is a higher-level function which is always " +"available (even when threads have not been initialized)." +msgstr "" + +msgid "Asynchronous notifications" +msgstr "" + +msgid "" +"A mechanism is provided to make asynchronous notifications to the main " +"interpreter thread. These notifications take the form of a function pointer " +"and a void pointer argument." +msgstr "" + +msgid "" +"Schedule a function to be called from the main interpreter thread. On " +"success, ``0`` is returned and *func* is queued for being called in the main " +"thread. On failure, ``-1`` is returned without setting any exception." +msgstr "" + +msgid "" +"When successfully queued, *func* will be *eventually* called from the main " +"interpreter thread with the argument *arg*. It will be called " +"asynchronously with respect to normally running Python code, but with both " +"these conditions met:" +msgstr "" + +msgid "on a :term:`bytecode` boundary;" +msgstr "" + +msgid "" +"with the main thread holding an :term:`attached thread state` (*func* can " +"therefore use the full C API)." +msgstr "" + +msgid "" +"*func* must return ``0`` on success, or ``-1`` on failure with an exception " +"set. *func* won't be interrupted to perform another asynchronous " +"notification recursively, but it can still be interrupted to switch threads " +"if the :term:`thread state ` is detached." +msgstr "" + +msgid "" +"This function doesn't need an :term:`attached thread state`. However, to " +"call this function in a subinterpreter, the caller must have an :term:" +"`attached thread state`. Otherwise, the function *func* can be scheduled to " +"be called from the wrong interpreter." +msgstr "" + +msgid "" +"This is a low-level function, only useful for very special cases. There is " +"no guarantee that *func* will be called as quick as possible. If the main " +"thread is busy executing a system call, *func* won't be called before the " +"system call returns. This function is generally **not** suitable for " +"calling Python code from arbitrary C threads. Instead, use the :ref:" +"`PyGILState API`." +msgstr "" + +msgid "" +"If this function is called in a subinterpreter, the function *func* is now " +"scheduled to be called from the subinterpreter, rather than being called " +"from the main interpreter. Each subinterpreter now has its own list of " +"scheduled calls." +msgstr "" + +msgid "" +"This function now always schedules *func* to be run in the main interpreter." +msgstr "" + +msgid "" +"Execute all pending calls. This is usually executed automatically by the " +"interpreter." +msgstr "" + +msgid "" +"This function returns ``0`` on success, and returns ``-1`` with an exception " +"set on failure." +msgstr "" + +msgid "" +"If this is not called in the main thread of the main interpreter, this " +"function does nothing and returns ``0``. The caller must hold an :term:" +"`attached thread state`." +msgstr "" + +msgid "This function only runs pending calls in the main interpreter." +msgstr "" + +msgid "" +"Asynchronously raise an exception in a thread. The *id* argument is the " +"thread id of the target thread; *exc* is the exception object to be raised. " +"This function does not steal any references to *exc*. To prevent naive " +"misuse, you must write your own C extension to call this. Must be called " +"with an :term:`attached thread state`. Returns the number of thread states " +"modified; this is normally one, but will be zero if the thread id isn't " +"found. If *exc* is ``NULL``, the pending exception (if any) for the thread " +"is cleared. This raises no exceptions." +msgstr "" + +msgid "" +"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:" +"`unsigned long`." +msgstr "" + +msgid "Operating system thread APIs" +msgstr "" + +msgid "Sentinel value for an invalid thread ID." +msgstr "" + +msgid "This is currently equivalent to ``(unsigned long)-1``." +msgstr "" + +msgid "" +"Start function *func* in a new thread with argument *arg*. The resulting " +"thread is not intended to be joined." +msgstr "" + +msgid "*func* must not be ``NULL``, but *arg* may be ``NULL``." +msgstr "" + +msgid "" +"On success, this function returns the identifier of the new thread; on " +"failure, this returns :c:macro:`PYTHREAD_INVALID_THREAD_ID`." +msgstr "" + +msgid "The caller does not need to hold an :term:`attached thread state`." +msgstr "" + +msgid "Return the identifier of the current thread, which will never be zero." +msgstr "" + +msgid "" +"This function cannot fail, and the caller does not need to hold an :term:" +"`attached thread state`." +msgstr "" + +msgid ":py:func:`threading.get_ident`" +msgstr "" + +msgid "" +"Get general information about the current thread in the form of a :ref:" +"`struct sequence ` object. This information is " +"accessible as :py:attr:`sys.thread_info` in Python." +msgstr "" + +msgid "" +"On success, this returns a new :term:`strong reference` to the thread " +"information; on failure, this returns ``NULL`` with an exception set." +msgstr "" + +msgid "The caller must hold an :term:`attached thread state`." +msgstr "" + +msgid "This macro is defined when the system supports native thread IDs." +msgstr "" + +msgid "" +"Get the native identifier of the current thread as it was assigned by the " +"operating system's kernel, which will never be less than zero." +msgstr "" + +msgid "" +"This function is only available when :c:macro:`PY_HAVE_THREAD_NATIVE_ID` is " +"defined." +msgstr "" + +msgid ":py:func:`threading.get_native_id`" +msgstr "" + +msgid "" +"Terminate the current thread. This function is generally considered unsafe " +"and should be avoided. It is kept solely for backwards compatibility." +msgstr "" + +msgid "" +"This function is only safe to call if all functions in the full call stack " +"are written to safely allow it." +msgstr "" + +msgid "" +"If the current system uses POSIX threads (also known as \"pthreads\"), this " +"calls :manpage:`pthread_exit(3)`, which attempts to unwind the stack and " +"call C++ destructors on some libc implementations. However, if a " +"``noexcept`` function is reached, it may terminate the process. Other " +"systems, such as macOS, do unwinding." +msgstr "" + +msgid "" +"On Windows, this function calls ``_endthreadex()``, which kills the thread " +"without calling C++ destructors." +msgstr "" + +msgid "In any case, there is a risk of corruption on the thread's stack." +msgstr "" + +msgid "" +"Initialize ``PyThread*`` APIs. Python executes this function automatically, " +"so there's little need to call it from an extension module." +msgstr "" + +msgid "Set the stack size of the current thread to *size* bytes." +msgstr "" + +msgid "" +"This function returns ``0`` on success, ``-1`` if *size* is invalid, or " +"``-2`` if the system does not support changing the stack size. This function " +"does not set exceptions." +msgstr "" + +msgid "" +"Return the stack size of the current thread in bytes, or ``0`` if the " +"system's default stack size is in use." +msgstr "" + +msgid "global interpreter lock" +msgstr "" + +msgid "interpreter lock" +msgstr "" + +msgid "lock, interpreter" +msgstr "" + +msgid "setswitchinterval (in module sys)" +msgstr "" + +msgid "PyThreadState (C type)" +msgstr "" + +msgid "Py_BEGIN_ALLOW_THREADS (C macro)" +msgstr "" + +msgid "Py_END_ALLOW_THREADS (C macro)" +msgstr "" + +msgid "PyEval_RestoreThread (C function)" +msgstr "" + +msgid "PyEval_SaveThread (C function)" +msgstr "" + +msgid "PyEval_AcquireThread()" +msgstr "" + +msgid "PyEval_ReleaseThread()" +msgstr "" + +msgid "PyEval_SaveThread()" +msgstr "" + +msgid "PyEval_RestoreThread()" +msgstr "" + +msgid "module" +msgstr "moduł" + +msgid "_thread" +msgstr "" diff --git a/c-api/time.po b/c-api/time.po index 12e55b270e..a696300bca 100644 --- a/c-api/time.po +++ b/c-api/time.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-05-11 01:07+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/tuple.po b/c-api/tuple.po index c0c73ff087..1a3f4599fb 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,7 +58,7 @@ msgstr "" msgid "" "Take a pointer to a tuple object, and return the size of that tuple. On " -"error, return ``-1`` and with an exception set." +"error, return ``-1`` with an exception set." msgstr "" msgid "Like :c:func:`PyTuple_Size`, but without error checking." diff --git a/c-api/type.po b/c-api/type.po index d232679e89..95bf641187 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -123,6 +122,21 @@ msgid "" "not returned to it by a previous call to :c:func:`PyType_AddWatcher`." msgstr "" +msgid "" +"Mark *type* as not watched. This undoes a previous call to :c:func:" +"`PyType_Watch`. *type* must not be ``NULL``." +msgstr "" + +msgid "" +"An extension should never call this function with a *watcher_id* that was " +"not returned to it by a previous call to :c:func:`PyType_AddWatcher`." +msgstr "" + +msgid "" +"On success, this function returns ``0``. On failure, this function returns " +"``-1`` with an exception set." +msgstr "" + msgid "Type of a type-watcher callback function." msgstr "" @@ -137,6 +151,18 @@ msgid "" "features are denoted by single bit flags." msgstr "" +msgid "" +"Return non-zero if the type object *type* sets the subclass flag *flag*. " +"Subclass flags are denoted by :c:macro:`Py_TPFLAGS_*_SUBCLASS " +"`. This function is used by many ``_Check`` " +"functions for common types." +msgstr "" + +msgid "" +":c:func:`PyObject_TypeCheck`, which is used as a slower alternative in " +"``_Check`` functions for types that don't come with subclass flags." +msgstr "" + msgid "" "Return true if the type object includes support for the cycle detector; this " "tests the type flag :c:macro:`Py_TPFLAGS_HAVE_GC`." @@ -153,14 +179,31 @@ msgstr "" msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type " -"object. Use Python's default memory allocation mechanism to allocate a new " -"instance and initialize all its contents to ``NULL``." +"object. Uses Python's default memory allocation mechanism to allocate " +"memory for a new instance, zeros the memory, then initializes the memory as " +"if by calling :c:func:`PyObject_Init` or :c:func:`PyObject_InitVar`." +msgstr "" + +msgid "" +"Do not call this directly to allocate memory for an object; call the type's :" +"c:member:`~PyTypeObject.tp_alloc` slot instead." +msgstr "" + +msgid "" +"For types that support garbage collection (i.e., the :c:macro:" +"`Py_TPFLAGS_HAVE_GC` flag is set), this function behaves like :c:macro:" +"`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar` (except the memory is " +"guaranteed to be zeroed before initialization), and should be paired with :c:" +"func:`PyObject_GC_Del` in :c:member:`~PyTypeObject.tp_free`. Otherwise, it " +"behaves like :c:macro:`PyObject_New` or :c:macro:`PyObject_NewVar` (except " +"the memory is guaranteed to be zeroed before initialization) and should be " +"paired with :c:func:`PyObject_Free` in :c:member:`~PyTypeObject.tp_free`." msgstr "" msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type " -"object. Create a new instance using the type's :c:member:`~PyTypeObject." -"tp_alloc` slot." +"object. Creates a new instance using the type's :c:member:`~PyTypeObject." +"tp_alloc` slot and returns the resulting object." msgstr "" msgid "" @@ -222,6 +265,12 @@ msgid "" "created using :c:func:`PyType_FromModuleAndSpec`." msgstr "" +msgid "" +"The returned reference is :term:`borrowed ` from *type*, " +"and will be valid as long as you hold a reference to *type*. Do not release " +"it with :c:func:`Py_DECREF` or similar." +msgstr "" + msgid "" "If no module is associated with the given type, sets :py:class:`TypeError` " "and returns ``NULL``." @@ -299,6 +348,17 @@ msgid "" "assigned, or 0 if a new tag could not be assigned." msgstr "" +msgid "" +"Return true if instances of *type* support creating weak references, false " +"otherwise. This function always succeeds. *type* must not be ``NULL``." +msgstr "" + +msgid ":ref:`weakrefobjects`" +msgstr "" + +msgid ":py:mod:`weakref`" +msgstr "" + msgid "Creating Heap-Allocated Types" msgstr "" @@ -325,9 +385,9 @@ msgstr "" msgid "" "The *bases* argument can be used to specify base classes; it can either be " -"only one class or a tuple of classes. If *bases* is ``NULL``, the " -"*Py_tp_bases* slot is used instead. If that also is ``NULL``, the " -"*Py_tp_base* slot is used instead. If that also is ``NULL``, the new type " +"only one class or a tuple of classes. If *bases* is ``NULL``, the :c:data:" +"`Py_tp_bases` slot is used instead. If that also is ``NULL``, the :c:data:" +"`Py_tp_base` slot is used instead. If that also is ``NULL``, the new type " "derives from :class:`object`." msgstr "" @@ -504,13 +564,13 @@ msgid "" "prefix. For example, use:" msgstr "" -msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`" +msgid ":c:data:`Py_tp_dealloc` to set :c:member:`PyTypeObject.tp_dealloc`" msgstr "" -msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`" +msgid ":c:data:`Py_nb_add` to set :c:member:`PyNumberMethods.nb_add`" msgstr "" -msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`" +msgid ":c:data:`Py_sq_length` to set :c:member:`PySequenceMethods.sq_length`" msgstr "" msgid "" @@ -519,7 +579,7 @@ msgid "" msgstr "" msgid ":c:data:`Py_tp_token`" -msgstr "" +msgstr ":c:data:`Py_tp_token`" msgid "" "The following “offset” fields cannot be set using :c:type:`PyType_Slot`:" @@ -543,8 +603,8 @@ msgstr "" msgid "" "If it is not possible to switch to a ``MANAGED`` flag (for example, for " "vectorcall or to support Python older than 3.12), specify the offset in :c:" -"member:`Py_tp_members `. See :ref:`PyMemberDef " -"documentation ` for details." +"data:`Py_tp_members`. See :ref:`PyMemberDef documentation ` for details." msgstr "" msgid "" @@ -573,8 +633,8 @@ msgid "" msgstr "" msgid "" -"The field :c:member:`~PyTypeObject.tp_vectorcall` can now set using " -"``Py_tp_vectorcall``. See the field's documentation for details." +"The field :c:member:`~PyTypeObject.tp_vectorcall` can now be set using :c:" +"data:`Py_tp_vectorcall`. See the field's documentation for details." msgstr "" msgid "" @@ -585,7 +645,7 @@ msgstr "" msgid "*pfunc* values may not be ``NULL``, except for the following slots:" msgstr "" -msgid "``Py_tp_doc``" +msgid ":c:data:`Py_tp_doc`" msgstr "" msgid "" diff --git a/c-api/typeobj.po b/c-api/typeobj.po index f3fd0cf7b6..6b2302349e 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -800,12 +797,18 @@ msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`" msgid ":c:func:`getbufferproc`" msgstr ":c:func:`getbufferproc`" +msgid "__buffer__" +msgstr "" + msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgid ":c:func:`releasebufferproc`" msgstr ":c:func:`releasebufferproc`" +msgid "__release_\\ buffer\\__" +msgstr "" + msgid "slot typedefs" msgstr "" @@ -961,8 +964,11 @@ msgid "" "the :c:member:`~PyVarObject.ob_size` field." msgstr "" +msgid ":c:member:`PyObject.ob_refcnt`" +msgstr "" + msgid "" -"This is the type object's reference count, initialized to ``1`` by the " +"The type object's reference count is initialized to ``1`` by the " "``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type " "objects `, the type's instances (objects whose :c:member:" "`~PyObject.ob_type` points back to the type) do *not* count as references. " @@ -976,6 +982,9 @@ msgstr "" msgid "This field is not inherited by subtypes." msgstr "" +msgid ":c:member:`PyObject.ob_type`" +msgstr "" + msgid "" "This is the type's type, in other words its metatype. It is initialized by " "the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " @@ -1003,15 +1012,16 @@ msgstr "" msgid "PyVarObject Slots" msgstr "" +msgid ":c:member:`PyVarObject.ob_size`" +msgstr "" + msgid "" "For :ref:`statically allocated type objects `, this should be " "initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning." msgstr "" -msgid "" -"This field should be accessed using the :c:func:`Py_SIZE()` and :c:func:" -"`Py_SET_SIZE()` macros." +msgid "This field should be accessed using the :c:func:`Py_SIZE()` macro." msgstr "" msgid "PyTypeObject Slots" @@ -1170,77 +1180,166 @@ msgid "" msgstr "" msgid "" -"A pointer to the instance destructor function. This function must be " -"defined unless the type guarantees that its instances will never be " -"deallocated (as is the case for the singletons ``None`` and ``Ellipsis``). " -"The function signature is::" +"A pointer to the instance destructor function. The function signature is::" msgstr "" msgid "void tp_dealloc(PyObject *self);" msgstr "" msgid "" -"The destructor function is called by the :c:func:`Py_DECREF` and :c:func:" -"`Py_XDECREF` macros when the new reference count is zero. At this point, " -"the instance is still in existence, but there are no references to it. The " -"destructor function should free all references which the instance owns, free " -"all memory buffers owned by the instance (using the freeing function " -"corresponding to the allocation function used to allocate the buffer), and " -"call the type's :c:member:`~PyTypeObject.tp_free` function. If the type is " -"not subtypable (doesn't have the :c:macro:`Py_TPFLAGS_BASETYPE` flag bit " -"set), it is permissible to call the object deallocator directly instead of " -"via :c:member:`~PyTypeObject.tp_free`. The object deallocator should be the " -"one used to allocate the instance; this is normally :c:func:`PyObject_Free` " -"if the instance was allocated using :c:macro:`PyObject_New` or :c:macro:" -"`PyObject_NewVar`, or :c:func:`PyObject_GC_Del` if the instance was " -"allocated using :c:macro:`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar`." +"The destructor function should remove all references which the instance owns " +"(e.g., call :c:func:`Py_CLEAR`), free all memory buffers owned by the " +"instance, and call the type's :c:member:`~PyTypeObject.tp_free` function to " +"free the object itself." msgstr "" msgid "" -"If the type supports garbage collection (has the :c:macro:" -"`Py_TPFLAGS_HAVE_GC` flag bit set), the destructor should call :c:func:" -"`PyObject_GC_UnTrack` before clearing any member fields." +"If you may call functions that may set the error indicator, you must use :c:" +"func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException` to " +"ensure you don't clobber a preexisting error indicator (the deallocation " +"could have occurred while processing a different error):" msgstr "" msgid "" "static void\n" -"foo_dealloc(PyObject *op)\n" +"foo_dealloc(foo_object *self)\n" "{\n" -" foo_object *self = (foo_object *) op;\n" -" PyObject_GC_UnTrack(self);\n" -" Py_CLEAR(self->ref);\n" -" Py_TYPE(self)->tp_free(self);\n" +" PyObject *et, *ev, *etb;\n" +" PyObject *exc = PyErr_GetRaisedException();\n" +" ...\n" +" PyErr_SetRaisedException(exc);\n" "}" msgstr "" msgid "" -"Finally, if the type is heap allocated (:c:macro:`Py_TPFLAGS_HEAPTYPE`), the " +"The dealloc handler itself must not raise an exception; if it hits an error " +"case it should call :c:func:`PyErr_FormatUnraisable` to log (and clear) an " +"unraisable exception." +msgstr "" + +msgid "No guarantees are made about when an object is destroyed, except:" +msgstr "" + +msgid "" +"Python will destroy an object immediately or some time after the final " +"reference to the object is deleted, unless its finalizer (:c:member:" +"`~PyTypeObject.tp_finalize`) subsequently resurrects the object." +msgstr "" + +msgid "" +"An object will not be destroyed while it is being automatically finalized (:" +"c:member:`~PyTypeObject.tp_finalize`) or automatically cleared (:c:member:" +"`~PyTypeObject.tp_clear`)." +msgstr "" + +msgid "" +"CPython currently destroys an object immediately from :c:func:`Py_DECREF` " +"when the new reference count is zero, but this may change in a future " +"version." +msgstr "" + +msgid "" +"It is recommended to call :c:func:`PyObject_CallFinalizerFromDealloc` at the " +"beginning of :c:member:`!tp_dealloc` to guarantee that the object is always " +"finalized before destruction." +msgstr "" + +msgid "" +"If the type supports garbage collection (the :c:macro:`Py_TPFLAGS_HAVE_GC` " +"flag is set), the destructor should call :c:func:`PyObject_GC_UnTrack` " +"before clearing any member fields." +msgstr "" + +msgid "" +"It is permissible to call :c:member:`~PyTypeObject.tp_clear` from :c:member:" +"`!tp_dealloc` to reduce code duplication and to guarantee that the object is " +"always cleared before destruction. Beware that :c:member:`!tp_clear` might " +"have already been called." +msgstr "" + +msgid "" +"If the type is heap allocated (:c:macro:`Py_TPFLAGS_HEAPTYPE`), the " "deallocator should release the owned reference to its type object (via :c:" -"func:`Py_DECREF`) after calling the type deallocator. In order to avoid " -"dangling pointers, the recommended way to achieve this is:" +"func:`Py_DECREF`) after calling the type deallocator. See the example code " +"below.::" msgstr "" msgid "" "static void\n" "foo_dealloc(PyObject *op)\n" "{\n" -" PyTypeObject *tp = Py_TYPE(op);\n" -" // free references and buffers here\n" -" tp->tp_free(op);\n" -" Py_DECREF(tp);\n" +" foo_object *self = (foo_object *) op;\n" +" PyObject_GC_UnTrack(self);\n" +" Py_CLEAR(self->ref);\n" +" Py_TYPE(self)->tp_free(self);\n" "}" msgstr "" msgid "" -"In a garbage collected Python, :c:member:`!tp_dealloc` may be called from " -"any Python thread, not just the thread which created the object (if the " -"object becomes part of a refcount cycle, that cycle might be collected by a " -"garbage collection on any thread). This is not a problem for Python API " -"calls, since the thread on which :c:member:`!tp_dealloc` is called with an :" -"term:`attached thread state`. However, if the object being destroyed in " -"turn destroys objects from some other C or C++ library, care should be taken " -"to ensure that destroying those objects on the thread which called :c:member:" -"`!tp_dealloc` will not violate any assumptions of the library." +":c:member:`!tp_dealloc` must leave the exception status unchanged. If it " +"needs to call something that might raise an exception, the exception state " +"must be backed up first and restored later (after logging any exceptions " +"with :c:func:`PyErr_WriteUnraisable`)." +msgstr "" + +msgid "Example::" +msgstr "Przykład::" + +msgid "" +"static void\n" +"foo_dealloc(PyObject *self)\n" +"{\n" +" PyObject *exc = PyErr_GetRaisedException();\n" +"\n" +" if (PyObject_CallFinalizerFromDealloc(self) < 0) {\n" +" // self was resurrected.\n" +" goto done;\n" +" }\n" +"\n" +" PyTypeObject *tp = Py_TYPE(self);\n" +"\n" +" if (tp->tp_flags & Py_TPFLAGS_HAVE_GC) {\n" +" PyObject_GC_UnTrack(self);\n" +" }\n" +"\n" +" // Optional, but convenient to avoid code duplication.\n" +" if (tp->tp_clear && tp->tp_clear(self) < 0) {\n" +" PyErr_WriteUnraisable(self);\n" +" }\n" +"\n" +" // Any additional destruction goes here.\n" +"\n" +" tp->tp_free(self);\n" +" self = NULL; // In case PyErr_WriteUnraisable() is called below.\n" +"\n" +" if (tp->tp_flags & Py_TPFLAGS_HEAPTYPE) {\n" +" Py_CLEAR(tp);\n" +" }\n" +"\n" +"done:\n" +" // Optional, if something was called that might have raised an\n" +" // exception.\n" +" if (PyErr_Occurred()) {\n" +" PyErr_WriteUnraisable(self);\n" +" }\n" +" PyErr_SetRaisedException(exc);\n" +"}" +msgstr "" + +msgid "" +":c:member:`!tp_dealloc` may be called from any Python thread, not just the " +"thread which created the object (if the object becomes part of a refcount " +"cycle, that cycle might be collected by a garbage collection on any " +"thread). This is not a problem for Python API calls, since the thread on " +"which :c:member:`!tp_dealloc` is called with an :term:`attached thread " +"state`. However, if the object being destroyed in turn destroys objects " +"from some other C library, care should be taken to ensure that destroying " +"those objects on the thread which called :c:member:`!tp_dealloc` will not " +"violate any assumptions of the library." +msgstr "" + +msgid "" +":ref:`life-cycle` for details about how this slot relates to other slots." msgstr "" msgid "" @@ -1631,11 +1730,11 @@ msgstr "" msgid "" "This bit is set when the object supports garbage collection. If this bit is " -"set, instances must be created using :c:macro:`PyObject_GC_New` and " -"destroyed using :c:func:`PyObject_GC_Del`. More information in section :ref:" -"`supporting-cycle-detection`. This bit also implies that the GC-related " -"fields :c:member:`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject." -"tp_clear` are present in the type object." +"set, memory for new instances (see :c:member:`~PyTypeObject.tp_alloc`) must " +"be allocated using :c:macro:`PyObject_GC_New` or :c:func:" +"`PyType_GenericAlloc` and deallocated (see :c:member:`~PyTypeObject." +"tp_free`) using :c:func:`PyObject_GC_Del`. More information in section :ref:" +"`supporting-cycle-detection`." msgstr "" msgid "" @@ -1687,8 +1786,9 @@ msgid "" msgstr "" msgid "" -"This bit indicates that instances of the class have a `~object.__dict__` " -"attribute, and that the space for the dictionary is managed by the VM." +"This bit indicates that instances of the class have a :attr:`~object." +"__dict__` attribute, and that the space for the dictionary is managed by the " +"VM." msgstr "" msgid "If this flag is set, :c:macro:`Py_TPFLAGS_HAVE_GC` should also be set." @@ -1734,12 +1834,13 @@ msgid "This flag is inherited." msgstr "" msgid "" -"These flags are used by functions such as :c:func:`PyLong_Check` to quickly " -"determine if a type is a subclass of a built-in type; such specific checks " -"are faster than a generic check, like :c:func:`PyObject_IsInstance`. Custom " -"types that inherit from built-ins should have their :c:member:`~PyTypeObject." -"tp_flags` set appropriately, or the code that interacts with such types will " -"behave differently depending on what kind of check is used." +"Functions such as :c:func:`PyLong_Check` will call :c:func:" +"`PyType_FastSubclass` with one of these flags to quickly determine if a type " +"is a subclass of a built-in type; such specific checks are faster than a " +"generic check, like :c:func:`PyObject_IsInstance`. Custom types that inherit " +"from built-ins should have their :c:member:`~PyTypeObject.tp_flags` set " +"appropriately, or the code that interacts with such types will behave " +"differently depending on what kind of check is used." msgstr "" msgid "" @@ -1762,6 +1863,14 @@ msgid "" "This bit is inherited if :c:member:`~PyTypeObject.tp_call` is also inherited." msgstr "" +msgid "as ``_Py_TPFLAGS_HAVE_VECTORCALL``" +msgstr "" + +msgid "" +"Renamed to the current name, without the leading underscore. The old " +"provisional name is :term:`soft deprecated`." +msgstr "" + msgid "" "This flag is now removed from a class when the class's :py:meth:`~object." "__call__` method is reassigned." @@ -1853,6 +1962,39 @@ msgid "" "in a future version of CPython" msgstr "" +msgid "" +"This is a :term:`soft deprecated` macro that does nothing. Historically, " +"this would indicate that the :c:member:`~PyTypeObject.tp_version_tag` field " +"was available and initialized." +msgstr "" + +msgid "" +"This bit indicates that instances of this type will have an \"inline " +"values\" array (containing the object's attributes) placed directly after " +"the end of the object." +msgstr "" + +msgid "This requires that :c:macro:`Py_TPFLAGS_HAVE_GC` is set." +msgstr "" + +msgid "" +"This bit indicates that this is an abstract type and therefore cannot be " +"instantiated." +msgstr "" + +msgid ":mod:`abc`" +msgstr "" + +msgid "" +"Internal. Do not set or unset this flag. Historically, this was a reserved " +"flag for use in Stackless Python." +msgstr "" + +msgid "" +"This flag is present in header files, but is not be used. This may be " +"removed in a future version of CPython." +msgstr "" + msgid "" "An optional pointer to a NUL-terminated C string giving the docstring for " "this type object. This is exposed as the :attr:`~type.__doc__` attribute on " @@ -1949,6 +2091,12 @@ msgid "" "it, as they are allowed to be removed even if the instance is still alive)." msgstr "" +msgid "" +"The traversal function must not have any side effects. It must not modify " +"the reference counts of any Python objects nor create or destroy any Python " +"objects." +msgstr "" + msgid "" "Note that :c:func:`Py_VISIT` requires the *visit* and *arg* parameters to :c:" "func:`!local_traverse` to have these specific names; don't name them just " @@ -1963,6 +2111,11 @@ msgid "" "superclass). If they do not, the type object may not be garbage-collected." msgstr "" +msgid "" +"The :c:member:`~PyTypeObject.tp_traverse` function can be called from any " +"thread." +msgstr "" + msgid "" "Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " "``tp_traverse``. In earlier versions of Python, due to `bug 40217 ` do not inherit this slot." msgstr "" msgid "" -"For static subtypes, :c:data:`PyBaseObject_Type` uses :c:func:" -"`PyType_GenericAlloc`. That is the recommended value for all statically " -"defined types." +"For heap subtypes, this field is always set to :c:func:`PyType_GenericAlloc`." +msgstr "" + +msgid "For static subtypes, this slot is inherited (see above)." msgstr "" msgid "An optional pointer to an instance creation function." @@ -2525,24 +2771,22 @@ msgid "void tp_free(void *self);" msgstr "" msgid "" -"An initializer that is compatible with this signature is :c:func:" -"`PyObject_Free`." +"This function must free the memory allocated by :c:member:`~PyTypeObject." +"tp_alloc`." msgstr "" msgid "" -"This field is inherited by static subtypes, but not by dynamic subtypes " -"(subtypes created by a class statement)" +"Static subtypes inherit this slot, which will be :c:func:`PyObject_Free` if " +"inherited from :class:`object`. Exception: If the type supports garbage " +"collection (i.e., the :c:macro:`Py_TPFLAGS_HAVE_GC` flag is set in :c:member:" +"`~PyTypeObject.tp_flags`) and it would inherit :c:func:`PyObject_Free`, then " +"this slot is not inherited but instead defaults to :c:func:`PyObject_GC_Del`." msgstr "" msgid "" -"In dynamic subtypes, this field is set to a deallocator suitable to match :c:" -"func:`PyType_GenericAlloc` and the value of the :c:macro:" -"`Py_TPFLAGS_HAVE_GC` flag bit." -msgstr "" - -msgid "" -"For static subtypes, :c:data:`PyBaseObject_Type` uses :c:func:" -"`PyObject_Free`." +"For :ref:`heap subtypes `, this slot defaults to a deallocator " +"suitable to match :c:func:`PyType_GenericAlloc` and the value of the :c:" +"macro:`Py_TPFLAGS_HAVE_GC` flag." msgstr "" msgid "An optional pointer to a function called by the garbage collector." @@ -2582,7 +2826,7 @@ msgid "" msgstr "" msgid "" -"For dynamically created classes, the ``Py_tp_bases`` :c:type:`slot " +"For dynamically created classes, the :c:data:`Py_tp_bases` :c:type:`slot " "` can be used instead of the *bases* argument of :c:func:" "`PyType_FromSpecWithBases`. The argument form is preferred." msgstr "" @@ -2643,37 +2887,182 @@ msgid "Used to index into the method cache. Internal use only." msgstr "" msgid "" -"An optional pointer to an instance finalization function. Its signature is::" +"An optional pointer to an instance finalization function. This is the C " +"implementation of the :meth:`~object.__del__` special method. Its signature " +"is::" msgstr "" msgid "void tp_finalize(PyObject *self);" msgstr "" msgid "" -"If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " -"once when finalizing an instance. It is called either from the garbage " -"collector (if the instance is part of an isolated reference cycle) or just " -"before the object is deallocated. Either way, it is guaranteed to be called " -"before attempting to break reference cycles, ensuring that it finds the " -"object in a sane state." +"The primary purpose of finalization is to perform any non-trivial cleanup " +"that must be performed before the object is destroyed, while the object and " +"any other objects it directly or indirectly references are still in a " +"consistent state. The finalizer is allowed to execute arbitrary Python code." +msgstr "" + +msgid "" +"Before Python automatically finalizes an object, some of the object's direct " +"or indirect referents might have themselves been automatically finalized. " +"However, none of the referents will have been automatically cleared (:c:" +"member:`~PyTypeObject.tp_clear`) yet." +msgstr "" + +msgid "" +"Other non-finalized objects might still be using a finalized object, so the " +"finalizer must leave the object in a sane state (e.g., invariants are still " +"met)." +msgstr "" + +msgid "" +"After Python automatically finalizes an object, Python might start " +"automatically clearing (:c:member:`~PyTypeObject.tp_clear`) the object and " +"its referents (direct and indirect). Cleared objects are not guaranteed to " +"be in a consistent state; a finalized object must be able to tolerate " +"cleared referents." +msgstr "" + +msgid "" +"An object is not guaranteed to be automatically finalized before its " +"destructor (:c:member:`~PyTypeObject.tp_dealloc`) is called. It is " +"recommended to call :c:func:`PyObject_CallFinalizerFromDealloc` at the " +"beginning of :c:member:`!tp_dealloc` to guarantee that the object is always " +"finalized before destruction." +msgstr "" + +msgid "" +"The :c:member:`~PyTypeObject.tp_finalize` function can be called from any " +"thread, although the :term:`GIL` will be held." +msgstr "" + +msgid "" +"The :c:member:`!tp_finalize` function can be called during shutdown, after " +"some global variables have been deleted. See the documentation of the :meth:" +"`~object.__del__` method for details." +msgstr "" + +msgid "" +"When Python finalizes an object, it behaves like the following algorithm:" +msgstr "" + +msgid "" +"Python might mark the object as *finalized*. Currently, Python always marks " +"objects whose type supports garbage collection (i.e., the :c:macro:" +"`Py_TPFLAGS_HAVE_GC` flag is set in :c:member:`~PyTypeObject.tp_flags`) and " +"never marks other types of objects; this might change in a future version." +msgstr "" + +msgid "" +"If the object is not marked as *finalized* and its :c:member:`!tp_finalize` " +"finalizer function is non-``NULL``, the finalizer function is called." +msgstr "" + +msgid "" +"If the finalizer function was called and the finalizer made the object " +"reachable (i.e., there is a reference to the object and it is not a member " +"of a :term:`cyclic isolate`), then the finalizer is said to have " +"*resurrected* the object. It is unspecified whether the finalizer can also " +"resurrect the object by adding a new reference to the object that does not " +"make it reachable, i.e., the object is (still) a member of a cyclic isolate." msgstr "" msgid "" -":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " -"exception status; therefore, a recommended way to write a non-trivial " -"finalizer is::" +"If the finalizer resurrected the object, the object's pending destruction is " +"canceled and the object's *finalized* mark might be removed if present. " +"Currently, Python never removes the *finalized* mark; this might change in a " +"future version." +msgstr "" + +msgid "" +"*Automatic finalization* refers to any finalization performed by Python " +"except via calls to :c:func:`PyObject_CallFinalizer` or :c:func:" +"`PyObject_CallFinalizerFromDealloc`. No guarantees are made about when, if, " +"or how often an object is automatically finalized, except:" +msgstr "" + +msgid "" +"Python will not automatically finalize an object if it is reachable, i.e., " +"there is a reference to it and it is not a member of a :term:`cyclic " +"isolate`." +msgstr "" + +msgid "" +"Python will not automatically finalize an object if finalizing it would not " +"mark the object as *finalized*. Currently, this applies to objects whose " +"type does not support garbage collection, i.e., the :c:macro:" +"`Py_TPFLAGS_HAVE_GC` flag is not set. Such objects can still be manually " +"finalized by calling :c:func:`PyObject_CallFinalizer` or :c:func:" +"`PyObject_CallFinalizerFromDealloc`." +msgstr "" + +msgid "" +"Python will not automatically finalize any two members of a :term:`cyclic " +"isolate` concurrently." +msgstr "" + +msgid "" +"Python will not automatically finalize an object after it has automatically " +"cleared (:c:member:`~PyTypeObject.tp_clear`) the object." +msgstr "" + +msgid "" +"If an object is a member of a :term:`cyclic isolate`, Python will not " +"automatically finalize it after automatically clearing (see :c:member:" +"`~PyTypeObject.tp_clear`) any other member." +msgstr "" + +msgid "" +"Python will automatically finalize every member of a :term:`cyclic isolate` " +"before it automatically clears (see :c:member:`~PyTypeObject.tp_clear`) any " +"of them." +msgstr "" + +msgid "" +"If Python is going to automatically clear an object (:c:member:" +"`~PyTypeObject.tp_clear`), it will automatically finalize the object first." +msgstr "" + +msgid "" +"Python currently only automatically finalizes objects that are members of a :" +"term:`cyclic isolate`, but future versions might finalize objects regularly " +"before their destruction." +msgstr "" + +msgid "" +"To manually finalize an object, do not call this function directly; call :c:" +"func:`PyObject_CallFinalizer` or :c:func:`PyObject_CallFinalizerFromDealloc` " +"instead." +msgstr "" + +msgid "" +":c:member:`~PyTypeObject.tp_finalize` should leave the current exception " +"status unchanged. The recommended way to write a non-trivial finalizer is " +"to back up the exception at the beginning by calling :c:func:" +"`PyErr_GetRaisedException` and restore the exception at the end by calling :" +"c:func:`PyErr_SetRaisedException`. If an exception is encountered in the " +"middle of the finalizer, log and clear it with :c:func:" +"`PyErr_WriteUnraisable` or :c:func:`PyErr_FormatUnraisable`. For example::" msgstr "" msgid "" "static void\n" -"local_finalize(PyObject *self)\n" +"foo_finalize(PyObject *self)\n" "{\n" -" /* Save the current exception, if any. */\n" +" // Save the current exception, if any.\n" " PyObject *exc = PyErr_GetRaisedException();\n" "\n" -" /* ... */\n" +" // ...\n" "\n" -" /* Restore the saved exception. */\n" +" if (do_something_that_might_raise() != success_indicator) {\n" +" PyErr_WriteUnraisable(self);\n" +" goto done;\n" +" }\n" +"\n" +"done:\n" +" // Restore the saved exception. This silently discards any exception\n" +" // raised above, so be sure to call PyErr_WriteUnraisable first if\n" +" // necessary.\n" " PyErr_SetRaisedException(exc);\n" "}" msgstr "" @@ -2684,7 +3073,13 @@ msgid "" "This is no longer required." msgstr "" -msgid "\"Safe object finalization\" (:pep:`442`)" +msgid ":pep:`442`: \"Safe object finalization\"" +msgstr "" + +msgid ":c:func:`PyObject_CallFinalizer`" +msgstr "" + +msgid ":c:func:`PyObject_CallFinalizerFromDealloc`" msgstr "" msgid "" @@ -3006,6 +3401,34 @@ msgstr "" msgid "Return ``0``." msgstr "" +msgid "**Thread safety:**" +msgstr "" + +msgid "In the :term:`free-threaded build`, implementations must ensure:" +msgstr "" + +msgid "The export counter increment in step (3) is atomic." +msgstr "" + +msgid "" +"The underlying buffer data remains valid and at a stable memory location for " +"the lifetime of all exports." +msgstr "" + +msgid "" +"For objects that support resizing or reallocation (such as :class:" +"`bytearray`), the export counter is checked atomically before such " +"operations, and :exc:`BufferError` is raised if exports exist." +msgstr "" + +msgid "The function is safe to call concurrently from multiple threads." +msgstr "" + +msgid "" +"See also :ref:`thread-safety-memoryview` for the Python-level thread safety " +"guarantees of :class:`memoryview` objects." +msgstr "" + msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" @@ -3062,6 +3485,18 @@ msgstr "" msgid "If the counter is ``0``, free all memory associated with *view*." msgstr "" +msgid "In the :term:`free-threaded build`:" +msgstr "" + +msgid "The export counter decrement in step (1) must be atomic." +msgstr "" + +msgid "" +"Resource cleanup when the counter reaches zero must be done atomically, as " +"the final release may race with concurrent releases from other threads and " +"dellocation must only happen once." +msgstr "" + msgid "" "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " "track of buffer-specific resources. This field is guaranteed to remain " diff --git a/c-api/unicode.po b/c-api/unicode.po index 9a6b1eb71f..7922dc84be 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -78,6 +77,18 @@ msgid "" "that deal with Unicode objects take and return :c:type:`PyObject` pointers." msgstr "" +msgid "" +"The structure of a particular object can be determined using the following " +"macros. The macros cannot fail; their behavior is undefined if their " +"argument is not a Python Unicode object." +msgstr "" + +msgid "True if *o* uses the :c:struct:`PyCompactUnicodeObject` structure." +msgstr "" + +msgid "True if *o* uses the :c:struct:`PyASCIIObject` structure." +msgstr "" + msgid "" "The following APIs are C macros and static inlined functions for fast checks " "and access to internal read-only data of Unicode objects:" @@ -262,11 +273,21 @@ msgstr "" msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)." msgstr "" +msgid "" +"Return the high UTF-16 surrogate (``0xD800`` to ``0xDBFF``) for a Unicode " +"code point in the range ``[0x10000; 0x10FFFF]``." +msgstr "" + +msgid "" +"Return the low UTF-16 surrogate (``0xDC00`` to ``0xDFFF``) for a Unicode " +"code point in the range ``[0x10000; 0x10FFFF]``." +msgstr "" + msgid "" "Join two surrogate code points and return a single :c:type:`Py_UCS4` value. " "*high* and *low* are respectively the leading and trailing surrogates in a " -"surrogate pair. *high* must be in the range [0xD800; 0xDBFF] and *low* must " -"be in the range [0xDC00; 0xDFFF]." +"surrogate pair. *high* must be in the range ``[0xD800; 0xDBFF]`` and *low* " +"must be in the range ``[0xDC00; 0xDFFF]``." msgstr "" msgid "Creating and accessing Unicode strings" @@ -544,7 +565,7 @@ msgid "``p``" msgstr "``p``" msgid ":c:expr:`const void*`" -msgstr "" +msgstr ":c:expr:`const void*`" msgid "" "The hex representation of a C pointer. Mostly equivalent to " @@ -807,9 +828,9 @@ msgstr "" msgid "" "This function checks that *unicode* is a Unicode object, that the index is " -"not out of bounds, and that the object's reference count is one). See :c:" -"func:`PyUnicode_WRITE` for a version that skips these checks, making them " -"your responsibility." +"not out of bounds, and that the object's reference count is one. See :c:func:" +"`PyUnicode_WRITE` for a version that skips these checks, making them your " +"responsibility." msgstr "" msgid "" @@ -1477,9 +1498,6 @@ msgid "" "c:macro:`!CP_ACP` code page to get the MBCS encoder." msgstr "" -msgid "Methods & Slots" -msgstr "" - msgid "Methods and Slot Functions" msgstr "" @@ -1734,9 +1752,6 @@ msgid "" "`PyUnicode_InternInPlace` directly." msgstr "" -msgid "Strings interned this way are made :term:`immortal`." -msgstr "" - msgid "" "Return a non-zero value if *str* is interned, zero if not. The *str* " "argument must be a string; this is not checked. This function always " @@ -1814,7 +1829,15 @@ msgstr "" msgid "See also :c:func:`PyUnicodeWriter_DecodeUTF8Stateful`." msgstr "" -msgid "Writer the wide string *str* into *writer*." +msgid "Write the ASCII string *str* into *writer*." +msgstr "" + +msgid "" +"*str* must only contain ASCII characters. The behavior is undefined if *str* " +"contains non-ASCII characters." +msgstr "" + +msgid "Write the wide string *str* into *writer*." msgstr "" msgid "" @@ -1836,6 +1859,12 @@ msgid "" "Call :c:func:`PyObject_Repr` on *obj* and write the output into *writer*." msgstr "" +msgid "If *obj* is ``NULL``, write the string ``\"\"`` into *writer*." +msgstr "" + +msgid "Added support for ``NULL``." +msgstr "" + msgid "Write the substring ``str[start:end]`` into *writer*." msgstr "" diff --git a/c-api/utilities.po b/c-api/utilities.po index 8c5a4a6556..139dfdb78d 100644 --- a/c-api/utilities.po +++ b/c-api/utilities.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-08 02:53-0300\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "Utilities" -msgstr "" +msgstr "Utilitas" msgid "" "The functions in this chapter perform various utility tasks, ranging from " diff --git a/c-api/weakref.po b/c-api/weakref.po index eff2688aa7..5f67eda155 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "Weak Reference Objects" -msgstr "" +msgstr "Слабкі довідкові об’єкти" msgid "" "Python supports *weak references* as first-class objects. There are two " @@ -34,15 +34,17 @@ msgid "" msgstr "" msgid "" -"Return true if *ob* is either a reference or proxy object. This function " -"always succeeds." +"Return non-zero if *ob* is either a reference or proxy object. This " +"function always succeeds." msgstr "" msgid "" -"Return true if *ob* is a reference object. This function always succeeds." +"Return non-zero if *ob* is a reference object. This function always " +"succeeds." msgstr "" -msgid "Return true if *ob* is a proxy object. This function always succeeds." +msgid "" +"Return non-zero if *ob* is a proxy object. This function always succeeds." msgstr "" msgid "" @@ -52,7 +54,7 @@ msgid "" "a callable object that receives notification when *ob* is garbage collected; " "it should accept a single parameter, which will be the weak reference object " "itself. *callback* may also be ``None`` or ``NULL``. If *ob* is not a " -"weakly referencable object, or if *callback* is not callable, ``None``, or " +"weakly referenceable object, or if *callback* is not callable, ``None``, or " "``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." msgstr "" @@ -63,13 +65,29 @@ msgid "" "can be a callable object that receives notification when *ob* is garbage " "collected; it should accept a single parameter, which will be the weak " "reference object itself. *callback* may also be ``None`` or ``NULL``. If " -"*ob* is not a weakly referencable object, or if *callback* is not callable, " +"*ob* is not a weakly referenceable object, or if *callback* is not callable, " "``None``, or ``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." msgstr "" msgid "" -"Return the referenced object from a weak reference, *ref*. If the referent " -"is no longer live, returns :const:`Py_None`." +"Get a :term:`strong reference` to the referenced object from a weak " +"reference, *ref*, into *\\*pobj*." +msgstr "" + +msgid "" +"On success, set *\\*pobj* to a new :term:`strong reference` to the " +"referenced object and return 1." +msgstr "" + +msgid "If the reference is dead, set *\\*pobj* to ``NULL`` and return 0." +msgstr "" + +msgid "On error, raise an exception and return -1." +msgstr "" + +msgid "" +"Return a :term:`borrowed reference` to the referenced object from a weak " +"reference, *ref*. If the referent is no longer live, returns ``Py_None``." msgstr "" msgid "" @@ -79,9 +97,18 @@ msgid "" "reference." msgstr "" +msgid "Use :c:func:`PyWeakref_GetRef` instead." +msgstr "" + msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking." msgstr "" +msgid "" +"Test if the weak reference *ref* is dead. Returns 1 if the reference is " +"dead, 0 if it is alive, and -1 with an error set if *ref* is not a weak " +"reference object." +msgstr "" + msgid "" "This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " "to clear weak references." @@ -92,3 +119,19 @@ msgid "" "for those references which have one. It returns when all callbacks have been " "attempted." msgstr "" + +msgid "Clears the weakrefs for *object* without calling the callbacks." +msgstr "" + +msgid "" +"This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " +"for types with finalizers (i.e., :meth:`~object.__del__`). The handler for " +"those objects first calls :c:func:`PyObject_ClearWeakRefs` to clear weakrefs " +"and call their callbacks, then the finalizer, and finally this function to " +"clear any weakrefs that may have been created by the finalizer." +msgstr "" + +msgid "" +"In most circumstances, it's more appropriate to use :c:func:" +"`PyObject_ClearWeakRefs` to clear weakrefs instead of this function." +msgstr "" diff --git a/contents.po b/contents.po index 31444cd273..77b27596cd 100644 --- a/contents.po +++ b/contents.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/copyright.po b/copyright.po index 798c0a3047..9224923ee3 100644 --- a/copyright.po +++ b/copyright.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,6 +31,7 @@ msgstr "Python i ta dokumentacja jest:" msgid "Copyright © 2001 Python Software Foundation. All rights reserved." msgstr "" +"Copyright © 2001 Python Software Foundation. Wszystkie prawa zastrzeżone." msgid "Copyright © 2000 BeOpen.com. All rights reserved." msgstr "Copyright © 2000 BeOpen.com. Wszystkie prawa zastrzeżone." diff --git a/deprecations/c-api-pending-removal-in-3.18.po b/deprecations/c-api-pending-removal-in-3.18.po new file mode 100644 index 0000000000..848383e8b7 --- /dev/null +++ b/deprecations/c-api-pending-removal-in-3.18.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-09-09 14:15+0000\n" +"PO-Revision-Date: 2025-08-15 18:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Pending removal in Python 3.18" +msgstr "" + +msgid "Deprecated private functions (:gh:`128863`):" +msgstr "" + +msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." +msgstr "" + +msgid "" +":c:func:`!_PyDict_GetItemStringWithError`: use :c:func:" +"`PyDict_GetItemStringRef`." +msgstr "" + +msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." +msgstr ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." + +msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." +msgstr "" + +msgid "" +":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use :c:func:" +"`PyLongWriter_Create`." +msgstr "" + +msgid "" +":c:func:`!_PyThreadState_UncheckedGet`: use :c:func:" +"`PyThreadState_GetUnchecked`." +msgstr "" + +msgid ":c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_Init`: replace ``_PyUnicodeWriter_Init(&writer)`` " +"with :c:func:`writer = PyUnicodeWriter_Create(0) `." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_Finish`: replace " +"``_PyUnicodeWriter_Finish(&writer)`` with :c:func:" +"`PyUnicodeWriter_Finish(writer) `." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_Dealloc`: replace " +"``_PyUnicodeWriter_Dealloc(&writer)`` with :c:func:" +"`PyUnicodeWriter_Discard(writer) `." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_WriteChar`: replace " +"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with :c:func:" +"`PyUnicodeWriter_WriteChar(writer, ch) `." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_WriteStr`: replace " +"``_PyUnicodeWriter_WriteStr(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteStr(writer, str) `." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " +"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with :c:func:" +"`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " +"`." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " +"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteUTF8(writer, str) `." +msgstr "" + +msgid "" +":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " +"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with :c:func:" +"`PyUnicodeWriter_WriteUTF8(writer, str) `." +msgstr "" + +msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." +msgstr "" + +msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." +msgstr "" + +msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." +msgstr "" + +msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." +msgstr "" + +msgid "" +"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and older." +msgstr "" diff --git a/deprecations/index.po b/deprecations/index.po index a76caaa030..8b42547746 100644 --- a/deprecations/index.po +++ b/deprecations/index.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2024-07-29 04:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -104,7 +103,7 @@ msgid "" msgstr "" msgid ":mod:`sysconfig`:" -msgstr "" +msgstr ":mod:`sysconfig`:" msgid "" "The *check_home* argument of :func:`sysconfig.is_python_build` has been " @@ -116,7 +115,7 @@ msgstr ":mod:`threading`:" msgid "" ":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does " +"arguments has been deprecated since Python 3.14, as the Python version does " "not permit any arguments, but the C version allows any number of positional " "or keyword arguments, ignoring every argument." msgstr "" @@ -165,7 +164,7 @@ msgid "" msgstr "" msgid ":mod:`zipimport`:" -msgstr "" +msgstr ":mod:`zipimport`:" msgid "" ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " @@ -207,22 +206,22 @@ msgid "" msgstr "" msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.AbstractEventLoopPolicy`" msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.DefaultEventLoopPolicy`" msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.get_event_loop_policy`" msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.set_event_loop_policy`" msgid "" "Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " @@ -256,7 +255,7 @@ msgid "" msgstr "" msgid ":mod:`functools`:" -msgstr "" +msgstr ":mod:`functools`:" msgid "" "Calling the Python implementation of :func:`functools.reduce` with " @@ -265,7 +264,7 @@ msgid "" msgstr "" msgid ":mod:`logging`:" -msgstr "" +msgstr ":mod:`logging`:" msgid "" "Support for custom logging handlers with the *strm* argument is deprecated " @@ -326,6 +325,36 @@ msgstr "" msgid "Pending removal in Python 3.17" msgstr "" +msgid ":mod:`collections.abc`:" +msgstr "" + +msgid "" +":class:`collections.abc.ByteString` is scheduled for removal in Python 3.17." +msgstr "" + +msgid "" +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`~collections.abc.Buffer` or a union " +"that explicitly specifies the types your code supports (e.g., ``bytes | " +"bytearray | memoryview``)." +msgstr "" + +msgid "" +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." +msgstr "" + +msgid "" +"See :pep:`PEP 688 <688#current-options>` for more details. (Contributed by " +"Shantanu Jain in :gh:`91896`.)" +msgstr "" + msgid "" "Before Python 3.14, old-style unions were implemented using the private " "class ``typing._UnionGenericAlias``. This class is no longer needed for the " @@ -335,6 +364,24 @@ msgid "" "of relying on private implementation details." msgstr "" +msgid "" +":class:`typing.ByteString`, deprecated since Python 3.9, is scheduled for " +"removal in Python 3.17." +msgstr "" + +msgid "Pending removal in Python 3.18" +msgstr "" + +msgid ":mod:`decimal`:" +msgstr ":mod:`decimal`:" + +msgid "" +"The non-standard and undocumented :class:`~decimal.Decimal` format specifier " +"``'N'``, which is only supported in the :mod:`!decimal` module's C " +"implementation, has been deprecated since Python 3.13. (Contributed by " +"Serhiy Storchaka in :gh:`89902`.)" +msgstr "" + msgid "Pending removal in Python 3.19" msgstr "" @@ -353,7 +400,7 @@ msgid "" msgstr "" msgid ":mod:`argparse`:" -msgstr "" +msgstr ":mod:`argparse`:" msgid "" "Nesting argument groups and nesting mutually exclusive groups are deprecated." @@ -367,9 +414,6 @@ msgstr "" msgid "The :class:`argparse.FileType` type converter is deprecated." msgstr "" -msgid "``bool(NotImplemented)``." -msgstr "``bool(NotImplemented)``." - msgid "" "Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature " "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " @@ -405,9 +449,6 @@ msgid "" "`complex`." msgstr "" -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - msgid "" "Passing a complex number as the *real* or *imag* argument in the :func:" "`complex` constructor is now deprecated; it should only be passed as a " @@ -566,7 +607,7 @@ msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." msgstr "" msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." msgid "" "The internal class ``typing._UnionGenericAlias`` is no longer used to " @@ -638,9 +679,6 @@ msgstr "" msgid "C API deprecations" msgstr "" -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." @@ -865,10 +903,9 @@ msgid "" "get these options at runtime." msgstr "" -msgid "Pending removal in Python 3.18" -msgstr "" - -msgid "Deprecated private functions (:gh:`128863`):" +msgid "" +"The following private functions are deprecated and planned for removal in " +"Python 3.18:" msgstr "" msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." @@ -879,7 +916,7 @@ msgid "" "`PyDict_GetItemStringRef`." msgstr "" -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." +msgid ":c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`." msgstr "" msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." @@ -937,7 +974,7 @@ msgstr "" msgid "" ":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " "``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with :c:func:" -"`PyUnicodeWriter_WriteUTF8(writer, str) `." +"`PyUnicodeWriter_WriteASCII(writer, str) `." msgstr "" msgid "" @@ -960,7 +997,8 @@ msgstr "" msgid "" "The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and older." +">`__ can be used to get these new public functions on Python 3.13 and older. " +"(Contributed by Victor Stinner in :gh:`128863`.)" msgstr "" msgid "" diff --git a/deprecations/pending-removal-in-3.13.po b/deprecations/pending-removal-in-3.13.po index ea54ec5a19..22a56f928a 100644 --- a/deprecations/pending-removal-in-3.13.po +++ b/deprecations/pending-removal-in-3.13.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-07-26 14:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,58 +96,28 @@ msgid "APIs:" msgstr "APIs:" msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" -msgstr "" +msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" msgid "``locale.resetlocale()`` (:gh:`90817`)" -msgstr "" +msgstr "``locale.resetlocale()`` (:gh:`90817`)" msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" -msgstr "" +msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" msgid ":func:`!unittest.findTestCases` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)" msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" msgid ":func:`!unittest.makeSuite` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)" msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" -msgstr "" +msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)" -msgstr "" +msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)" msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)" msgstr "" - -msgid ":mod:`importlib.resources` deprecated methods:" -msgstr "" - -msgid "``contents()``" -msgstr "``contents()``" - -msgid "``is_resource()``" -msgstr "``is_resource()``" - -msgid "``open_binary()``" -msgstr "``open_binary()``" - -msgid "``open_text()``" -msgstr "``open_text()``" - -msgid "``path()``" -msgstr "``path()``" - -msgid "``read_binary()``" -msgstr "``read_binary()``" - -msgid "``read_text()``" -msgstr "``read_text()``" - -msgid "" -"Use :func:`importlib.resources.files` instead. Refer to `importlib-" -"resources: Migrating from Legacy `_ (:gh:`106531`)" -msgstr "" diff --git a/deprecations/pending-removal-in-3.14.po b/deprecations/pending-removal-in-3.14.po index dfbed158f1..550ae33471 100644 --- a/deprecations/pending-removal-in-3.14.po +++ b/deprecations/pending-removal-in-3.14.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -82,13 +82,6 @@ msgid "" "Rossum in :gh:`100160`.)" msgstr "" -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." -"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" -msgstr "" - msgid "" ":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." "localtime`. (Contributed by Alan Williams in :gh:`72346`.)" @@ -167,11 +160,6 @@ msgid "" "a sequence instead of a :class:`dict`." msgstr "" -msgid "" -":mod:`typing`: :class:`!typing.ByteString`, deprecated since Python 3.9, now " -"causes a :exc:`DeprecationWarning` to be emitted when it is used." -msgstr "" - msgid "" ":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " "intended to be a public API. (Contributed by Gregory P. Smith in :gh:" diff --git a/deprecations/pending-removal-in-3.15.po b/deprecations/pending-removal-in-3.15.po index fbf99c15e2..efc8814f78 100644 --- a/deprecations/pending-removal-in-3.15.po +++ b/deprecations/pending-removal-in-3.15.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -100,7 +100,7 @@ msgid "" msgstr "" msgid ":mod:`sysconfig`:" -msgstr "" +msgstr ":mod:`sysconfig`:" msgid "" "The *check_home* argument of :func:`sysconfig.is_python_build` has been " @@ -112,7 +112,7 @@ msgstr ":mod:`threading`:" msgid "" ":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does " +"arguments has been deprecated since Python 3.14, as the Python version does " "not permit any arguments, but the C version allows any number of positional " "or keyword arguments, ignoring every argument." msgstr "" @@ -161,7 +161,7 @@ msgid "" msgstr "" msgid ":mod:`zipimport`:" -msgstr "" +msgstr ":mod:`zipimport`:" msgid "" ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " diff --git a/deprecations/pending-removal-in-3.16.po b/deprecations/pending-removal-in-3.16.po index 44594fc629..8c23f2ed79 100644 --- a/deprecations/pending-removal-in-3.16.po +++ b/deprecations/pending-removal-in-3.16.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -60,22 +60,22 @@ msgid "" msgstr "" msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.AbstractEventLoopPolicy`" msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.DefaultEventLoopPolicy`" msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.get_event_loop_policy`" msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.set_event_loop_policy`" msgid "" "Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " @@ -109,7 +109,7 @@ msgid "" msgstr "" msgid ":mod:`functools`:" -msgstr "" +msgstr ":mod:`functools`:" msgid "" "Calling the Python implementation of :func:`functools.reduce` with " @@ -118,7 +118,7 @@ msgid "" msgstr "" msgid ":mod:`logging`:" -msgstr "" +msgstr ":mod:`logging`:" msgid "" "Support for custom logging handlers with the *strm* argument is deprecated " @@ -163,7 +163,7 @@ msgid "" msgstr "" msgid ":mod:`sysconfig`:" -msgstr "" +msgstr ":mod:`sysconfig`:" msgid "" "The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " diff --git a/deprecations/pending-removal-in-3.17.po b/deprecations/pending-removal-in-3.17.po index 4216c29969..dcf4383f22 100644 --- a/deprecations/pending-removal-in-3.17.po +++ b/deprecations/pending-removal-in-3.17.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,6 +26,36 @@ msgstr "" msgid "Pending removal in Python 3.17" msgstr "" +msgid ":mod:`collections.abc`:" +msgstr "" + +msgid "" +":class:`collections.abc.ByteString` is scheduled for removal in Python 3.17." +msgstr "" + +msgid "" +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`~collections.abc.Buffer` or a union " +"that explicitly specifies the types your code supports (e.g., ``bytes | " +"bytearray | memoryview``)." +msgstr "" + +msgid "" +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." +msgstr "" + +msgid "" +"See :pep:`PEP 688 <688#current-options>` for more details. (Contributed by " +"Shantanu Jain in :gh:`91896`.)" +msgstr "" + msgid ":mod:`typing`:" msgstr ":mod:`typing`:" @@ -37,3 +67,8 @@ msgid "" "helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " "of relying on private implementation details." msgstr "" + +msgid "" +":class:`typing.ByteString`, deprecated since Python 3.9, is scheduled for " +"removal in Python 3.17." +msgstr "" diff --git a/deprecations/pending-removal-in-3.18.po b/deprecations/pending-removal-in-3.18.po new file mode 100644 index 0000000000..4c5e0841e9 --- /dev/null +++ b/deprecations/pending-removal-in-3.18.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2026-01-07 14:20+0000\n" +"Last-Translator: python-doc bot, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Pending removal in Python 3.18" +msgstr "" + +msgid ":mod:`decimal`:" +msgstr ":mod:`decimal`:" + +msgid "" +"The non-standard and undocumented :class:`~decimal.Decimal` format specifier " +"``'N'``, which is only supported in the :mod:`!decimal` module's C " +"implementation, has been deprecated since Python 3.13. (Contributed by " +"Serhiy Storchaka in :gh:`89902`.)" +msgstr "" diff --git a/deprecations/pending-removal-in-3.19.po b/deprecations/pending-removal-in-3.19.po index 52fb7d49fb..549e071358 100644 --- a/deprecations/pending-removal-in-3.19.po +++ b/deprecations/pending-removal-in-3.19.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/deprecations/pending-removal-in-future.po b/deprecations/pending-removal-in-future.po index 8ff43f2447..4dfd55011f 100644 --- a/deprecations/pending-removal-in-future.po +++ b/deprecations/pending-removal-in-future.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgid "" msgstr "" msgid ":mod:`argparse`:" -msgstr "" +msgstr ":mod:`argparse`:" msgid "" "Nesting argument groups and nesting mutually exclusive groups are deprecated." @@ -49,9 +49,6 @@ msgstr "" msgid ":mod:`builtins`:" msgstr ":mod:`builtins`:" -msgid "``bool(NotImplemented)``." -msgstr "``bool(NotImplemented)``." - msgid "" "Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature " "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " @@ -87,9 +84,6 @@ msgid "" "`complex`." msgstr "" -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - msgid "" "Passing a complex number as the *real* or *imag* argument in the :func:" "`complex` constructor is now deprecated; it should only be passed as a " @@ -251,7 +245,7 @@ msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." msgstr "" msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." msgid "" "The internal class ``typing._UnionGenericAlias`` is no longer used to " diff --git a/distributing/index.po b/distributing/index.po index 30130be9b5..cdc7ddd3ff 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/extending/embedding.po b/extending/embedding.po index b4b465eb0d..fb8419a427 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -382,21 +382,23 @@ msgid "" " return PyLong_FromLong(numargs);\n" "}\n" "\n" -"static PyMethodDef EmbMethods[] = {\n" +"static PyMethodDef emb_module_methods[] = {\n" " {\"numargs\", emb_numargs, METH_VARARGS,\n" " \"Return the number of arguments received by the process.\"},\n" " {NULL, NULL, 0, NULL}\n" "};\n" "\n" -"static PyModuleDef EmbModule = {\n" -" PyModuleDef_HEAD_INIT, \"emb\", NULL, -1, EmbMethods,\n" -" NULL, NULL, NULL, NULL\n" +"static struct PyModuleDef emb_module = {\n" +" .m_base = PyModuleDef_HEAD_INIT,\n" +" .m_name = \"emb\",\n" +" .m_size = 0,\n" +" .m_methods = emb_module_methods,\n" "};\n" "\n" "static PyObject*\n" "PyInit_emb(void)\n" "{\n" -" return PyModule_Create(&EmbModule);\n" +" return PyModuleDef_Init(&emb_module);\n" "}" msgstr "" diff --git a/extending/extending.po b/extending/extending.po index 49fe06c56b..ee25e1ad98 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -135,12 +134,66 @@ msgstr "" msgid "" "All user-visible symbols defined by :file:`Python.h` have a prefix of ``Py`` " -"or ``PY``, except those defined in standard header files. For convenience, " -"and since they are used extensively by the Python interpreter, ``\"Python." -"h\"`` includes a few standard header files: ````, ````, " -"````, and ````. If the latter header file does not exist " -"on your system, it declares the functions :c:func:`malloc`, :c:func:`free` " -"and :c:func:`realloc` directly." +"or ``PY``, except those defined in standard header files." +msgstr "" + +msgid "" +"For backward compatibility, :file:`Python.h` includes several standard " +"header files. C extensions should include the standard headers that they " +"use, and should not rely on these implicit includes. If using the limited C " +"API version 3.13 or newer, the implicit includes are:" +msgstr "" + +msgid "````" +msgstr "" + +msgid "```` (on Windows)" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" +msgstr "" + +msgid "```` (if present)" +msgstr "" + +msgid "" +"If :c:macro:`Py_LIMITED_API` is not defined, or is set to version 3.12 or " +"older, the headers below are also included:" +msgstr "" + +msgid "````" +msgstr "" + +msgid "```` (on POSIX)" +msgstr "" + +msgid "" +"If :c:macro:`Py_LIMITED_API` is not defined, or is set to version 3.10 or " +"older, the headers below are also included:" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" +msgstr "" + +msgid "````" msgstr "" msgid "" @@ -312,39 +365,68 @@ msgid "" msgstr "" msgid "" -"You can also define a new exception that is unique to your module. For this, " -"you usually declare a static object variable at the beginning of your file::" +"You can also define a new exception that is unique to your module. The " +"simplest way to do this is to declare a static global object variable at the " +"beginning of the file::" msgstr "" -"Możesz też określić nowy wyjątek który jest niepowtarzalny dla twojego " -"modułu. Dla tego, zwykle deklarujesz przedmiot statycznej zmiennej na " -"początku pliku::" -msgid "static PyObject *SpamError;" +msgid "static PyObject *SpamError = NULL;" msgstr "" msgid "" -"and initialize it in your module's initialization function (:c:func:`!" -"PyInit_spam`) with an exception object::" +"and initialize it by calling :c:func:`PyErr_NewException` in the module's :c:" +"data:`Py_mod_exec` function (:c:func:`!spam_module_exec`)::" +msgstr "" + +msgid "SpamError = PyErr_NewException(\"spam.error\", NULL, NULL);" msgstr "" msgid "" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" -"{\n" -" PyObject *m;\n" -"\n" -" m = PyModule_Create(&spammodule);\n" -" if (m == NULL)\n" -" return NULL;\n" +"Since :c:data:`!SpamError` is a global variable, it will be overwritten " +"every time the module is reinitialized, when the :c:data:`Py_mod_exec` " +"function is called." +msgstr "" + +msgid "" +"For now, let's avoid the issue: we will block repeated initialization by " +"raising an :py:exc:`ImportError`::" +msgstr "" + +msgid "" +"static PyObject *SpamError = NULL;\n" "\n" +"static int\n" +"spam_module_exec(PyObject *m)\n" +"{\n" +" if (SpamError != NULL) {\n" +" PyErr_SetString(PyExc_ImportError,\n" +" \"cannot initialize spam module more than once\");\n" +" return -1;\n" +" }\n" " SpamError = PyErr_NewException(\"spam.error\", NULL, NULL);\n" -" if (PyModule_AddObjectRef(m, \"error\", SpamError) < 0) {\n" -" Py_CLEAR(SpamError);\n" -" Py_DECREF(m);\n" -" return NULL;\n" +" if (PyModule_AddObjectRef(m, \"SpamError\", SpamError) < 0) {\n" +" return -1;\n" " }\n" "\n" -" return m;\n" +" return 0;\n" +"}\n" +"\n" +"static PyModuleDef_Slot spam_module_slots[] = {\n" +" {Py_mod_exec, spam_module_exec},\n" +" {0, NULL}\n" +"};\n" +"\n" +"static struct PyModuleDef spam_module = {\n" +" .m_base = PyModuleDef_HEAD_INIT,\n" +" .m_name = \"spam\",\n" +" .m_size = 0, // non-negative\n" +" .m_slots = spam_module_slots,\n" +"};\n" +"\n" +"PyMODINIT_FUNC\n" +"PyInit_spam(void)\n" +"{\n" +" return PyModuleDef_Init(&spam_module);\n" "}" msgstr "" @@ -365,6 +447,13 @@ msgid "" "unintended side effects." msgstr "" +msgid "" +"For now, the :c:func:`Py_DECREF` call to remove this reference is missing. " +"Even when the Python interpreter shuts down, the global :c:data:`!SpamError` " +"variable will not be garbage-collected. It will \"leak\". We did, however, " +"ensure that this will happen at most once per process." +msgstr "" + msgid "" "We discuss the use of :c:macro:`PyMODINIT_FUNC` as a function return type " "later in this sample." @@ -469,7 +558,7 @@ msgid "" msgstr "" msgid "" -"static PyMethodDef SpamMethods[] = {\n" +"static PyMethodDef spam_methods[] = {\n" " ...\n" " {\"system\", spam_system, METH_VARARGS,\n" " \"Execute a shell command.\"},\n" @@ -507,13 +596,10 @@ msgstr "" "modułu::" msgid "" -"static struct PyModuleDef spammodule = {\n" -" PyModuleDef_HEAD_INIT,\n" -" \"spam\", /* name of module */\n" -" spam_doc, /* module documentation, may be NULL */\n" -" -1, /* size of per-interpreter state of the module,\n" -" or -1 if the module keeps state in global variables. */\n" -" SpamMethods\n" +"static struct PyModuleDef spam_module = {\n" +" ...\n" +" .m_methods = spam_methods,\n" +" ...\n" "};" msgstr "" @@ -528,7 +614,7 @@ msgid "" "PyMODINIT_FUNC\n" "PyInit_spam(void)\n" "{\n" -" return PyModule_Create(&spammodule);\n" +" return PyModuleDef_Init(&spam_module);\n" "}" msgstr "" @@ -539,16 +625,11 @@ msgid "" msgstr "" msgid "" -"When the Python program imports module :mod:`!spam` for the first time, :c:" -"func:`!PyInit_spam` is called. (See below for comments about embedding " -"Python.) It calls :c:func:`PyModule_Create`, which returns a module object, " -"and inserts built-in function objects into the newly created module based " -"upon the table (an array of :c:type:`PyMethodDef` structures) found in the " -"module definition. :c:func:`PyModule_Create` returns a pointer to the module " -"object that it creates. It may abort with a fatal error for certain errors, " -"or return ``NULL`` if the module could not be initialized satisfactorily. " -"The init function must return the module object to its caller, so that it " -"then gets inserted into ``sys.modules``." +":c:func:`!PyInit_spam` is called when each interpreter imports its module :" +"mod:`!spam` for the first time. (See below for comments about embedding " +"Python.) A pointer to the module definition must be returned via :c:func:" +"`PyModuleDef_Init`, so that the import machinery can create the module and " +"store it in ``sys.modules``." msgstr "" msgid "" @@ -611,28 +692,21 @@ msgid "" msgstr "" msgid "" -"Removing entries from ``sys.modules`` or importing compiled modules into " +"If you declare a global variable or a local static one, the module may " +"experience unintended side-effects on re-initialisation, for example when " +"removing entries from ``sys.modules`` or importing compiled modules into " "multiple interpreters within a process (or following a :c:func:`fork` " -"without an intervening :c:func:`exec`) can create problems for some " -"extension modules. Extension module authors should exercise caution when " -"initializing internal data structures." +"without an intervening :c:func:`exec`). If module state is not yet fully :" +"ref:`isolated `, authors should consider marking " +"the module as having no support for subinterpreters (via :c:macro:" +"`Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED`)." msgstr "" msgid "" "A more substantial example module is included in the Python source " -"distribution as :file:`Modules/xxmodule.c`. This file may be used as a " +"distribution as :file:`Modules/xxlimited.c`. This file may be used as a " "template or simply read as an example." msgstr "" -"Bardziej konkretny przykład modułu jest załączony w dystrybucji źródeł " -"języka pytonowskiego jako plik :file:`Modules/xxmodule.c`. Ten plik może być " -"użyty jako wzór lub po prostu czytany jako przykład." - -msgid "" -"Unlike our ``spam`` example, ``xxmodule`` uses *multi-phase initialization* " -"(new in Python 3.5), where a PyModuleDef structure is returned from " -"``PyInit_spam``, and creation of the module is left to the import machinery. " -"For details on multi-phase initialization, see :PEP:`489`." -msgstr "" msgid "Compilation and Linkage" msgstr "Kompilacja i łączenie" @@ -1059,18 +1133,17 @@ msgid "" " {NULL, NULL, 0, NULL} /* sentinel */\n" "};\n" "\n" -"static struct PyModuleDef keywdargmodule = {\n" -" PyModuleDef_HEAD_INIT,\n" -" \"keywdarg\",\n" -" NULL,\n" -" -1,\n" -" keywdarg_methods\n" +"static struct PyModuleDef keywdarg_module = {\n" +" .m_base = PyModuleDef_HEAD_INIT,\n" +" .m_name = \"keywdarg\",\n" +" .m_size = 0,\n" +" .m_methods = keywdarg_methods,\n" "};\n" "\n" "PyMODINIT_FUNC\n" "PyInit_keywdarg(void)\n" "{\n" -" return PyModule_Create(&keywdargmodule);\n" +" return PyModuleDef_Init(&keywdarg_module);\n" "}" msgstr "" @@ -1409,7 +1482,14 @@ msgid "" "of the original item 1. Now let's suppose the original item 1 was an " "instance of a user-defined class, and let's further suppose that the class " "defined a :meth:`!__del__` method. If this class instance has a reference " -"count of 1, disposing of it will call its :meth:`!__del__` method." +"count of 1, disposing of it will call its :meth:`!__del__` method. " +"Internally, :c:func:`PyList_SetItem` calls :c:func:`Py_DECREF` on the " +"replaced item, which invokes replaced item's corresponding :c:member:" +"`~PyTypeObject.tp_dealloc` function. During deallocation, :c:member:" +"`~PyTypeObject.tp_dealloc` calls :c:member:`~PyTypeObject.tp_finalize`, " +"which is mapped to the :meth:`!__del__` method for class instances (see :pep:" +"`442`). This entire sequence happens synchronously within the :c:func:" +"`PyList_SetItem` call." msgstr "" msgid "" @@ -1451,13 +1531,13 @@ msgstr "" msgid "" "The second case of problems with a borrowed reference is a variant involving " "threads. Normally, multiple threads in the Python interpreter can't get in " -"each other's way, because there is a global lock protecting Python's entire " -"object space. However, it is possible to temporarily release this lock " -"using the macro :c:macro:`Py_BEGIN_ALLOW_THREADS`, and to re-acquire it " -"using :c:macro:`Py_END_ALLOW_THREADS`. This is common around blocking I/O " -"calls, to let other threads use the processor while waiting for the I/O to " -"complete. Obviously, the following function has the same problem as the " -"previous one::" +"each other's way, because there is a :term:`global lock ` protecting Python's entire object space. However, it is possible to " +"temporarily release this lock using the macro :c:macro:" +"`Py_BEGIN_ALLOW_THREADS`, and to re-acquire it using :c:macro:" +"`Py_END_ALLOW_THREADS`. This is common around blocking I/O calls, to let " +"other threads use the processor while waiting for the I/O to complete. " +"Obviously, the following function has the same problem as the previous one::" msgstr "" msgid "" @@ -1732,27 +1812,18 @@ msgstr "" msgid "" "The ``#define`` is used to tell the header file that it is being included in " -"the exporting module, not a client module. Finally, the module's " -"initialization function must take care of initializing the C API pointer " -"array::" +"the exporting module, not a client module. Finally, the module's :c:data:" +"`mod_exec ` function must take care of initializing the C API " +"pointer array::" msgstr "" -"``#define`` jest używane aby przekazać plikowi nagłówkowemu że jest " -"załączany w module wystawianym na zewnątrz, nie w module któremu wszystko " -"służy. Ostatecznie zadanie inicjowania musi zadbać o zainicjowanie tabeli " -"wskaźników sprzęgu programowania aplikacji języka C." msgid "" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" +"static int\n" +"spam_module_exec(PyObject *m)\n" "{\n" -" PyObject *m;\n" " static void *PySpam_API[PySpam_API_pointers];\n" " PyObject *c_api_object;\n" "\n" -" m = PyModule_Create(&spammodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" " /* Initialize the C API pointer array */\n" " PySpam_API[PySpam_System_NUM] = (void *)PySpam_System;\n" "\n" @@ -1761,11 +1832,10 @@ msgid "" "NULL);\n" "\n" " if (PyModule_Add(m, \"_C_API\", c_api_object) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" +" return -1;\n" " }\n" "\n" -" return m;\n" +" return 0;\n" "}" msgstr "" @@ -1835,22 +1905,18 @@ msgstr "" msgid "" "All that a client module must do in order to have access to the function :c:" "func:`!PySpam_System` is to call the function (or rather macro) :c:func:`!" -"import_spam` in its initialization function::" +"import_spam` in its :c:data:`mod_exec ` function::" msgstr "" msgid "" -"PyMODINIT_FUNC\n" -"PyInit_client(void)\n" +"static int\n" +"client_module_exec(PyObject *m)\n" "{\n" -" PyObject *m;\n" -"\n" -" m = PyModule_Create(&clientmodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -" if (import_spam() < 0)\n" -" return NULL;\n" +" if (import_spam() < 0) {\n" +" return -1;\n" +" }\n" " /* additional initialization can happen here */\n" -" return m;\n" +" return 0;\n" "}" msgstr "" diff --git a/extending/index.po b/extending/index.po index 26a42e5601..d3fba9e839 100644 --- a/extending/index.po +++ b/extending/index.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -70,34 +68,10 @@ msgstr "Rekomendowane zewnętrzne narzędzia." msgid "" "This guide only covers the basic tools for creating extensions provided as " -"part of this version of CPython. Third party tools like `Cython `_, `cffi `_, `SWIG `_ and `Numba `_ offer both simpler and " -"more sophisticated approaches to creating C and C++ extensions for Python." +"part of this version of CPython. Some :ref:`third party tools ` " +"offer both simpler and more sophisticated approaches to creating C and C++ " +"extensions for Python." msgstr "" -"Ten przewodnik obejmuje jedynie podstawowe narzędzia do tworzenia rozszerzeń " -"w ramach tej wersji CPythona. Narzędzia innych firm, takie jak `Cython " -"`_, `cffi `_, `SWIG " -"`_ i `Numba `_ oferują " -"zarówno prostsze, jak i bardziej wyrafinowane podejścia do tworzenia " -"rozszerzeń C i C++ dla Python." - -msgid "" -"`Python Packaging User Guide: Binary Extensions `_" -msgstr "" -"Pakiety Pythona Podręcznik Użytkownika: Rozszerzenia Binarne\n" -", YEAR. # # Translators: -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 3eb28f764c..41bdc3884b 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -86,31 +85,41 @@ msgid "" " .tp_new = PyType_GenericNew,\n" "};\n" "\n" -"static PyModuleDef custommodule = {\n" +"static int\n" +"custom_module_exec(PyObject *m)\n" +"{\n" +" if (PyType_Ready(&CustomType) < 0) {\n" +" return -1;\n" +" }\n" +"\n" +" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " +"{\n" +" return -1;\n" +" }\n" +"\n" +" return 0;\n" +"}\n" +"\n" +"static PyModuleDef_Slot custom_module_slots[] = {\n" +" {Py_mod_exec, custom_module_exec},\n" +" // Just use this while using static types\n" +" {Py_mod_multiple_interpreters, " +"Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},\n" +" {0, NULL}\n" +"};\n" +"\n" +"static PyModuleDef custom_module = {\n" " .m_base = PyModuleDef_HEAD_INIT,\n" " .m_name = \"custom\",\n" " .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" +" .m_size = 0,\n" +" .m_slots = custom_module_slots,\n" "};\n" "\n" "PyMODINIT_FUNC\n" "PyInit_custom(void)\n" "{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " -"{\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" +" return PyModuleDef_Init(&custom_module);\n" "}\n" msgstr "" @@ -131,8 +140,10 @@ msgid "" msgstr "" msgid "" -"How to initialize the :mod:`!custom` module: this is the ``PyInit_custom`` " -"function and the associated ``custommodule`` struct." +"How to define and execute the :mod:`!custom` module: this is the " +"``PyInit_custom`` function and the associated ``custom_module`` struct for " +"defining the module, and the ``custom_module_exec`` function to set up a " +"fresh module object." msgstr "" msgid "The first bit is::" @@ -294,12 +305,13 @@ msgstr "" msgid "" "Everything else in the file should be familiar, except for some code in :c:" -"func:`!PyInit_custom`::" +"func:`!custom_module_exec`::" msgstr "" msgid "" -"if (PyType_Ready(&CustomType) < 0)\n" -" return;" +"if (PyType_Ready(&CustomType) < 0) {\n" +" return -1;\n" +"}" msgstr "" msgid "" @@ -310,8 +322,7 @@ msgstr "" msgid "" "if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" +" return -1;\n" "}" msgstr "" @@ -488,31 +499,40 @@ msgid "" " .tp_methods = Custom_methods,\n" "};\n" "\n" -"static PyModuleDef custommodule = {\n" -" .m_base =PyModuleDef_HEAD_INIT,\n" +"static int\n" +"custom_module_exec(PyObject *m)\n" +"{\n" +" if (PyType_Ready(&CustomType) < 0) {\n" +" return -1;\n" +" }\n" +"\n" +" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " +"{\n" +" return -1;\n" +" }\n" +"\n" +" return 0;\n" +"}\n" +"\n" +"static PyModuleDef_Slot custom_module_slots[] = {\n" +" {Py_mod_exec, custom_module_exec},\n" +" {Py_mod_multiple_interpreters, " +"Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},\n" +" {0, NULL}\n" +"};\n" +"\n" +"static PyModuleDef custom_module = {\n" +" .m_base = PyModuleDef_HEAD_INIT,\n" " .m_name = \"custom2\",\n" " .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" +" .m_size = 0,\n" +" .m_slots = custom_module_slots,\n" "};\n" "\n" "PyMODINIT_FUNC\n" "PyInit_custom2(void)\n" "{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " -"{\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" +" return PyModuleDef_Init(&custom_module);\n" "}\n" msgstr "" @@ -574,9 +594,9 @@ msgid "" "The explicit cast to ``CustomObject *`` above is needed because we defined " "``Custom_dealloc`` to take a ``PyObject *`` argument, as the ``tp_dealloc`` " "function pointer expects to receive a ``PyObject *`` argument. By assigning " -"to the the ``tp_dealloc`` slot of a type, we declare that it can only be " -"called with instances of our ``CustomObject`` class, so the cast to " -"``(CustomObject *)`` is safe. This is object-oriented polymorphism, in C!" +"to the ``tp_dealloc`` slot of a type, we declare that it can only be called " +"with instances of our ``CustomObject`` class, so the cast to ``(CustomObject " +"*)`` is safe. This is object-oriented polymorphism, in C!" msgstr "" msgid "" @@ -1094,31 +1114,40 @@ msgid "" " .tp_getset = Custom_getsetters,\n" "};\n" "\n" -"static PyModuleDef custommodule = {\n" +"static int\n" +"custom_module_exec(PyObject *m)\n" +"{\n" +" if (PyType_Ready(&CustomType) < 0) {\n" +" return -1;\n" +" }\n" +"\n" +" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " +"{\n" +" return -1;\n" +" }\n" +"\n" +" return 0;\n" +"}\n" +"\n" +"static PyModuleDef_Slot custom_module_slots[] = {\n" +" {Py_mod_exec, custom_module_exec},\n" +" {Py_mod_multiple_interpreters, " +"Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},\n" +" {0, NULL}\n" +"};\n" +"\n" +"static PyModuleDef custom_module = {\n" " .m_base = PyModuleDef_HEAD_INIT,\n" " .m_name = \"custom3\",\n" " .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" +" .m_size = 0,\n" +" .m_slots = custom_module_slots,\n" "};\n" "\n" "PyMODINIT_FUNC\n" "PyInit_custom3(void)\n" "{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " -"{\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" +" return PyModuleDef_Init(&custom_module);\n" "}\n" msgstr "" @@ -1490,31 +1519,40 @@ msgid "" " .tp_getset = Custom_getsetters,\n" "};\n" "\n" -"static PyModuleDef custommodule = {\n" +"static int\n" +"custom_module_exec(PyObject *m)\n" +"{\n" +" if (PyType_Ready(&CustomType) < 0) {\n" +" return -1;\n" +" }\n" +"\n" +" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " +"{\n" +" return -1;\n" +" }\n" +"\n" +" return 0;\n" +"}\n" +"\n" +"static PyModuleDef_Slot custom_module_slots[] = {\n" +" {Py_mod_exec, custom_module_exec},\n" +" {Py_mod_multiple_interpreters, " +"Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},\n" +" {0, NULL}\n" +"};\n" +"\n" +"static PyModuleDef custom_module = {\n" " .m_base = PyModuleDef_HEAD_INIT,\n" " .m_name = \"custom4\",\n" " .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" +" .m_size = 0,\n" +" .m_slots = custom_module_slots,\n" "};\n" "\n" "PyMODINIT_FUNC\n" "PyInit_custom4(void)\n" "{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) " -"{\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" +" return PyModuleDef_Init(&custom_module);\n" "}\n" msgstr "" @@ -1720,7 +1758,7 @@ msgid "" "}\n" "\n" "static PyTypeObject SubListType = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" +" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n" " .tp_name = \"sublist.SubList\",\n" " .tp_doc = PyDoc_STR(\"SubList objects\"),\n" " .tp_basicsize = sizeof(SubListObject),\n" @@ -1730,32 +1768,41 @@ msgid "" " .tp_methods = SubList_methods,\n" "};\n" "\n" -"static PyModuleDef sublistmodule = {\n" -" PyModuleDef_HEAD_INIT,\n" -" .m_name = \"sublist\",\n" -" .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_sublist(void)\n" +"static int\n" +"sublist_module_exec(PyObject *m)\n" "{\n" -" PyObject *m;\n" " SubListType.tp_base = &PyList_Type;\n" -" if (PyType_Ready(&SubListType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&sublistmodule);\n" -" if (m == NULL)\n" -" return NULL;\n" +" if (PyType_Ready(&SubListType) < 0) {\n" +" return -1;\n" +" }\n" "\n" " if (PyModule_AddObjectRef(m, \"SubList\", (PyObject *) &SubListType) < " "0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" +" return -1;\n" " }\n" "\n" -" return m;\n" +" return 0;\n" +"}\n" +"\n" +"static PyModuleDef_Slot sublist_module_slots[] = {\n" +" {Py_mod_exec, sublist_module_exec},\n" +" {Py_mod_multiple_interpreters, " +"Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},\n" +" {0, NULL}\n" +"};\n" +"\n" +"static PyModuleDef sublist_module = {\n" +" .m_base = PyModuleDef_HEAD_INIT,\n" +" .m_name = \"sublist\",\n" +" .m_doc = \"Example module that creates an extension type.\",\n" +" .m_size = 0,\n" +" .m_slots = sublist_module_slots,\n" +"};\n" +"\n" +"PyMODINIT_FUNC\n" +"PyInit_sublist(void)\n" +"{\n" +" return PyModuleDef_Init(&sublist_module);\n" "}\n" msgstr "" @@ -1813,30 +1860,24 @@ msgid "" "The :c:type:`PyTypeObject` struct supports a :c:member:`~PyTypeObject." "tp_base` specifying the type's concrete base class. Due to cross-platform " "compiler issues, you can't fill that field directly with a reference to :c:" -"type:`PyList_Type`; it should be done later in the module initialization " -"function::" +"type:`PyList_Type`; it should be done in the :c:data:`Py_mod_exec` function::" msgstr "" msgid "" -"PyMODINIT_FUNC\n" -"PyInit_sublist(void)\n" +"static int\n" +"sublist_module_exec(PyObject *m)\n" "{\n" -" PyObject* m;\n" " SubListType.tp_base = &PyList_Type;\n" -" if (PyType_Ready(&SubListType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&sublistmodule);\n" -" if (m == NULL)\n" -" return NULL;\n" +" if (PyType_Ready(&SubListType) < 0) {\n" +" return -1;\n" +" }\n" "\n" " if (PyModule_AddObjectRef(m, \"SubList\", (PyObject *) &SubListType) < " "0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" +" return -1;\n" " }\n" "\n" -" return m;\n" +" return 0;\n" "}" msgstr "" diff --git a/extending/windows.po b/extending/windows.po index 5027c8597f..4ee6e23714 100644 --- a/extending/windows.po +++ b/extending/windows.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -152,8 +152,8 @@ msgid "" "By default, inclusion of :file:`PC/pyconfig.h` directly or via :file:`Python." "h` triggers an implicit, configure-aware link with the library. The header " "file chooses :file:`pythonXY_d.lib` for Debug, :file:`pythonXY.lib` for " -"Release, and :file:`pythonX.lib` for Release with the `Limited API `_ enabled." +"Release, and :file:`pythonX.lib` for Release with the :ref:`Limited API " +"` enabled." msgstr "" msgid "" diff --git a/faq/design.po b/faq/design.po index 5125637531..5b9e4c0e37 100644 --- a/faq/design.po +++ b/faq/design.po @@ -1,23 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# 2369f3689d74df2245bf6a7a078d3c27_4b122ab, 2022 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -276,6 +272,8 @@ msgid "" "Assignment expressions using the walrus operator ``:=`` assign a variable in " "an expression::" msgstr "" +"Przypisanie w wyrażeniu realizujesz poprzez walrus operator ``:=`` " +"przypisując zmienną w wyrażeniu::" msgid "" "while chunk := fp.read(200):\n" @@ -845,9 +843,9 @@ msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " "be better because an interface specification cannot test certain properties " -"of a program. For example, the :meth:`!list.append` method is expected to " +"of a program. For example, the :meth:`list.append` method is expected to " "add new elements to the end of some internal list; an interface " -"specification cannot test that your :meth:`!list.append` implementation will " +"specification cannot test that your :meth:`list.append` implementation will " "actually do this correctly, but it's trivial to check this property in a " "test suite." msgstr "" diff --git a/faq/extending.po b/faq/extending.po index 123565b988..0a366d0361 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -56,25 +56,9 @@ msgstr "" msgid "" "There are a number of alternatives to writing your own C extensions, " -"depending on what you're trying to do." -msgstr "" - -msgid "" -"`Cython `_ and its relative `Pyrex `_ are compilers that accept a " -"slightly modified form of Python and generate the corresponding C code. " -"Cython and Pyrex make it possible to write an extension without having to " -"learn Python's C API." -msgstr "" - -msgid "" -"If you need to interface to some C or C++ library for which no Python " -"extension currently exists, you can try wrapping the library's data types " -"and functions with a tool such as `SWIG `_. `SIP " -"`__, `CXX `_ `Boost `_, or `Weave " -"`_ are also alternatives for wrapping C++ " -"libraries." +"depending on what you're trying to do. :ref:`Recommended third party tools " +"` offer both simpler and more sophisticated approaches to " +"creating C and C++ extensions for Python." msgstr "" msgid "How can I execute arbitrary Python statements from C?" diff --git a/faq/general.po b/faq/general.po index dd46f11b36..a57c543496 100644 --- a/faq/general.po +++ b/faq/general.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -264,7 +262,7 @@ msgstr "" msgid "" "The standard documentation for the current stable version of Python is " -"available at https://docs.python.org/3/. PDF, plain text, and downloadable " +"available at https://docs.python.org/3/. EPUB, plain text, and downloadable " "HTML versions are also available at https://docs.python.org/3/download.html." msgstr "" diff --git a/faq/gui.po b/faq/gui.po index 96bbd9d8e1..f9d0f81a58 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# rmaster1211 , 2021 -# Rafael Fontenelle , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/faq/index.po b/faq/index.po index 44298a09c5..d4b3b81853 100644 --- a/faq/index.po +++ b/faq/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/faq/installed.po b/faq/installed.po index 1098fdd847..5bc74a4a23 100644 --- a/faq/installed.po +++ b/faq/installed.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/faq/library.po b/faq/library.po index 7dda71267c..1f0f595653 100644 --- a/faq/library.po +++ b/faq/library.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/faq/programming.po b/faq/programming.po index a20f49409b..7dd74e4d37 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -1,23 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2022 -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -33,15 +29,12 @@ msgstr "FAQ - programowanie" msgid "Contents" msgstr "Zawartość" -msgid "General Questions" -msgstr "Pytania ogólne" +msgid "General questions" +msgstr "" msgid "" -"Is there a source code level debugger with breakpoints, single-stepping, " -"etc.?" +"Is there a source code-level debugger with breakpoints and single-stepping?" msgstr "" -"Czy istnieje debugger kodu źródłowego z obsługą punktów przerwania, krokowym " -"wykonywaniem akcji itp.?" msgid "Yes." msgstr "Tak" @@ -60,8 +53,7 @@ msgstr "" msgid "" "The IDLE interactive development environment, which is part of the standard " -"Python distribution (normally available as `Tools/scripts/idle3 `_), includes a " +"Python distribution (normally available as :mod:`idlelib`), includes a " "graphical debugger." msgstr "" @@ -97,9 +89,6 @@ msgstr "" msgid "`Wing IDE `_" msgstr "" -msgid "`Komodo IDE `_" -msgstr "`Komodo IDE `_" - msgid "`PyCharm `_" msgstr "`PyCharm `_" @@ -107,15 +96,16 @@ msgid "Are there tools to help find bugs or perform static analysis?" msgstr "" msgid "" -"`Pylint `_ and `Pyflakes " -"`_ do basic checking that will help you " -"catch bugs sooner." +"`Ruff `__, `Pylint `__ and `Pyflakes `__ do basic " +"checking that will help you catch bugs sooner." msgstr "" msgid "" -"Static type checkers such as `Mypy `_, `Pyre " -"`_, and `Pytype `_ can check type hints in Python source code." +"Static type checkers such as `mypy `__, `ty `__, `Pyrefly `__, and `pytype " +"`__ can check type hints in Python source " +"code." msgstr "" msgid "How can I create a stand-alone binary from a Python script?" @@ -131,10 +121,9 @@ msgstr "" msgid "" "One is to use the freeze tool, which is included in the Python source tree " -"as `Tools/freeze `_. It converts Python byte code to C arrays; with a C compiler you " -"can embed all your modules into a new program, which is then linked with the " -"standard Python modules." +"as :source:`Tools/freeze`. It converts Python byte code to C arrays; with a " +"C compiler you can embed all your modules into a new program, which is then " +"linked with the standard Python modules." msgstr "" msgid "" @@ -182,8 +171,8 @@ msgid "" "as :pep:`8`." msgstr "" -msgid "Core Language" -msgstr "Rdzeń języka" +msgid "Core language" +msgstr "" msgid "Why am I getting an UnboundLocalError when the variable has a value?" msgstr "" @@ -255,7 +244,7 @@ msgstr "" msgid "" "Assume you use a for loop to define a few different lambdas (or even plain " -"functions), e.g.::" +"functions), for example::" msgstr "" msgid "" @@ -289,8 +278,9 @@ msgid "" "This happens because ``x`` is not local to the lambdas, but is defined in " "the outer scope, and it is accessed when the lambda is called --- not when " "it is defined. At the end of the loop, the value of ``x`` is ``4``, so all " -"the functions now return ``4**2``, i.e. ``16``. You can also verify this by " -"changing the value of ``x`` and see how the results of the lambdas change::" +"the functions now return ``4**2``, that is ``16``. You can also verify this " +"by changing the value of ``x`` and see how the results of the lambdas " +"change::" msgstr "" msgid "" @@ -400,13 +390,13 @@ msgid "It's good practice if you import modules in the following order:" msgstr "" msgid "" -"standard library modules -- e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, :" +"standard library modules -- such as :mod:`sys`, :mod:`os`, :mod:`argparse`, :" "mod:`re`" msgstr "" msgid "" "third-party library modules (anything installed in Python's site-packages " -"directory) -- e.g. :mod:`!dateutil`, :mod:`!requests`, :mod:`!PIL.Image`" +"directory) -- such as :pypi:`dateutil`, :pypi:`requests`, :pypi:`tzdata`" msgstr "" msgid "locally developed modules" @@ -623,9 +613,9 @@ msgid "" msgstr "" msgid "" -"After the call to :meth:`!append`, the content of the mutable object has " -"changed from ``[]`` to ``[10]``. Since both the variables refer to the same " -"object, using either name accesses the modified value ``[10]``." +"After the call to :meth:`~sequence.append`, the content of the mutable " +"object has changed from ``[]`` to ``[10]``. Since both the variables refer " +"to the same object, using either name accesses the modified value ``[10]``." msgstr "" msgid "If we instead assign an immutable object to ``x``::" @@ -675,14 +665,14 @@ msgid "In other words:" msgstr "Innymi słowami:" msgid "" -"If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " -"etc.), we can use some specific operations to mutate it and all the " +"If we have a mutable object (such as :class:`list`, :class:`dict`, :class:" +"`set`), we can use some specific operations to mutate it and all the " "variables that refer to it will see the change." msgstr "" msgid "" -"If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " -"etc.), all the variables that refer to it will always see the same value, " +"If we have an immutable object (such as :class:`str`, :class:`int`, :class:" +"`tuple`), all the variables that refer to it will always see the same value, " "but operations that transform that value into a new value always return a " "new object." msgstr "" @@ -698,8 +688,8 @@ msgstr "" msgid "" "Remember that arguments are passed by assignment in Python. Since " "assignment just creates references to objects, there's no alias between an " -"argument name in the caller and callee, and so no call-by-reference per se. " -"You can achieve the desired effect in a number of ways." +"argument name in the caller and callee, and consequently no call-by-" +"reference. You can achieve the desired effect in a number of ways." msgstr "" msgid "By returning a tuple of the results::" @@ -978,8 +968,8 @@ msgid "\"a\" in (\"b\", \"a\")" msgstr "" msgid "" -"The same is true of the various assignment operators (``=``, ``+=`` etc). " -"They are not truly operators but syntactic delimiters in assignment " +"The same is true of the various assignment operators (``=``, ``+=``, and so " +"on). They are not truly operators but syntactic delimiters in assignment " "statements." msgstr "" @@ -1179,9 +1169,9 @@ msgid "How do I convert a string to a number?" msgstr "Jak skonwertować ciąg znaków na liczbę?" msgid "" -"For integers, use the built-in :func:`int` type constructor, e.g. " +"For integers, use the built-in :func:`int` type constructor, for example, " "``int('144') == 144``. Similarly, :func:`float` converts to a floating-" -"point number, e.g. ``float('144') == 144.0``." +"point number, for example, ``float('144') == 144.0``." msgstr "" msgid "" @@ -1204,20 +1194,20 @@ msgstr "" msgid "" ":func:`eval` also has the effect of interpreting numbers as Python " -"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python " -"does not allow leading '0' in a decimal number (except '0')." +"expressions, so that, for example, ``eval('09')`` gives a syntax error " +"because Python does not allow leading '0' in a decimal number (except '0')." msgstr "" msgid "How do I convert a number to a string?" msgstr "Jak skonwertować liczbę na ciąg znaków?" msgid "" -"To convert, e.g., the number ``144`` to the string ``'144'``, use the built-" -"in type constructor :func:`str`. If you want a hexadecimal or octal " +"For example, to convert the number ``144`` to the string ``'144'``, use the " +"built-in type constructor :func:`str`. If you want a hexadecimal or octal " "representation, use the built-in functions :func:`hex` or :func:`oct`. For " "fancy formatting, see the :ref:`f-strings` and :ref:`formatstrings` " -"sections, e.g. ``\"{:04d}\".format(144)`` yields ``'0144'`` and ``\"{:.3f}\"." -"format(1.0/3.0)`` yields ``'0.333'``." +"sections. For example, ``\"{:04d}\".format(144)`` yields ``'0144'`` and " +"``\"{:.3f}\".format(1.0/3.0)`` yields ``'0.333'``." msgstr "" msgid "How do I modify a string in place?" @@ -1227,7 +1217,7 @@ msgid "" "You can't, because strings are immutable. In most situations, you should " "simply construct a new string from the various parts you want to assemble it " "from. However, if you need an object with the ability to modify in-place " -"unicode data, try using an :class:`io.StringIO` object or the :mod:`array` " +"Unicode data, try using an :class:`io.StringIO` object or the :mod:`array` " "module::" msgstr "" @@ -1450,8 +1440,8 @@ msgid "My program is too slow. How do I speed it up?" msgstr "Mój program jest za wolny. Jak mogę go przyspieszyć?" msgid "" -"That's a tough one, in general. First, here are a list of things to " -"remember before diving further:" +"That's a tough one, in general. First, here is a list of things to remember " +"before diving further:" msgstr "" msgid "" @@ -1553,7 +1543,7 @@ msgid "" "result = ''.join(chunks)" msgstr "" -msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" +msgid "(Another reasonably efficient idiom is to use :class:`io.StringIO`.)" msgstr "" msgid "" @@ -1568,7 +1558,7 @@ msgid "" " result += b" msgstr "" -msgid "Sequences (Tuples/Lists)" +msgid "Sequences (tuples/lists)" msgstr "" msgid "How do I convert between tuples and lists?" @@ -1652,8 +1642,8 @@ msgid "" msgstr "" msgid "" -"If all elements of the list may be used as set keys (i.e. they are all :term:" -"`hashable`) this is often faster ::" +"If all elements of the list may be used as set keys (that is, they are all :" +"term:`hashable`) this is often faster::" msgstr "" msgid "mylist = list(set(mylist))" @@ -1664,14 +1654,14 @@ msgid "" "back into a list." msgstr "" -msgid "How do you remove multiple items from a list" +msgid "How do you remove multiple items from a list?" msgstr "" msgid "" "As with removing duplicates, explicitly iterating in reverse with a delete " "condition is one possibility. However, it is easier and faster to use slice " "replacement with an implicit or explicit forward iteration. Here are three " -"variations.::" +"variations::" msgstr "" msgid "" @@ -1701,7 +1691,7 @@ msgstr "" msgid "" "The ``array`` module also provides methods for creating arrays of fixed " "types with compact representations, but they are slower to index than " -"lists. Also note that `NumPy `_ and other third party " +"lists. Also note that `NumPy `_ and other third-party " "packages define array-like structures with various characteristics as well." msgstr "" @@ -1787,7 +1777,7 @@ msgid "How do I apply a method or function to a sequence of objects?" msgstr "" msgid "" -"To call a method or function and accumulate the return values is a list, a :" +"To call a method or function and accumulate the return values in a list, a :" "term:`list comprehension` is an elegant solution::" msgstr "" @@ -1906,8 +1896,9 @@ msgid "" "an :meth:`~object.__iadd__` magic method, it gets called when the ``+=`` " "augmented assignment is executed, and its return value is what gets used in " "the assignment statement; and (b) for lists, :meth:`!__iadd__` is equivalent " -"to calling :meth:`!extend` on the list and returning the list. That's why " -"we say that for lists, ``+=`` is a \"shorthand\" for :meth:`!list.extend`::" +"to calling :meth:`~sequence.extend` on the list and returning the list. " +"That's why we say that for lists, ``+=`` is a \"shorthand\" for :meth:`list." +"extend`::" msgstr "" msgid "" @@ -1983,31 +1974,8 @@ msgstr "" msgid "" "Merge them into an iterator of tuples, sort the resulting list, and then " -"pick out the element you want. ::" -msgstr "" - -msgid "" -">>> list1 = [\"what\", \"I'm\", \"sorting\", \"by\"]\n" -">>> list2 = [\"something\", \"else\", \"to\", \"sort\"]\n" -">>> pairs = zip(list1, list2)\n" -">>> pairs = sorted(pairs)\n" -">>> pairs\n" -"[(\"I'm\", 'else'), ('by', 'sort'), ('sorting', 'to'), ('what', " -"'something')]\n" -">>> result = [x[1] for x in pairs]\n" -">>> result\n" -"['else', 'sort', 'to', 'something']" -msgstr "" -">>> list1 = [\"what\", \"I'm\", \"sorting\", \"by\"]\n" -">>> list2 = [\"something\", \"else\", \"to\", \"sort\"]\n" -">>> pairs = zip(list1, list2)\n" -">>> pairs = sorted(pairs)\n" -">>> pairs\n" -"[(\"I'm\", 'else'), ('by', 'sort'), ('sorting', 'to'), ('what', " -"'something')]\n" -">>> result = [x[1] for x in pairs]\n" -">>> result\n" -"['else', 'sort', 'to', 'something']" +"pick out the element you want." +msgstr "" msgid "Objects" msgstr "Obiekty" @@ -2067,17 +2035,18 @@ msgstr "" msgid "" "Use the built-in function :func:`isinstance(obj, cls) `. You " "can check if an object is an instance of any of a number of classes by " -"providing a tuple instead of a single class, e.g. ``isinstance(obj, (class1, " -"class2, ...))``, and can also check whether an object is one of Python's " -"built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, " -"float, complex))``." +"providing a tuple instead of a single class, for example, ``isinstance(obj, " +"(class1, class2, ...))``, and can also check whether an object is one of " +"Python's built-in types, for example, ``isinstance(obj, str)`` or " +"``isinstance(obj, (int, float, complex))``." msgstr "" msgid "" "Note that :func:`isinstance` also checks for virtual inheritance from an :" "term:`abstract base class`. So, the test will return ``True`` for a " "registered class even if hasn't directly or indirectly inherited from it. " -"To test for \"true inheritance\", scan the :term:`MRO` of the class:" +"To test for \"true inheritance\", scan the :term:`method resolution order` " +"(MRO) of the class:" msgstr "" msgid "" @@ -2149,7 +2118,7 @@ msgid "What is delegation?" msgstr "" msgid "" -"Delegation is an object oriented technique (also called a design pattern). " +"Delegation is an object-oriented technique (also called a design pattern). " "Let's say you have an object ``x`` and want to change the behaviour of just " "one of its methods. You can create a new class that provides a new " "implementation of the method you're interested in changing and delegates all " @@ -2244,8 +2213,8 @@ msgstr "" msgid "" "You could assign the base class to an alias and derive from the alias. Then " "all you have to change is the value assigned to the alias. Incidentally, " -"this trick is also handy if you want to decide dynamically (e.g. depending " -"on availability of resources) which base class to use. Example::" +"this trick is also handy if you want to decide dynamically (such as " +"depending on availability of resources) which base class to use. Example::" msgstr "" msgid "" @@ -2332,7 +2301,7 @@ msgid "" "up first in the context of constructors." msgstr "" -msgid "In C++ you'd write" +msgid "In C++ you'd write:" msgstr "" msgid "" @@ -2359,7 +2328,7 @@ msgstr "" msgid "This is not entirely equivalent, but close enough in practice." msgstr "" -msgid "You could also try a variable-length argument list, e.g. ::" +msgid "You could also try a variable-length argument list, for example::" msgstr "" msgid "" @@ -2427,16 +2396,16 @@ msgid "" msgstr "" msgid "" -"If your data structures contain circular links (e.g. a tree where each child " -"has a parent reference and each parent has a list of children) the reference " -"counts will never go back to zero. Once in a while Python runs an algorithm " -"to detect such cycles, but the garbage collector might run some time after " -"the last reference to your data structure vanishes, so your :meth:`!__del__` " -"method may be called at an inconvenient and random time. This is " -"inconvenient if you're trying to reproduce a problem. Worse, the order in " -"which object's :meth:`!__del__` methods are executed is arbitrary. You can " -"run :func:`gc.collect` to force a collection, but there *are* pathological " -"cases where objects will never be collected." +"If your data structures contain circular links (for example, a tree where " +"each child has a parent reference and each parent has a list of children) " +"the reference counts will never go back to zero. Once in a while Python " +"runs an algorithm to detect such cycles, but the garbage collector might run " +"some time after the last reference to your data structure vanishes, so your :" +"meth:`!__del__` method may be called at an inconvenient and random time. " +"This is inconvenient if you're trying to reproduce a problem. Worse, the " +"order in which object's :meth:`!__del__` methods are executed is arbitrary. " +"You can run :func:`gc.collect` to force a collection, but there *are* " +"pathological cases where objects will never be collected." msgstr "" msgid "" @@ -2533,9 +2502,9 @@ msgid "" msgstr "" msgid "" -">>> a = 1000\n" -">>> b = 500\n" -">>> c = b + 500\n" +">>> a = 10_000_000\n" +">>> b = 5_000_000\n" +">>> c = b + 5_000_000\n" ">>> a is c\n" "False\n" "\n" @@ -2545,17 +2514,6 @@ msgid "" ">>> a is c\n" "False" msgstr "" -">>> a = 1000\n" -">>> b = 500\n" -">>> c = b + 500\n" -">>> a is c\n" -"False\n" -"\n" -">>> a = 'Python'\n" -">>> b = 'Py'\n" -">>> c = b + 'thon'\n" -">>> a is c\n" -"False" msgid "Likewise, new instances of mutable containers are never identical::" msgstr "" @@ -2638,9 +2596,9 @@ msgid "" msgstr "" msgid "" -"from datetime import date\n" +"import datetime as dt\n" "\n" -"class FirstOfMonthDate(date):\n" +"class FirstOfMonthDate(dt.date):\n" " \"Always choose the first day of the month\"\n" " def __new__(cls, year, month, day):\n" " return super().__new__(cls, year, month, 1)\n" @@ -2684,8 +2642,8 @@ msgid "" msgstr "" msgid "" -"The *cached_property* approach only works with methods that do not take any " -"arguments. It does not create a reference to the instance. The cached " +"The ``cached_property`` approach only works with methods that do not take " +"any arguments. It does not create a reference to the instance. The cached " "method result will be kept only as long as the instance is alive." msgstr "" @@ -2697,7 +2655,7 @@ msgid "" msgstr "" msgid "" -"The *lru_cache* approach works with methods that have :term:`hashable` " +"The ``lru_cache`` approach works with methods that have :term:`hashable` " "arguments. It creates a reference to the instance unless special efforts " "are made to pass in weak references." msgstr "" @@ -2737,13 +2695,13 @@ msgstr "" msgid "" "The above example assumes that the *station_id* never changes. If the " -"relevant instance attributes are mutable, the *cached_property* approach " +"relevant instance attributes are mutable, the ``cached_property`` approach " "can't be made to work because it cannot detect changes to the attributes." msgstr "" msgid "" -"To make the *lru_cache* approach work when the *station_id* is mutable, the " -"class needs to define the :meth:`~object.__eq__` and :meth:`~object." +"To make the ``lru_cache`` approach work when the *station_id* is mutable, " +"the class needs to define the :meth:`~object.__eq__` and :meth:`~object." "__hash__` methods so that the cache can detect relevant attribute updates::" msgstr "" @@ -2796,13 +2754,13 @@ msgstr "" msgid "" "Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " "creation of a .pyc file is automatic if you're importing a module and Python " -"has the ability (permissions, free space, etc...) to create a " +"has the ability (permissions, free space, and so on) to create a " "``__pycache__`` subdirectory and write the compiled module to that " "subdirectory." msgstr "" msgid "" -"Running Python on a top level script is not considered an import and no ``." +"Running Python on a top-level script is not considered an import and no ``." "pyc`` will be created. For example, if you have a top-level module ``foo." "py`` that imports another module ``xyz.py``, when you run ``foo`` (by typing " "``python foo.py`` as a shell command), a ``.pyc`` will be created for " @@ -2831,7 +2789,7 @@ msgstr "" msgid "" "This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " "location as ``foo.py`` (or you can override that with the optional parameter " -"``cfile``)." +"*cfile*)." msgstr "" msgid "" @@ -2999,7 +2957,7 @@ msgstr "" msgid "" "Warning: this technique is not 100% fool-proof. In particular, modules " -"containing statements like ::" +"containing statements like::" msgstr "" msgid "from modname import some_objects" diff --git a/faq/windows.po b/faq/windows.po index 53e0d16d7d..510c89c25f 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -1,22 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/glossary.po b/glossary.po index 11b86e12b3..6983aacc74 100644 --- a/glossary.po +++ b/glossary.po @@ -4,22 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Tadeusz Karpiński , 2023 -# haaritsubaki, 2023 -# gresm, 2024 -# Rafael Fontenelle , 2024 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -53,8 +47,9 @@ msgid "" "quotes), or after specifying a decorator." msgstr "" -msgid "The :const:`Ellipsis` built-in constant." -msgstr "Wbudowanej stałej :const:`Ellipsis`." +msgid "" +"The three dots form of the :ref:`Ellipsis ` object." +msgstr "" msgid "abstract base class" msgstr "abstrakcyjna klasa bazowa" @@ -184,7 +179,7 @@ msgstr "" msgid "asynchronous generator iterator" msgstr "" -msgid "An object created by a :term:`asynchronous generator` function." +msgid "An object created by an :term:`asynchronous generator` function." msgstr "" msgid "" @@ -222,6 +217,18 @@ msgid "" "a :exc:`StopAsyncIteration` exception. Introduced by :pep:`492`." msgstr "" +msgid "atomic operation" +msgstr "" + +msgid "" +"An operation that appears to execute as a single, indivisible step: no other " +"thread can observe it half-done, and its effects become visible all at " +"once. Python does not guarantee that high-level statements are atomic (for " +"example, ``x += 1`` performs multiple bytecode operations and is not " +"atomic). Atomicity is only guaranteed where explicitly documented. See " +"also :term:`race condition` and :term:`data race`." +msgstr "" + msgid "attached thread state" msgstr "" @@ -245,8 +252,8 @@ msgid "" "On most builds of Python, having an attached thread state implies that the " "caller holds the :term:`GIL` for the current interpreter, so only one OS " "thread can have an attached thread state at a given moment. In :term:`free-" -"threaded ` builds of Python, threads can concurrently hold " -"an attached thread state, allowing for true parallelism of the bytecode " +"threaded builds ` of Python, threads can concurrently " +"hold an attached thread state, allowing for true parallelism of the bytecode " "interpreter." msgstr "" @@ -456,6 +463,29 @@ msgid "" "not aware of a need for them, it's almost certain you can safely ignore them." msgstr "" +msgid "concurrency" +msgstr "" + +msgid "" +"The ability of a computer program to perform multiple tasks at the same " +"time. Python provides libraries for writing programs that make use of " +"different forms of concurrency. :mod:`asyncio` is a library for dealing " +"with asynchronous tasks and coroutines. :mod:`threading` provides access to " +"operating system threads and :mod:`multiprocessing` to operating system " +"processes. Multi-core processors can execute threads and processes on " +"different CPU cores at the same time (see :term:`parallelism`)." +msgstr "" + +msgid "concurrent modification" +msgstr "" + +msgid "" +"When multiple threads modify shared data at the same time. Concurrent " +"modification without proper synchronization can cause :term:`race conditions " +"`, and might also trigger a :term:`data race `, " +"data corruption, or both." +msgstr "" + msgid "context" msgstr "kontekst" @@ -561,6 +591,46 @@ msgid "" "context whenever the task starts or resumes execution." msgstr "" +msgid "cyclic isolate" +msgstr "" + +msgid "" +"A subgroup of one or more objects that reference each other in a reference " +"cycle, but are not referenced by objects outside the group. The goal of " +"the :term:`cyclic garbage collector ` is to identify " +"these groups and break the reference cycles so that the memory can be " +"reclaimed." +msgstr "" + +msgid "data race" +msgstr "" + +msgid "" +"A situation where multiple threads access the same memory location " +"concurrently, at least one of the accesses is a write, and the threads do " +"not use any synchronization to control their access. Data races lead to :" +"term:`non-deterministic` behavior and can cause data corruption. Proper use " +"of :term:`locks ` and other :term:`synchronization primitives " +"` prevents data races. Note that data races can " +"only happen in native code, but that :term:`native code` might be exposed in " +"a Python API. See also :term:`race condition` and :term:`thread-safe`." +msgstr "" + +msgid "deadlock" +msgstr "" + +msgid "" +"A situation in which two or more tasks (threads, processes, or coroutines) " +"wait indefinitely for each other to release resources or complete actions, " +"preventing any from making progress. For example, if thread A holds lock 1 " +"and waits for lock 2, while thread B holds lock 2 and waits for lock 1, both " +"threads will wait indefinitely. In Python this often arises from acquiring " +"multiple locks in conflicting orders or from circular join/await " +"dependencies. Deadlocks can be avoided by always acquiring multiple :term:" +"`locks ` in a consistent order. See also :term:`lock` and :term:" +"`reentrant`." +msgstr "" + msgid "decorator" msgstr "dekorator" @@ -667,6 +737,15 @@ msgid "" "employs :func:`hasattr` tests or :term:`EAFP` programming." msgstr "" +msgid "dunder" +msgstr "" + +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 "" + msgid "EAFP" msgstr "EAFP" @@ -712,8 +791,11 @@ msgstr "" msgid "f-string" msgstr "f-string" +msgid "f-strings" +msgstr "" + msgid "" -"String literals prefixed with ``'f'`` or ``'F'`` are commonly called \"f-" +"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 "" @@ -813,6 +895,17 @@ msgid "" "Python bytecode at a time. See :pep:`703`." msgstr "" +msgid "free-threaded build" +msgstr "" + +msgid "" +"A build of :term:`CPython` that supports :term:`free threading`, configured " +"using the :option:`--disable-gil` option before compilation." +msgstr "" + +msgid "See :ref:`freethreading-python-howto`." +msgstr "" + msgid "free variable" msgstr "" @@ -1006,6 +1099,17 @@ msgid "" "term:`attached thread state`." msgstr "" +msgid "global state" +msgstr "" + +msgid "" +"Data that is accessible throughout a program, such as module-level " +"variables, class variables, or C static variables in :term:`extension " +"modules `. In multi-threaded programs, global state " +"shared between threads typically requires synchronization to avoid :term:" +"`race conditions ` and :term:`data races `." +msgstr "" + msgid "hash-based pyc" msgstr "" @@ -1075,7 +1179,9 @@ msgid "" "and tuples. Such an object cannot be altered. A new object has to be " "created if a different value has to be stored. They play an important role " "in places where a constant hash value is needed, for example as a key in a " -"dictionary." +"dictionary. Immutable objects are inherently :term:`thread-safe` because " +"their state cannot be modified after creation, eliminating concerns about " +"improperly synchronized :term:`concurrent modification`." msgstr "" msgid "import path" @@ -1104,6 +1210,27 @@ msgid "" "term:`loader` object." msgstr "" +msgid "index" +msgstr "" + +msgid "" +"A numeric value that represents the position of an element in a :term:" +"`sequence`." +msgstr "" + +msgid "" +"In Python, indexing starts at zero. For example, ``things[0]`` names the " +"*first* element of ``things``; ``things[1]`` names the second one." +msgstr "" + +msgid "" +"In some contexts, Python allows negative indexes for counting from the end " +"of a sequence, and indexing using :term:`slices `." +msgstr "" + +msgid "See also :term:`subscript`." +msgstr "" + msgid "interactive" msgstr "interaktywne" @@ -1196,8 +1323,17 @@ msgstr "" msgid "" "CPython does not consistently apply the requirement that an iterator define :" -"meth:`~iterator.__iter__`. And also please note that the free-threading " -"CPython does not guarantee the thread-safety of iterator operations." +"meth:`~iterator.__iter__`. And also please note that :term:`free-threaded " +"` CPython does not guarantee :term:`thread-safe` behavior of " +"iterator operations." +msgstr "" + +msgid "key" +msgstr "" + +msgid "" +"A value that identifies an entry in a :term:`mapping`. See also :term:" +"`subscript`." msgstr "" msgid "key function" @@ -1218,8 +1354,8 @@ msgstr "" 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 sorts. " -"Alternatively, a key function can be built from a :keyword:`lambda` " +"`str.casefold` method can serve as a key function for case insensitive " +"sorts. Alternatively, a key function can be built from a :keyword:`lambda` " "expression such as ``lambda r: (r[0], r[2])``. Also, :func:`operator." "attrgetter`, :func:`operator.itemgetter`, and :func:`operator.methodcaller` " "are three key function constructors. See the :ref:`Sorting HOW TO " @@ -1252,11 +1388,12 @@ msgid "" msgstr "" msgid "" -"In a multi-threaded environment, the LBYL approach can risk introducing a " -"race condition between \"the looking\" and \"the leaping\". For example, " -"the code, ``if key in mapping: return mapping[key]`` can fail if another " -"thread removes *key* from *mapping* after the test, but before the lookup. " -"This issue can be solved with locks or by using the EAFP approach." +"In a multi-threaded environment, the LBYL approach can risk introducing a :" +"term:`race condition` between \"the looking\" and \"the leaping\". For " +"example, the code, ``if key in mapping: return mapping[key]`` can fail if " +"another thread removes *key* from *mapping* after the test, but before the " +"lookup. This issue can be solved with :term:`locks ` or by using the :" +"term:`EAFP` approach. See also :term:`thread-safe`." msgstr "" msgid "lexical analyzer" @@ -1285,6 +1422,37 @@ msgid "" "optional. If omitted, all elements in ``range(256)`` are processed." msgstr "" +msgid "lock" +msgstr "" + +msgid "" +"A :term:`synchronization primitive` that allows only one thread at a time to " +"access a shared resource. A thread must acquire a lock before accessing the " +"protected resource and release it afterward. If a thread attempts to " +"acquire a lock that is already held by another thread, it will block until " +"the lock becomes available. Python's :mod:`threading` module provides :" +"class:`~threading.Lock` (a basic lock) and :class:`~threading.RLock` (a :" +"term:`reentrant` lock). Locks are used to prevent :term:`race conditions " +"` and ensure :term:`thread-safe` access to shared data. " +"Alternative design patterns to locks exist such as queues, producer/consumer " +"patterns, and thread-local state. See also :term:`deadlock`, and :term:" +"`reentrant`." +msgstr "" + +msgid "lock-free" +msgstr "" + +msgid "" +"An operation that does not acquire any :term:`lock` and uses atomic CPU " +"instructions to ensure correctness. Lock-free operations can execute " +"concurrently without blocking each other and cannot be blocked by operations " +"that hold locks. In :term:`free-threaded ` Python, built-in " +"types like :class:`dict` and :class:`list` provide lock-free read " +"operations, which means other threads may observe intermediate states during " +"multi-step modifications even when those modifications hold the :term:`per-" +"object lock`." +msgstr "" + msgid "loader" msgstr "ładowarka" @@ -1427,8 +1595,11 @@ msgid "mutable" msgstr "" msgid "" -"Mutable objects can change their value but keep their :func:`id`. See also :" -"term:`immutable`." +"An :term:`object` with state that is allowed to change during the course of " +"the program. In multi-threaded programs, mutable objects that are shared " +"between threads require careful synchronization to avoid :term:`race " +"conditions `. See also :term:`immutable`, :term:`thread-" +"safe`, and :term:`concurrent modification`." msgstr "" msgid "named tuple" @@ -1502,6 +1673,17 @@ msgstr "" msgid "See also :term:`module`." msgstr "" +msgid "native code" +msgstr "" + +msgid "" +"Code that is compiled to machine instructions and runs directly on the " +"processor, as opposed to code that is interpreted or runs in a virtual " +"machine. In the context of Python, native code typically refers to C, C++, " +"Rust or Fortran code in :term:`extension modules ` that " +"can be called from Python. See also :term:`extension module`." +msgstr "" + msgid "nested scope" msgstr "" @@ -1524,6 +1706,18 @@ msgid "" "meth:`~object.__getattribute__`, class methods, and static methods." msgstr "" +msgid "non-deterministic" +msgstr "" + +msgid "" +"Behavior where the outcome of a program can vary between executions with the " +"same inputs. In multi-threaded programs, non-deterministic behavior often " +"results from :term:`race conditions ` where the relative " +"timing or interleaving of threads affects the result. Proper synchronization " +"using :term:`locks ` and other :term:`synchronization primitives " +"` helps ensure deterministic behavior." +msgstr "" + msgid "object" msgstr "obiekt" @@ -1545,6 +1739,21 @@ msgid "" "to optimized scopes." msgstr "" +msgid "optional module" +msgstr "" + +msgid "" +"An :term:`extension module` that is part of the :term:`standard library`, " +"but may be absent in some builds of :term:`CPython`, usually due to missing " +"third-party libraries or because the module is not available for a given " +"platform." +msgstr "" + +msgid "" +"See :ref:`optional-module-requirements` for a list of optional modules that " +"require third-party libraries." +msgstr "" + msgid "package" msgstr "pakiet" @@ -1557,6 +1766,19 @@ msgstr "" msgid "See also :term:`regular package` and :term:`namespace package`." msgstr "" +msgid "parallelism" +msgstr "" + +msgid "" +"Executing multiple operations at the same time (e.g. on multiple CPU " +"cores). In Python builds with the :term:`global interpreter lock (GIL) " +"`, only one thread runs Python bytecode at a time, " +"so taking advantage of multiple CPU cores typically involves multiple " +"processes (e.g. :mod:`multiprocessing`) or native extensions that release " +"the GIL. In :term:`free-threaded ` Python, multiple Python " +"threads can run Python code simultaneously on different cores." +msgstr "" + msgid "parameter" msgstr "" @@ -1627,6 +1849,19 @@ msgid "" "`362`." msgstr "" +msgid "per-object lock" +msgstr "" + +msgid "" +"A :term:`lock` associated with an individual object instance rather than a " +"global lock shared across all objects. In :term:`free-threaded ` Python, built-in types like :class:`dict` and :class:`list` use " +"per-object locks to allow concurrent operations on different objects while " +"serializing operations on the same object. Operations that hold the per-" +"object lock prevent other locking operations on the same object from " +"proceeding, but do not block :term:`lock-free` operations." +msgstr "" + msgid "path entry" msgstr "" @@ -1827,6 +2062,20 @@ msgstr "" ">>> email.mime.text.__name__\n" "'email.mime.text'" +msgid "race condition" +msgstr "" + +msgid "" +"A condition of a program where the behavior depends on the relative timing " +"or ordering of events, particularly in multi-threaded programs. Race " +"conditions can lead to :term:`non-deterministic` behavior and bugs that are " +"difficult to reproduce. A :term:`data race` is a specific type of race " +"condition involving unsynchronized access to shared memory. The :term:" +"`LBYL` coding style is particularly susceptible to race conditions in multi-" +"threaded code. Using :term:`locks ` and other :term:`synchronization " +"primitives ` helps prevent race conditions." +msgstr "" + msgid "reference count" msgstr "" @@ -1840,6 +2089,12 @@ msgid "" "reference count for a particular object." msgstr "" +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 "" + msgid "regular package" msgstr "" @@ -1851,6 +2106,33 @@ msgstr "" msgid "See also :term:`namespace package`." msgstr "" +msgid "reentrant" +msgstr "" + +msgid "" +"A property of a function or :term:`lock` that allows it to be called or " +"acquired multiple times by the same thread without causing errors or a :term:" +"`deadlock`." +msgstr "" + +msgid "" +"For functions, reentrancy means the function can be safely called again " +"before a previous invocation has completed, which is important when " +"functions may be called recursively or from signal handlers. Thread-unsafe " +"functions may be :term:`non-deterministic` if they're called reentrantly in " +"a multithreaded program." +msgstr "" + +msgid "" +"For locks, Python's :class:`threading.RLock` (reentrant lock) is reentrant, " +"meaning a thread that already holds the lock can acquire it again without " +"blocking. In contrast, :class:`threading.Lock` is not reentrant - " +"attempting to acquire it twice from the same thread will cause a deadlock." +msgstr "" + +msgid "See also :term:`lock` and :term:`deadlock`." +msgstr "" + msgid "REPL" msgstr "REPL" @@ -1887,11 +2169,11 @@ msgstr "" msgid "" "The :class:`collections.abc.Sequence` abstract base class defines a much " "richer interface that goes beyond just :meth:`~object.__getitem__` and :meth:" -"`~object.__len__`, adding :meth:`!count`, :meth:`!index`, :meth:`~object." -"__contains__`, and :meth:`~object.__reversed__`. Types that implement this " -"expanded interface can be registered explicitly using :func:`~abc.ABCMeta." -"register`. For more documentation on sequence methods generally, see :ref:" -"`Common Sequence Operations `." +"`~object.__len__`, adding :meth:`~sequence.count`, :meth:`~sequence.index`, :" +"meth:`~object.__contains__`, and :meth:`~object.__reversed__`. Types that " +"implement this expanded interface can be registered explicitly using :func:" +"`~abc.ABCMeta.register`. For more documentation on sequence methods " +"generally, see :ref:`Common Sequence Operations `." msgstr "" msgid "set comprehension" @@ -1916,10 +2198,10 @@ msgid "slice" msgstr "" msgid "" -"An object usually containing a portion of a :term:`sequence`. A slice is " -"created using the subscript notation, ``[]`` with colons between numbers " -"when several are given, such as in ``variable_name[1:3:5]``. The bracket " -"(subscript) notation uses :class:`slice` objects internally." +"An object of type :class:`slice`, used to describe a portion of a :term:" +"`sequence`. A slice object is created when using the :ref:`slicing " +"` form of :ref:`subscript notation `, with colons " +"inside square brackets, such as in ``variable_name[1:3:5]``." msgstr "" msgid "soft deprecated" @@ -1951,6 +2233,22 @@ msgid "" "`specialnames`." msgstr "" +msgid "standard library" +msgstr "" + +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 "" + +msgid "" +"See also :data:`sys.stdlib_module_names` for a list of all possible standard " +"library module names." +msgstr "" + msgid "statement" msgstr "instrukcja" @@ -1969,6 +2267,12 @@ msgid "" "mod:`typing` module." msgstr "" +msgid "stdlib" +msgstr "" + +msgid "An abbreviation of :term:`standard library`." +msgstr "" + msgid "strong reference" msgstr "" @@ -1989,6 +2293,44 @@ msgstr "" msgid "See also :term:`borrowed reference`." msgstr "" +msgid "subscript" +msgstr "" + +msgid "" +"The expression in square brackets of a :ref:`subscription expression " +"`, for example, the ``3`` in ``items[3]``. Usually used to " +"select an element of a container. Also called a :term:`key` when " +"subscripting a :term:`mapping`, or an :term:`index` when subscripting a :" +"term:`sequence`." +msgstr "" + +msgid "synchronization primitive" +msgstr "" + +msgid "" +"A basic building block for coordinating (synchronizing) the execution of " +"multiple threads to ensure :term:`thread-safe` access to shared resources. " +"Python's :mod:`threading` module provides several synchronization primitives " +"including :class:`~threading.Lock`, :class:`~threading.RLock`, :class:" +"`~threading.Semaphore`, :class:`~threading.Condition`, :class:`~threading." +"Event`, and :class:`~threading.Barrier`. Additionally, the :mod:`queue` " +"module provides multi-producer, multi-consumer queues that are especially " +"useful in multithreaded programs. These primitives help prevent :term:`race " +"conditions ` and coordinate thread execution. See also :" +"term:`lock`." +msgstr "" + +msgid "t-string" +msgstr "" + +msgid "t-strings" +msgstr "" + +msgid "" +"String literals prefixed with ``t`` or ``T`` are commonly called \"t-" +"strings\" which is short for :ref:`template string literals `." +msgstr "" + msgid "text encoding" msgstr "kodowanie tekstu" @@ -2066,6 +2408,22 @@ msgid "" "information." msgstr "" +msgid "thread-safe" +msgstr "" + +msgid "" +"A module, function, or class that behaves correctly when used by multiple " +"threads concurrently. Thread-safe code uses appropriate :term:" +"`synchronization primitives ` like :term:`locks " +"` to protect shared mutable state, or is designed to avoid shared " +"mutable state entirely. In the :term:`free-threaded ` " +"build, built-in types like :class:`dict`, :class:`list`, and :class:`set` " +"use internal locking to make many operations thread-safe, although thread " +"safety is not necessarily guaranteed. Code that is not thread-safe may " +"experience :term:`race conditions ` and :term:`data races " +"` when used in multi-threaded programs." +msgstr "" + msgid "token" msgstr "" @@ -2215,6 +2573,15 @@ msgid "" "the :term:`bytecode` emitted by the bytecode compiler." msgstr "" +msgid "walrus operator" +msgstr "" + +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 "" + msgid "Zen of Python" msgstr "" @@ -2224,6 +2591,12 @@ msgid "" "\"``import this``\" at the interactive prompt." msgstr "" +msgid "..." +msgstr "..." + +msgid "ellipsis literal" +msgstr "Literalny zapis wielokropka" + msgid "C-contiguous" msgstr "" diff --git a/howto/annotations.po b/howto/annotations.po index 14c3b71f0b..9482812a12 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "Annotations Best Practices" -msgstr "" +msgstr "Najlepsze praktyki dotyczące adnotacji" msgid "author" msgstr "autor" @@ -333,5 +330,13 @@ msgid "" "`annotationlib.get_annotations` on Python 3.14+ or :func:`inspect." "get_annotations` on Python 3.10+. On earlier versions of Python, you can " "avoid these bugs by accessing the annotations from the class's :attr:`~type." -"__dict__` (e.g., ``cls.__dict__.get('__annotations__', None)``)." +"__dict__` (for example, ``cls.__dict__.get('__annotations__', None)``)." +msgstr "" + +msgid "" +"In some versions of Python, instances of classes may have an " +"``__annotations__`` attribute. However, this is not supported functionality. " +"If you need the annotations of an instance, you can use :func:`type` to " +"access its class (for example, ``annotationlib." +"get_annotations(type(myinstance))`` on Python 3.14+)." msgstr "" diff --git a/howto/argparse-optparse.po b/howto/argparse-optparse.po new file mode 100644 index 0000000000..0364b664ba --- /dev/null +++ b/howto/argparse-optparse.po @@ -0,0 +1,144 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Rafael Fontenelle , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Migrating ``optparse`` code to ``argparse``" +msgstr "" + +msgid "" +"The :mod:`argparse` module offers several higher level features not natively " +"provided by the :mod:`optparse` module, including:" +msgstr "" + +msgid "Handling positional arguments." +msgstr "Обробка позиційних аргументів." + +msgid "Supporting subcommands." +msgstr "" + +msgid "Allowing alternative option prefixes like ``+`` and ``/``." +msgstr "Дозволяє альтернативні префікси параметрів, наприклад ``+`` і ``/``." + +msgid "Handling zero-or-more and one-or-more style arguments." +msgstr "Обробка нуля або більше та одного або кількох аргументів стилю." + +msgid "Producing more informative usage messages." +msgstr "Створення більш інформативних повідомлень про використання." + +msgid "Providing a much simpler interface for custom ``type`` and ``action``." +msgstr "" +"Забезпечення набагато простішого інтерфейсу для користувацького ``типу`` і " +"``дії``." + +msgid "" +"Originally, the :mod:`argparse` module attempted to maintain compatibility " +"with :mod:`optparse`. However, the fundamental design differences between " +"supporting declarative command line option processing (while leaving " +"positional argument processing to application code), and supporting both " +"named options and positional arguments in the declarative interface mean " +"that the API has diverged from that of ``optparse`` over time." +msgstr "" + +msgid "" +"As described in :ref:`choosing-an-argument-parser`, applications that are " +"currently using :mod:`optparse` and are happy with the way it works can just " +"continue to use ``optparse``." +msgstr "" + +msgid "" +"Application developers that are considering migrating should also review the " +"list of intrinsic behavioural differences described in that section before " +"deciding whether or not migration is desirable." +msgstr "" + +msgid "" +"For applications that do choose to migrate from :mod:`optparse` to :mod:" +"`argparse`, the following suggestions should be helpful:" +msgstr "" + +msgid "" +"Replace all :meth:`optparse.OptionParser.add_option` calls with :meth:" +"`ArgumentParser.add_argument` calls." +msgstr "" +"Замініть усі виклики :meth:`optparse.OptionParser.add_option` на виклики :" +"meth:`ArgumentParser.add_argument`." + +msgid "" +"Replace ``(options, args) = parser.parse_args()`` with ``args = parser." +"parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls " +"for the positional arguments. Keep in mind that what was previously called " +"``options``, now in the :mod:`argparse` context is called ``args``." +msgstr "" +"Замініть ``(options, args) = parser.parse_args()`` на ``args = parser." +"parse_args()`` і додайте додаткові виклики :meth:`ArgumentParser." +"add_argument` для позиційних аргументів. Майте на увазі, що те, що раніше " +"називалося ``options``, тепер у контексті :mod:`argparse` називається " +"``args``." + +msgid "" +"Replace :meth:`optparse.OptionParser.disable_interspersed_args` by using :" +"meth:`~ArgumentParser.parse_intermixed_args` instead of :meth:" +"`~ArgumentParser.parse_args`." +msgstr "" +"Замініть :meth:`optparse.OptionParser.disable_interspersed_args` на " +"використання :meth:`~ArgumentParser.parse_intermixed_args` замість :meth:" +"`~ArgumentParser.parse_args`." + +msgid "" +"Replace callback actions and the ``callback_*`` keyword arguments with " +"``type`` or ``action`` arguments." +msgstr "" +"Замініть дії зворотного виклику та аргументи ключового слова ``callback_*`` " +"на аргументи ``type`` або ``action``." + +msgid "" +"Replace string names for ``type`` keyword arguments with the corresponding " +"type objects (e.g. int, float, complex, etc)." +msgstr "" +"Замініть назви рядків для ключових аргументів ``type`` відповідними " +"об’єктами типу (наприклад, int, float, complex тощо)." + +msgid "" +"Replace :class:`optparse.Values` with :class:`Namespace` and :exc:`optparse." +"OptionError` and :exc:`optparse.OptionValueError` with :exc:`ArgumentError`." +msgstr "" +"Замініть :class:`optparse.Values` на :class:`Namespace` і :exc:`optparse." +"OptionError` і :exc:`optparse.OptionValueError` на :exc:`ArgumentError`." + +msgid "" +"Replace strings with implicit arguments such as ``%default`` or ``%prog`` " +"with the standard Python syntax to use dictionaries to format strings, that " +"is, ``%(default)s`` and ``%(prog)s``." +msgstr "" +"Замініть рядки неявними аргументами, такими як ``%default`` або ``%prog`` " +"стандартним синтаксисом Python, щоб використовувати словники для " +"форматування рядків, тобто ``%(default)s`` і ``%(prog)s``." + +msgid "" +"Replace the OptionParser constructor ``version`` argument with a call to " +"``parser.add_argument('--version', action='version', version='')``." +msgstr "" +"Замініть аргумент ``version`` конструктора OptionParser на виклик ``parser." +"add_argument('--version', action='version', version=' ')``." diff --git a/howto/argparse.po b/howto/argparse.po index 91ed6f712e..3a7f5fbf29 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/clinic.po b/howto/clinic.po index 209a4131b5..a595c8d7af 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/curses.po b/howto/curses.po index b42942cfd6..250c6602b3 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/descriptor.po b/howto/descriptor.po index 9884956498..5b5f525e5a 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -523,7 +520,7 @@ msgid "" "\n" " def validate(self, value):\n" " if not isinstance(value, str):\n" -" raise TypeError(f'Expected {value!r} to be an str')\n" +" raise TypeError(f'Expected {value!r} to be a str')\n" " if self.minsize is not None and len(value) < self.minsize:\n" " raise ValueError(\n" " f'Expected {value!r} to be no smaller than {self.minsize!" diff --git a/howto/enum.po b/howto/enum.po index 30779f3b56..23e3e9998a 100644 --- a/howto/enum.po +++ b/howto/enum.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -175,8 +174,8 @@ msgid "Now we can find out what today is! Observe::" msgstr "" msgid "" -">>> from datetime import date\n" -">>> Weekday.from_date(date.today())\n" +">>> import datetime as dt\n" +">>> Weekday.from_date(dt.date.today())\n" "" msgstr "" @@ -1316,102 +1315,12 @@ msgstr "" msgid "Finer Points" msgstr "" -msgid "Supported ``__dunder__`` names" +msgid "Supported ``__dunder__`` and ``_sunder_`` names" msgstr "" msgid "" -":attr:`~enum.EnumType.__members__` is a read-only ordered mapping of " -"``member_name``:``member`` items. It is only available on the class." -msgstr "" - -msgid "" -":meth:`~object.__new__`, if specified, must create and return the enum " -"members; it is also a very good idea to set the member's :attr:`~Enum." -"_value_` appropriately. Once all the members are created it is no longer " -"used." -msgstr "" - -msgid "Supported ``_sunder_`` names" -msgstr "" - -msgid ":attr:`~Enum._name_` -- name of the member" -msgstr "" - -msgid ":attr:`~Enum._value_` -- value of the member; can be set in ``__new__``" -msgstr "" - -msgid "" -":meth:`~Enum._missing_` -- a lookup function used when a value is not found; " -"may be overridden" -msgstr "" - -msgid "" -":attr:`~Enum._ignore_` -- a list of names, either as a :class:`list` or a :" -"class:`str`, that will not be transformed into members, and will be removed " -"from the final class" -msgstr "" - -msgid "" -":meth:`~Enum._generate_next_value_` -- used to get an appropriate value for " -"an enum member; may be overridden" -msgstr "" - -msgid "" -":meth:`~EnumType._add_alias_` -- adds a new name as an alias to an existing " -"member." -msgstr "" - -msgid "" -":meth:`~EnumType._add_value_alias_` -- adds a new value as an alias to an " -"existing member. See `MultiValueEnum`_ for an example." -msgstr "" - -msgid "" -"For standard :class:`Enum` classes the next value chosen is the highest " -"value seen incremented by one." -msgstr "" - -msgid "" -"For :class:`Flag` classes the next value chosen will be the next highest " -"power-of-two." -msgstr "" - -msgid "" -"Prior versions would use the last seen value instead of the highest value." -msgstr "" - -msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" -msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" - -msgid "``_ignore_``" -msgstr "``_ignore_``" - -msgid "``_add_alias_``, ``_add_value_alias_``" -msgstr "" - -msgid "" -"To help keep Python 2 / Python 3 code in sync an :attr:`~Enum._order_` " -"attribute can be provided. It will be checked against the actual order of " -"the enumeration and raise an error if the two do not match::" -msgstr "" - -msgid "" -">>> class Color(Enum):\n" -"... _order_ = 'RED GREEN BLUE'\n" -"... RED = 1\n" -"... BLUE = 3\n" -"... GREEN = 2\n" -"...\n" -"Traceback (most recent call last):\n" -"...\n" -"TypeError: member order does not match _order_:\n" -" ['RED', 'BLUE', 'GREEN']\n" -" ['RED', 'GREEN', 'BLUE']" -msgstr "" - -msgid "" -"In Python 2 code the :attr:`~Enum._order_` attribute is necessary as " -"definition order is lost before it can be recorded." +"The supported ``__dunder__`` and ``_sunder_`` names can be found in the :ref:" +"`Enum API documentation `." msgstr "" msgid "_Private__names" @@ -2060,8 +1969,8 @@ msgid "An example to show the :attr:`~Enum._ignore_` attribute in use::" msgstr "" msgid "" -">>> from datetime import timedelta\n" -">>> class Period(timedelta, Enum):\n" +">>> import datetime as dt\n" +">>> class Period(dt.timedelta, Enum):\n" "... \"different lengths of time\"\n" "... _ignore_ = 'Period i'\n" "... Period = vars()\n" diff --git a/howto/free-threading-extensions.po b/howto/free-threading-extensions.po index 0b3efd35d3..0f0a3e27f3 100644 --- a/howto/free-threading-extensions.po +++ b/howto/free-threading-extensions.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-06-20 06:42+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,9 +27,9 @@ msgid "C API Extension Support for Free Threading" msgstr "" msgid "" -"Starting with the 3.13 release, CPython has experimental support for running " -"with the :term:`global interpreter lock` (GIL) disabled in a configuration " -"called :term:`free threading`. This document describes how to adapt C API " +"Starting with the 3.13 release, CPython has support for running with the :" +"term:`global interpreter lock` (GIL) disabled in a configuration called :" +"term:`free threading`. This document describes how to adapt C API " "extensions to support free threading." msgstr "" @@ -49,6 +49,13 @@ msgid "" "#endif" msgstr "" +msgid "" +"On Windows, this macro is not defined automatically, but must be specified " +"to the compiler when building. The :func:`sysconfig.get_config_var` function " +"can be used to determine whether the current running interpreter had the " +"macro defined." +msgstr "" + msgid "Module Initialization" msgstr "" @@ -204,6 +211,9 @@ msgstr ":c:func:`PyList_GetItem`" msgid ":c:func:`PyList_GetItemRef`" msgstr ":c:func:`PyList_GetItemRef`" +msgid ":c:func:`PyList_GET_ITEM`" +msgstr "" + msgid ":c:func:`PyDict_GetItem`" msgstr ":c:func:`PyDict_GetItem`" @@ -247,10 +257,10 @@ msgid ":c:func:`PyImport_AddModuleRef`" msgstr ":c:func:`PyImport_AddModuleRef`" msgid ":c:func:`PyCell_GET`" -msgstr "" +msgstr ":c:func:`PyCell_GET`" msgid ":c:func:`PyCell_Get`" -msgstr "" +msgstr ":c:func:`PyCell_Get`" msgid "" "Not all APIs that return borrowed references are problematic. For example, :" @@ -275,7 +285,7 @@ msgid "" "Python's memory management C API provides functions in three different :ref:" "`allocation domains `: \"raw\", \"mem\", and \"object\". " "For thread-safety, the free-threaded build requires that only Python objects " -"are allocated using the object domain, and that all Python object are " +"are allocated using the object domain, and that all Python objects are " "allocated using that domain. This differs from the prior Python versions, " "where this was only a best practice and not a hard requirement." msgstr "" @@ -462,12 +472,12 @@ msgid "" msgstr "" msgid "" -"Note that the locks described above are only :c:type:`!PyMutex` based locks. " +"Note that the locks described above are only :c:type:`PyMutex` based locks. " "The critical section implementation does not know about or affect other " "locking mechanisms that might be in use, like POSIX mutexes. Also note that " -"while blocking on any :c:type:`!PyMutex` causes the critical sections to be " +"while blocking on any :c:type:`PyMutex` causes the critical sections to be " "suspended, only the mutexes that are part of the critical sections are " -"released. If :c:type:`!PyMutex` is used without a critical section, it will " +"released. If :c:type:`PyMutex` is used without a critical section, it will " "not be released and therefore does not get the same deadlock avoidance." msgstr "" @@ -535,8 +545,10 @@ msgstr "" msgid "" "`pypa/cibuildwheel `_ supports the " -"free-threaded build if you set `CIBW_FREE_THREADED_SUPPORT `_." +"free-threaded build on Python 3.13 and 3.14. On Python 3.14, free-threaded " +"wheels will be built by default. On Python 3.13, you will need to set " +"`CIBW_ENABLE to cpython-freethreading `_." msgstr "" msgid "Limited C API and Stable ABI" diff --git a/howto/free-threading-python.po b/howto/free-threading-python.po index a87a87db9b..64348263bf 100644 --- a/howto/free-threading-python.po +++ b/howto/free-threading-python.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-10-04 14:19+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,22 +23,23 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Python experimental support for free threading" +msgid "Python support for free threading" msgstr "" msgid "" -"Starting with the 3.13 release, CPython has experimental support for a build " -"of Python called :term:`free threading` where the :term:`global interpreter " -"lock` (GIL) is disabled. Free-threaded execution allows for full " -"utilization of the available processing power by running threads in parallel " -"on available CPU cores. While not all software will benefit from this " -"automatically, programs designed with threading in mind will run faster on " -"multi-core hardware." +"Starting with the 3.13 release, CPython has support for a build of Python " +"called :term:`free threading` where the :term:`global interpreter lock` " +"(GIL) is disabled. Free-threaded execution allows for full utilization of " +"the available processing power by running threads in parallel on available " +"CPU cores. While not all software will benefit from this automatically, " +"programs designed with threading in mind will run faster on multi-core " +"hardware." msgstr "" msgid "" -"**The free-threaded mode is experimental** and work is ongoing to improve " -"it: expect some bugs and a substantial single-threaded performance hit." +"Some third-party packages, in particular ones with an :term:`extension " +"module`, may not be ready for use in a free-threaded build, and will re-" +"enable the :term:`GIL`." msgstr "" msgid "" @@ -63,7 +64,7 @@ msgstr "" msgid "" "For information on other platforms, see the `Installing a Free-Threaded " -"Python `_, a " +"Python `_, a " "community-maintained installation guide for installing free-threaded Python." msgstr "" @@ -77,9 +78,9 @@ msgstr "" msgid "" "To check if the current interpreter supports free-threading, :option:`python " -"-VV <-V>` and :data:`sys.version` contain \"experimental free-threading " -"build\". The new :func:`sys._is_gil_enabled` function can be used to check " -"whether the GIL is actually disabled in the running process." +"-VV <-V>` and :data:`sys.version` contain \"free-threading build\". The new :" +"func:`sys._is_gil_enabled` function can be used to check whether the GIL is " +"actually disabled in the running process." msgstr "" msgid "" @@ -146,65 +147,39 @@ msgid "Immortalization" msgstr "" msgid "" -"The free-threaded build of the 3.13 release makes some objects :term:" -"`immortal`. Immortal objects are not deallocated and have reference counts " -"that are never modified. This is done to avoid reference count contention " -"that would prevent efficient multi-threaded scaling." +"In the free-threaded build, some objects are :term:`immortal`. Immortal " +"objects are not deallocated and have reference counts that are never " +"modified. This is done to avoid reference count contention that would " +"prevent efficient multi-threaded scaling." msgstr "" -msgid "" -"An object will be made immortal when a new thread is started for the first " -"time after the main thread is running. The following objects are " -"immortalized:" +msgid "As of the 3.14 release, immortalization is limited to:" msgstr "" msgid "" -":ref:`function ` objects declared at the module level" -msgstr "" - -msgid ":ref:`method ` descriptors" -msgstr "" - -msgid ":ref:`code ` objects" -msgstr "" - -msgid ":term:`module` objects and their dictionaries" +"Code constants: numeric literals, string literals, and tuple literals " +"composed of other constants." msgstr "" -msgid ":ref:`classes ` (type objects)" -msgstr "" - -msgid "" -"Because immortal objects are never deallocated, applications that create " -"many objects of these types may see increased memory usage. This is " -"expected to be addressed in the 3.14 release." -msgstr "" - -msgid "" -"Additionally, numeric and string literals in the code as well as strings " -"returned by :func:`sys.intern` are also immortalized. This behavior is " -"expected to remain in the 3.14 free-threaded build." +msgid "Strings interned by :func:`sys.intern`." msgstr "" msgid "Frame objects" msgstr "" msgid "" -"It is not safe to access :ref:`frame ` objects from other " -"threads and doing so may cause your program to crash . This means that :" -"func:`sys._current_frames` is generally not safe to use in a free-threaded " -"build. Functions like :func:`inspect.currentframe` and :func:`sys." -"_getframe` are generally safe as long as the resulting frame object is not " -"passed to another thread." +"It is not safe to access :attr:`frame.f_locals` from a :ref:`frame ` object if that frame is currently executing in another thread, and " +"doing so may crash the interpreter." msgstr "" msgid "Iterators" msgstr "Iteratory" msgid "" -"Sharing the same iterator object between multiple threads is generally not " -"safe and threads may see duplicate or missing elements when iterating or " -"crash the interpreter." +"It is generally not thread-safe to access the same iterator object from " +"multiple threads concurrently, and threads may see duplicate or missing " +"elements." msgstr "" msgid "Single-threaded performance" @@ -212,15 +187,10 @@ msgstr "" msgid "" "The free-threaded build has additional overhead when executing Python code " -"compared to the default GIL-enabled build. In 3.13, this overhead is about " -"40% on the `pyperformance `_ suite. " -"Programs that spend most of their time in C extensions or I/O will see less " -"of an impact. The largest impact is because the specializing adaptive " -"interpreter (:pep:`659`) is disabled in the free-threaded build. We expect " -"to re-enable it in a thread-safe way in the 3.14 release. This overhead is " -"expected to be reduced in upcoming Python release. We are aiming for an " -"overhead of 10% or less on the pyperformance suite compared to the default " -"GIL-enabled build." +"compared to the default GIL-enabled build. The amount of overhead depends " +"on the workload and hardware. On the pyperformance benchmark suite, the " +"average overhead ranges from about 1% on macOS aarch64 to 8% on x86-64 Linux " +"systems." msgstr "" msgid "Behavioral changes" diff --git a/howto/functional.po b/howto/functional.po index eb35c10df6..be28f5fddd 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +29,7 @@ msgstr "" msgid "Author" msgstr "Autor" -msgid "A. M. Kuchling" +msgid "\\A. M. Kuchling" msgstr "" msgid "Release" @@ -726,7 +724,7 @@ msgid "" msgstr "" msgid "" -":meth:`~generator.close` raises a :exc:`GeneratorExit` exception inside the " +":meth:`~generator.close` sends a :exc:`GeneratorExit` exception to the " "generator to terminate the iteration. On receiving this exception, the " "generator's code must either raise :exc:`GeneratorExit` or :exc:" "`StopIteration`; catching the exception and doing anything else is illegal " @@ -1526,7 +1524,7 @@ msgid "" msgstr "" msgid "" -"https://www.defmacro.org/ramblings/fp.html: A general introduction to " +"https://defmacro.org/2006/06/19/fp.html: A general introduction to " "functional programming that uses Java examples and has a lengthy historical " "introduction." msgstr "" diff --git a/howto/gdb_helpers.po b/howto/gdb_helpers.po index f214c6eac2..e2b877c48f 100644 --- a/howto/gdb_helpers.po +++ b/howto/gdb_helpers.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2024-02-25 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -425,6 +424,43 @@ msgid "" "(gdb) py-down\n" "Unable to find a newer python frame" msgstr "" +"(gdb) py-down\n" +"#37 Frame 0x9420b04, for file /usr/lib/python2.6/site-packages/gnome_sudoku/" +"main.py, line 906, in start_game ()\n" +" u = UI()\n" +"(gdb) py-down\n" +"#34 (unable to read python frame information)\n" +"(gdb) py-down\n" +"#23 (unable to read python frame information)\n" +"(gdb) py-down\n" +"#19 (unable to read python frame information)\n" +"(gdb) py-down\n" +"#14 Frame 0x99262ac, for file /usr/lib/python2.6/site-packages/gnome_sudoku/" +"game_selector.py, line 201, in run_swallowed_dialog " +"(self=, puzzle=None, saved_games=[{'gsd.auto_fills': 0, 'tracking': {}, " +"'trackers': {}, 'notes': [], 'saved_at': 1270084485, 'game': '7 8 0 0 0 0 0 " +"5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 0 0 0 4 7 9 2 0 0 0 9 0 1 0 0 0 " +"3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 0 0 4 5\\n7 " +"8 0 0 0 0 0 5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 1 8 3 4 7 9 2 0 0 0 " +"9 0 1 0 0 0 3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 " +"0 0 4 5', 'gsd.impossible_hints': 0, 'timer.__absolute_start_time__': , 'gsd.hints': 0, 'timer.active_time': , 'timer.total_time': }], dialog=, saved_game_model=, sudoku_maker=, main_page=0) " +"at remote 0x98fa6e4>, d=)\n" +" gtk.main()\n" +"(gdb) py-down\n" +"#8 (unable to read python frame information)\n" +"(gdb) py-down\n" +"Unable to find a newer python frame" msgid "and we're at the bottom of the Python stack." msgstr "" @@ -504,6 +540,39 @@ msgid "" "0xb771b7f4>)\n" " main.start_game()" msgstr "" +"(gdb) py-bt\n" +"#8 (unable to read python frame information)\n" +"#11 Frame 0x9aead74, for file /usr/lib/python2.6/site-packages/gnome_sudoku/" +"dialog_swallower.py, line 48, in run_dialog " +"(self=, main_page=0) " +"at remote 0x98fa6e4>, d=)\n" +" gtk.main()\n" +"#14 Frame 0x99262ac, for file /usr/lib/python2.6/site-packages/gnome_sudoku/" +"game_selector.py, line 201, in run_swallowed_dialog " +"(self=, puzzle=None, saved_games=[{'gsd.auto_fills': 0, 'tracking': {}, " +"'trackers': {}, 'notes': [], 'saved_at': 1270084485, 'game': '7 8 0 0 0 0 0 " +"5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 0 0 0 4 7 9 2 0 0 0 9 0 1 0 0 0 " +"3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 0 0 4 5\\n7 " +"8 0 0 0 0 0 5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 1 8 3 4 7 9 2 0 0 0 " +"9 0 1 0 0 0 3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 " +"0 0 4 5', 'gsd.impossible_hints': 0, 'timer.__absolute_start_time__': , 'gsd.hints': 0, 'timer.active_time': , 'timer.total_time': }], dialog=, saved_game_model=, sudoku_maker=)\n" +" main.start_game()" msgid "" "The frame numbers correspond to those displayed by GDB's standard " @@ -705,3 +774,80 @@ msgid "" ", , _RLock__count=1) at remote " +"0xd7ff40>, count_owner=(1, 140737213728528), count=1, " +"owner=140737213728528)\n" +" self.__block.acquire()\n" +"#8 Frame 0x7fffac001640, for file /home/david/coding/python-svn/Lib/" +"threading.py, line 269, in wait " +"(self=<_Condition(_Condition__lock=<_RLock(_Verbose__verbose=False, " +"_RLock__owner=140737354016512, _RLock__block=, _RLock__count=1) at remote 0xd7ff40>, acquire=, _is_owned=, " +"_release_save=, release=, _acquire_restore=, " +"_Verbose__verbose=False, _Condition__waiters=[]) at remote 0xd7fd10>, " +"timeout=None, waiter=, saved_state=(1, " +"140737213728528))\n" +" self._acquire_restore(saved_state)\n" +"#12 Frame 0x7fffb8001a10, for file /home/david/coding/python-svn/Lib/test/" +"lock_tests.py, line 348, in f ()\n" +" cond.wait()\n" +"#16 Frame 0x7fffb8001c40, for file /home/david/coding/python-svn/Lib/test/" +"lock_tests.py, line 37, in task (tid=140737213728528)\n" +" f()\n" +"\n" +"Thread 104 (Thread 0x7fffdf5fe710 (LWP 10259)):\n" +"#5 Frame 0x7fffe4001580, for file /home/david/coding/python-svn/Lib/" +"threading.py, line 155, in _acquire_restore " +"(self=<_RLock(_Verbose__verbose=False, _RLock__owner=140737354016512, " +"_RLock__block=, _RLock__count=1) at remote " +"0xd7ff40>, count_owner=(1, 140736940992272), count=1, " +"owner=140736940992272)\n" +" self.__block.acquire()\n" +"#8 Frame 0x7fffc8002090, for file /home/david/coding/python-svn/Lib/" +"threading.py, line 269, in wait " +"(self=<_Condition(_Condition__lock=<_RLock(_Verbose__verbose=False, " +"_RLock__owner=140737354016512, _RLock__block=, _RLock__count=1) at remote 0xd7ff40>, acquire=, _is_owned=, " +"_release_save=, release=, _acquire_restore=, " +"_Verbose__verbose=False, _Condition__waiters=[]) at remote 0xd7fd10>, " +"timeout=None, waiter=, saved_state=(1, " +"140736940992272))\n" +" self._acquire_restore(saved_state)\n" +"#12 Frame 0x7fffac001c90, for file /home/david/coding/python-svn/Lib/test/" +"lock_tests.py, line 348, in f ()\n" +" cond.wait()\n" +"#16 Frame 0x7fffac0011c0, for file /home/david/coding/python-svn/Lib/test/" +"lock_tests.py, line 37, in task (tid=140736940992272)\n" +" f()\n" +"\n" +"Thread 1 (Thread 0x7ffff7fe2700 (LWP 10145)):\n" +"#5 Frame 0xcb5380, for file /home/david/coding/python-svn/Lib/test/" +"lock_tests.py, line 16, in _wait ()\n" +" time.sleep(0.01)\n" +"#8 Frame 0x7fffd00024a0, for file /home/david/coding/python-svn/Lib/test/" +"lock_tests.py, line 378, in _check_notify " +"(self=, skipped=[], _mirrorOutput=False, testsRun=39, " +"buffer=False, _original_stderr=, " +"_stdout_buffer=, " +"_stderr_buffer=, " +"_moduleSetUpFailed=False, expectedFailures=[], errors=[], " +"_previousTestClass=, unexpectedSuccesses=[], " +"failures=[], shouldStop=False, failfast=False) at remote 0xc185a0>, " +"_threads=(0,), _cleanups=[], _type_equality_funcs={: , : " +", : " +", : " +", , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,6 +36,9 @@ msgstr "" msgid "General:" msgstr "" +msgid ":ref:`a-conceptual-overview-of-asyncio`" +msgstr "" + msgid ":ref:`annotations-howto`" msgstr ":ref:`annotations-howto`" @@ -113,4 +115,4 @@ msgid ":ref:`perf_profiling`" msgstr ":ref:`perf_profiling`" msgid ":ref:`remote-debugging`" -msgstr "" +msgstr ":ref:`remote-debugging`" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index ac112dc31c..ef6c0c82a5 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -430,6 +428,82 @@ msgid "" "tuple object." msgstr "" +msgid "C Entry Points" +msgstr "" + +msgid "" +"To simplify triggering of DTrace markers, Python's C API comes with a number " +"of helper functions that mirror each static marker. On builds of Python " +"without DTrace enabled, these do nothing." +msgstr "" + +msgid "" +"In general, it is not necessary to call these yourself, as Python will do it " +"for you." +msgstr "" + +msgid "C API Function" +msgstr "" + +msgid "Static Marker" +msgstr "" + +msgid "Notes" +msgstr "Notatki" + +msgid ":c:func:`!line`" +msgstr "" + +msgid ":c:func:`!function__entry`" +msgstr "" + +msgid ":c:func:`!function__return`" +msgstr "" + +msgid ":c:func:`!gc__start`" +msgstr "" + +msgid ":c:func:`!gc__done`" +msgstr "" + +msgid ":c:func:`!instance__new__start`" +msgstr "" + +msgid "Not used by Python" +msgstr "" + +msgid ":c:func:`!instance__new__done`" +msgstr "" + +msgid ":c:func:`!instance__delete__start`" +msgstr "" + +msgid ":c:func:`!instance__delete__done`" +msgstr "" + +msgid ":c:func:`!import__find__load__start`" +msgstr "" + +msgid ":c:func:`!import__find__load__done`" +msgstr "" + +msgid ":c:func:`!audit`" +msgstr "" + +msgid "C Probing Checks" +msgstr "" + +msgid "" +"All calls to ``PyDTrace`` functions must be guarded by a call to one of " +"these functions. This allows Python to minimize performance impact when " +"probing is disabled." +msgstr "" + +msgid "" +"On builds without DTrace enabled, these functions do nothing and return " +"``0``." +msgstr "" + msgid "SystemTap Tapsets" msgstr "" diff --git a/howto/ipaddress.po b/howto/ipaddress.po index c5d443fa20..9f3779c2b5 100644 --- a/howto/ipaddress.po +++ b/howto/ipaddress.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/isolating-extensions.po b/howto/isolating-extensions.po index 864ff8c45e..edb0336bd8 100644 --- a/howto/isolating-extensions.po +++ b/howto/isolating-extensions.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Maciej Olko , 2022\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -225,8 +225,8 @@ msgstr "" msgid "" "If it is necessary to use process-global state, the simplest way to avoid " "issues with multiple interpreters is to explicitly prevent a module from " -"being loaded more than once per process—see `Opt-Out: Limiting to One Module " -"Object per Process`_." +"being loaded more than once per process—see :ref:`isolating-extensions-" +"optout`." msgstr "" msgid "Managing Per-Module State" @@ -286,21 +286,36 @@ msgid "" msgstr "" msgid "" +"// A process-wide flag\n" "static int loaded = 0;\n" "\n" +"// Mutex to provide thread safety (only needed for free-threaded Python)\n" +"static PyMutex modinit_mutex = {0};\n" +"\n" "static int\n" "exec_module(PyObject* module)\n" "{\n" +" PyMutex_Lock(&modinit_mutex);\n" " if (loaded) {\n" +" PyMutex_Unlock(&modinit_mutex);\n" " PyErr_SetString(PyExc_ImportError,\n" " \"cannot load module more than once per process\");\n" " return -1;\n" " }\n" " loaded = 1;\n" +" PyMutex_Unlock(&modinit_mutex);\n" " // ... rest of initialization\n" "}" msgstr "" +msgid "" +"If your module's :c:member:`PyModuleDef.m_clear` function is able to prepare " +"for future re-initialization, it should clear the ``loaded`` flag. In this " +"case, your module won't support multiple instances existing *concurrently*, " +"but it will, for example, support being loaded after Python runtime shutdown " +"(:c:func:`Py_FinalizeEx`) and re-initialization (:c:func:`Py_Initialize`)." +msgstr "" + msgid "Module State Access from Functions" msgstr "" @@ -430,8 +445,8 @@ msgid "Have the :c:macro:`Py_TPFLAGS_HAVE_GC` flag." msgstr "" msgid "" -"Define a traverse function using ``Py_tp_traverse``, which visits the type " -"(e.g. using ``Py_VISIT(Py_TYPE(self))``)." +"Define a traverse function using :c:data:`Py_tp_traverse`, which visits the " +"type (e.g. using ``Py_VISIT(Py_TYPE(self))``)." msgstr "" msgid "" @@ -561,7 +576,7 @@ msgstr "" msgid "GC-tracked objects need to be allocated using GC-aware functions." msgstr "" -msgid "If you use use :c:func:`PyObject_New` or :c:func:`PyObject_NewVar`:" +msgid "If you use :c:func:`PyObject_New` or :c:func:`PyObject_NewVar`:" msgstr "" msgid "" @@ -764,9 +779,8 @@ msgid "Several issues around per-module state and heap types are still open." msgstr "" msgid "" -"Discussions about improving the situation are best held on the `capi-sig " -"mailing list `__." +"Discussions about improving the situation are best held on the `discuss " +"forum under c-api tag `__." msgstr "" msgid "Per-Class Scope" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index e6f55acf03..0b2345d86c 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -290,7 +288,7 @@ msgid "" "# tell the handler to use this format\n" "console.setFormatter(formatter)\n" "# add the handler to the root logger\n" -"logging.getLogger('').addHandler(console)\n" +"logging.getLogger().addHandler(console)\n" "\n" "# Now, we can log to the root logger, or any other logger. First the " "root...\n" @@ -758,7 +756,7 @@ msgstr "" msgid "" "import logging, logging.handlers\n" "\n" -"rootLogger = logging.getLogger('')\n" +"rootLogger = logging.getLogger()\n" "rootLogger.setLevel(logging.DEBUG)\n" "socketHandler = logging.handlers.SocketHandler('localhost',\n" " logging.handlers.DEFAULT_TCP_LOGGING_PORT)\n" @@ -1789,6 +1787,100 @@ msgid "" " q.put(None)\n" " lp.join()" msgstr "" +"import logging\n" +"import logging.config\n" +"import logging.handlers\n" +"from multiprocessing import Process, Queue\n" +"import random\n" +"import threading\n" +"import time\n" +"\n" +"def logger_thread(q):\n" +" while True:\n" +" record = q.get()\n" +" if record is None:\n" +" break\n" +" logger = logging.getLogger(record.name)\n" +" logger.handle(record)\n" +"\n" +"\n" +"def worker_process(q):\n" +" qh = logging.handlers.QueueHandler(q)\n" +" root = logging.getLogger()\n" +" root.setLevel(logging.DEBUG)\n" +" root.addHandler(qh)\n" +" levels = [logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR,\n" +" logging.CRITICAL]\n" +" loggers = ['foo', 'foo.bar', 'foo.bar.baz',\n" +" 'spam', 'spam.ham', 'spam.ham.eggs']\n" +" for i in range(100):\n" +" lvl = random.choice(levels)\n" +" logger = logging.getLogger(random.choice(loggers))\n" +" logger.log(lvl, 'Message no. %d', i)\n" +"\n" +"if __name__ == '__main__':\n" +" q = Queue()\n" +" d = {\n" +" 'version': 1,\n" +" 'formatters': {\n" +" 'detailed': {\n" +" 'class': 'logging.Formatter',\n" +" 'format': '%(asctime)s %(name)-15s %(levelname)-8s " +"%(processName)-10s %(message)s'\n" +" }\n" +" },\n" +" 'handlers': {\n" +" 'console': {\n" +" 'class': 'logging.StreamHandler',\n" +" 'level': 'INFO',\n" +" },\n" +" 'file': {\n" +" 'class': 'logging.FileHandler',\n" +" 'filename': 'mplog.log',\n" +" 'mode': 'w',\n" +" 'formatter': 'detailed',\n" +" },\n" +" 'foofile': {\n" +" 'class': 'logging.FileHandler',\n" +" 'filename': 'mplog-foo.log',\n" +" 'mode': 'w',\n" +" 'formatter': 'detailed',\n" +" },\n" +" 'errors': {\n" +" 'class': 'logging.FileHandler',\n" +" 'filename': 'mplog-errors.log',\n" +" 'mode': 'w',\n" +" 'level': 'ERROR',\n" +" 'formatter': 'detailed',\n" +" },\n" +" },\n" +" 'loggers': {\n" +" 'foo': {\n" +" 'handlers': ['foofile']\n" +" }\n" +" },\n" +" 'root': {\n" +" 'level': 'DEBUG',\n" +" 'handlers': ['console', 'file', 'errors']\n" +" },\n" +" }\n" +" workers = []\n" +" for i in range(5):\n" +" wp = Process(target=worker_process, name='worker %d' % (i + 1), " +"args=(q,))\n" +" workers.append(wp)\n" +" wp.start()\n" +" logging.config.dictConfig(d)\n" +" lp = threading.Thread(target=logger_thread, args=(q,))\n" +" lp.start()\n" +" # W tym momencie główny proces mógłby wykonać jakąś pożyteczną pracę " +"samodzielnie\n" +" # Gdy już to zrobi, może poczekać, aż pracownicy zakończą pracę...\n" +" for wp in workers:\n" +" wp.join()\n" +" # A teraz powiedz wątkowi rejestrującemu, żeby zakończył działanie\n" +" q.put(None)\n" +" lp.join()" msgid "" "This variant shows how you can e.g. apply configuration for particular " @@ -1842,11 +1934,11 @@ msgid "" " executor.submit(worker_process, queue, worker_configurer)" msgstr "" -msgid "Deploying Web applications using Gunicorn and uWSGI" +msgid "Deploying web applications using Gunicorn and uWSGI" msgstr "" msgid "" -"When deploying Web applications using `Gunicorn `_ or " +"When deploying web applications using `Gunicorn `_ or " "`uWSGI `_ (or similar), " "multiple worker processes are created to handle client requests. In such " "environments, avoid creating file-based handlers directly in your web " @@ -4169,7 +4261,6 @@ msgid "" msgstr "" msgid "" -"import datetime\n" "import logging\n" "import random\n" "import sys\n" @@ -4425,7 +4516,7 @@ msgid "" "Although :rfc:`5424` dates from 2009, most syslog servers are configured by " "default to use the older :rfc:`3164`, which hails from 2001. When " "``logging`` was added to Python in 2003, it supported the earlier (and only " -"existing) protocol at the time. Since RFC5424 came out, as there has not " +"existing) protocol at the time. Since RFC 5424 came out, as there has not " "been widespread deployment of it in syslog servers, the :class:`~logging." "handlers.SysLogHandler` functionality has not been updated." msgstr "" @@ -4437,7 +4528,7 @@ msgid "" msgstr "" msgid "" -"import datetime\n" +"import datetime as dt\n" "import logging.handlers\n" "import re\n" "import socket\n" @@ -4455,8 +4546,7 @@ msgid "" "\n" " def format(self, record):\n" " version = 1\n" -" asctime = datetime.datetime.fromtimestamp(record.created)." -"isoformat()\n" +" asctime = dt.datetime.fromtimestamp(record.created).isoformat()\n" " m = self.tz_offset.match(time.strftime('%z'))\n" " has_offset = False\n" " if m and time.timezone:\n" @@ -4692,6 +4782,120 @@ msgid "" "WARNING:demo:ZeroDivisionError: division by zero" msgstr "" +msgid "How to uniformly handle newlines in logging output" +msgstr "" + +msgid "" +"Usually, messages that are logged (say to console or file) consist of a " +"single line of text. However, sometimes there is a need to handle messages " +"with multiple lines - whether because a logging format string contains " +"newlines, or logged data contains newlines. If you want to handle such " +"messages uniformly, so that each line in the logged message appears " +"uniformly formatted as if it was logged separately, you can do this using a " +"handler mixin, as in the following snippet:" +msgstr "" + +msgid "" +"# Assume this is in a module mymixins.py\n" +"import copy\n" +"\n" +"class MultilineMixin:\n" +" def emit(self, record):\n" +" s = record.getMessage()\n" +" if '\\n' not in s:\n" +" super().emit(record)\n" +" else:\n" +" lines = s.splitlines()\n" +" rec = copy.copy(record)\n" +" rec.args = None\n" +" for line in lines:\n" +" rec.msg = line\n" +" super().emit(rec)" +msgstr "" + +msgid "You can use the mixin as in the following script:" +msgstr "" + +msgid "" +"import logging\n" +"\n" +"from mymixins import MultilineMixin\n" +"\n" +"logger = logging.getLogger(__name__)\n" +"\n" +"class StreamHandler(MultilineMixin, logging.StreamHandler):\n" +" pass\n" +"\n" +"if __name__ == '__main__':\n" +" logging.basicConfig(level=logging.DEBUG, format='%(asctime)s " +"%(levelname)-9s %(message)s',\n" +" handlers = [StreamHandler()])\n" +" logger.debug('Single line')\n" +" logger.debug('Multiple lines:\\nfool me once ...')\n" +" logger.debug('Another single line')\n" +" logger.debug('Multiple lines:\\n%s', 'fool me ...\\ncan\\'t get fooled " +"again')" +msgstr "" + +msgid "The script, when run, prints something like:" +msgstr "" + +msgid "" +"2025-07-02 13:54:47,234 DEBUG Single line\n" +"2025-07-02 13:54:47,234 DEBUG Multiple lines:\n" +"2025-07-02 13:54:47,234 DEBUG fool me once ...\n" +"2025-07-02 13:54:47,234 DEBUG Another single line\n" +"2025-07-02 13:54:47,234 DEBUG Multiple lines:\n" +"2025-07-02 13:54:47,234 DEBUG fool me ...\n" +"2025-07-02 13:54:47,234 DEBUG can't get fooled again" +msgstr "" + +msgid "" +"If, on the other hand, you are concerned about `log injection `_, you can use a formatter which " +"escapes newlines, as per the following example:" +msgstr "" + +msgid "" +"import logging\n" +"\n" +"logger = logging.getLogger(__name__)\n" +"\n" +"class EscapingFormatter(logging.Formatter):\n" +" def format(self, record):\n" +" s = super().format(record)\n" +" return s.replace('\\n', r'\\n')\n" +"\n" +"if __name__ == '__main__':\n" +" h = logging.StreamHandler()\n" +" h.setFormatter(EscapingFormatter('%(asctime)s %(levelname)-9s " +"%(message)s'))\n" +" logging.basicConfig(level=logging.DEBUG, handlers = [h])\n" +" logger.debug('Single line')\n" +" logger.debug('Multiple lines:\\nfool me once ...')\n" +" logger.debug('Another single line')\n" +" logger.debug('Multiple lines:\\n%s', 'fool me ...\\ncan\\'t get fooled " +"again')" +msgstr "" + +msgid "" +"You can, of course, use whatever escaping scheme makes the most sense for " +"you. The script, when run, should produce output like this:" +msgstr "" + +msgid "" +"2025-07-09 06:47:33,783 DEBUG Single line\n" +"2025-07-09 06:47:33,783 DEBUG Multiple lines:\\nfool me once ...\n" +"2025-07-09 06:47:33,783 DEBUG Another single line\n" +"2025-07-09 06:47:33,783 DEBUG Multiple lines:\\nfool me ...\\ncan't get " +"fooled again" +msgstr "" + +msgid "" +"Escaping behaviour can't be the stdlib default , as it would break backwards " +"compatibility." +msgstr "" + msgid "Patterns to avoid" msgstr "" diff --git a/howto/logging.po b/howto/logging.po index 6b36d3a287..d11777bd89 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -57,10 +55,10 @@ msgstr "" msgid "" "You can access logging functionality by creating a logger via ``logger = " -"getLogger(__name__)``, and then calling the logger's :meth:`~Logger.debug`, :" -"meth:`~Logger.info`, :meth:`~Logger.warning`, :meth:`~Logger.error` and :" -"meth:`~Logger.critical` methods. To determine when to use logging, and to " -"see which logger methods to use when, see the table below. It states, for " +"logging.getLogger(__name__)``, and then calling the logger's :meth:`~Logger." +"debug`, :meth:`~Logger.info`, :meth:`~Logger.warning`, :meth:`~Logger.error` " +"and :meth:`~Logger.critical` methods. To determine when to use logging, and " +"to see which logger methods to use when, see the table below. It states, for " "each of a set of common tasks, the best tool to use for that task." msgstr "" @@ -438,8 +436,8 @@ msgstr "" msgid "" "If your logging needs are simple, then use the above examples to incorporate " "logging into your own scripts, and if you run into problems or don't " -"understand something, please post a question on the comp.lang.python Usenet " -"group (available at https://groups.google.com/g/comp.lang.python) and you " +"understand something, please post a question in the Help category of the " +"`Python discussion forum `_ and you " "should receive help before too long." msgstr "" diff --git a/howto/mro.po b/howto/mro.po index f3f5a37cf2..c09e33d727 100644 --- a/howto/mro.po +++ b/howto/mro.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2024-04-19 14:15+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/perf_profiling.po b/howto/perf_profiling.po index 4d50638383..78f93f5da4 100644 --- a/howto/perf_profiling.po +++ b/howto/perf_profiling.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2023-05-24 13:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/pyporting.po b/howto/pyporting.po index a74a24baea..3a95cb2e44 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/regex.po b/howto/regex.po index 4edac1bb6f..fbb062c6fc 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Krzysztof Abramowicz, 2022 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -968,6 +964,9 @@ msgid "" " \"|[0-9]+\"\n" " \"|x[0-9a-fA-F]+);\")" msgstr "" +"charref = re.compile(\"&#(0[0-7]+\"\n" +" \"|[0-9]+\"\n" +" \"|x[0-9a-fA-F]+);\")" msgid "" "In the above example, Python's automatic concatenation of string literals " @@ -1061,6 +1060,12 @@ msgid "" ">>> print(re.search('}$', '{block}\\n'))\n" "" msgstr "" +">>> print(re.search('}$', '{block}'))\n" +"\n" +">>> print(re.search('}$', '{block} '))\n" +"None\n" +">>> print(re.search('}$', '{block}\\n'))\n" +"" msgid "" "To match a literal ``'$'``, use ``\\$`` or enclose it inside a character " @@ -1079,7 +1084,7 @@ msgid "" msgstr "" msgid "``\\z``" -msgstr "" +msgstr "``\\z``" msgid "Matches only at the end of the string." msgstr "" @@ -1132,6 +1137,11 @@ msgid "" ">>> print(p.search('\\b' + 'class' + '\\b'))\n" "" msgstr "" +">>> p = re.compile('\\bclass\\b')\n" +">>> print(p.search('no class at all'))\n" +"None\n" +">>> print(p.search('\\b' + 'class' + '\\b'))\n" +"" msgid "" "Second, inside a character class, where there's no use for this assertion, " @@ -1164,6 +1174,10 @@ msgid "" "MIME-Version: 1.0\n" "To: editor@example.com" msgstr "" +"From: author@example.com\n" +"User-Agent: Thunderbird 1.5.0.9 (X11/20061227)\n" +"MIME-Version: 1.0\n" +"To: editor@example.com" msgid "" "This can be handled by writing a regular expression which matches an entire " @@ -1208,6 +1222,12 @@ msgid "" ">>> m.group(0)\n" "'ab'" msgstr "" +">>> p = re.compile('(a)b')\n" +">>> m = p.match('ab')\n" +">>> m.group()\n" +"'ab'\n" +">>> m.group(0)\n" +"'ab'" msgid "" "Subgroups are numbered from left to right, from 1 upward. Groups can be " @@ -1225,6 +1245,14 @@ msgid "" ">>> m.group(2)\n" "'b'" msgstr "" +">>> p = re.compile('(a(b)c)d')\n" +">>> m = p.match('abcd')\n" +">>> m.group(0)\n" +"'abcd'\n" +">>> m.group(1)\n" +"'abc'\n" +">>> m.group(2)\n" +"'b'" msgid "" ":meth:`~re.Match.group` can be passed multiple group numbers at a time, in " @@ -1337,6 +1365,12 @@ msgid "" ">>> m.groups()\n" "()" msgstr "" +">>> m = re.match(\"([abc])+\", \"abc\")\n" +">>> m.groups()\n" +"('c',)\n" +">>> m = re.match(\"(?:[abc])+\", \"abc\")\n" +">>> m.groups()\n" +"()" msgid "" "Except for the fact that you can't retrieve the contents of what the group " @@ -1403,6 +1437,12 @@ msgid "" " r' (?P[-+])(?P[0-9][0-9])(?P[0-9][0-9])'\n" " r'\"')" msgstr "" +"InternalDate = re.compile(r'INTERNALDATE \"'\n" +" r'(?P[ 123][0-9])-(?P[A-Z][a-z][a-z])-'\n" +" r'(?P[0-9][0-9][0-9][0-9])'\n" +" r' (?P[0-9][0-9]):(?P[0-9][0-9]):(?P[0-9][0-9])'\n" +" r' (?P[-+])(?P[0-9][0-9])(?P[0-9][0-9])'\n" +" r'\"')" msgid "" "It's obviously much easier to retrieve ``m.group('zonem')``, instead of " @@ -1484,10 +1524,13 @@ msgid "" "filenames where the extension is not ``bat``? Some incorrect attempts:" msgstr "" +msgid "``.*[.][^b].*$``" +msgstr "``.*[.][^b].*$``" + msgid "" -"``.*[.][^b].*$`` The first attempt above tries to exclude ``bat`` by " -"requiring that the first character of the extension is not a ``b``. This is " -"wrong, because the pattern also doesn't match ``foo.bar``." +"The first attempt above tries to exclude ``bat`` by requiring that the first " +"character of the extension is not a ``b``. This is wrong, because the " +"pattern also doesn't match ``foo.bar``." msgstr "" msgid "``.*[.]([^b]..|.[^a].|..[^t])$``" @@ -1522,13 +1565,16 @@ msgstr "" msgid "A negative lookahead cuts through all this confusion:" msgstr "" +msgid "``.*[.](?!bat$)[^.]*$``" +msgstr "``.*[.](?!bat$)[^.]*$``" + msgid "" -"``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression " -"``bat`` doesn't match at this point, try the rest of the pattern; if " -"``bat$`` does match, the whole pattern will fail. The trailing ``$`` is " -"required to ensure that something like ``sample.batch``, where the extension " -"only starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that " -"the pattern works when there are multiple dots in the filename." +"The negative lookahead means: if the expression ``bat`` doesn't match at " +"this point, try the rest of the pattern; if ``bat$`` does match, the whole " +"pattern will fail. The trailing ``$`` is required to ensure that something " +"like ``sample.batch``, where the extension only starts with ``bat``, will be " +"allowed. The ``[^.]*`` makes sure that the pattern works when there are " +"multiple dots in the filename." msgstr "" msgid "" @@ -1719,6 +1765,9 @@ msgid "" ">>> p.sub(r'subsection{\\1}','section{First} section{second}')\n" "'subsection{First} subsection{second}'" msgstr "" +">>> p = re.compile('section{ ( [^}]* ) }', re.VERBOSE)\n" +">>> p.sub(r'subsection{\\1}','section{First} section{second}')\n" +"'subsection{First} subsection{second}'" msgid "" "There's also a syntax for referring to named groups as defined by the ``(?" @@ -1899,6 +1948,13 @@ msgid "" ">>> print(re.match('<.*>', s).group())\n" "Title" msgstr "" +">>> s = 'Title'\n" +">>> len(s)\n" +"32\n" +">>> print(re.match('<.*>', s).span())\n" +"(0, 32)\n" +">>> print(re.match('<.*>', s).group())\n" +"Title" msgid "" "The RE matches the ``'<'`` in ``''``, and the ``.*`` consumes the rest " @@ -1974,7 +2030,7 @@ msgid "This is far more readable than::" msgstr "Jest to o wiele bardziej czytelne niż::" msgid "pat = re.compile(r\"\\s*(?P
[^:]+)\\s*:(?P.*?)\\s*$\")" -msgstr "" +msgstr "pat = re.compile(r\"\\s*(?P
[^:]+)\\s*:(?P.*?)\\s*$\")" msgid "Feedback" msgstr "Feedback" diff --git a/howto/remote_debugging.po b/howto/remote_debugging.po new file mode 100644 index 0000000000..2f430a9d32 --- /dev/null +++ b/howto/remote_debugging.po @@ -0,0 +1,940 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-04-03 14:38+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Remote debugging attachment protocol" +msgstr "" + +msgid "" +"This protocol enables external tools to attach to a running CPython process " +"and execute Python code remotely." +msgstr "" + +msgid "" +"Most platforms require elevated privileges to attach to another Python " +"process." +msgstr "" + +msgid "Disabling remote debugging" +msgstr "" + +msgid "To disable remote debugging support, use any of the following:" +msgstr "" + +msgid "" +"Set the :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` environment variable to ``1`` " +"before starting the interpreter." +msgstr "" + +msgid "Use the :option:`-X disable_remote_debug` command-line option." +msgstr "" + +msgid "Compile Python with the :option:`--without-remote-debug` build flag." +msgstr "" + +msgid "Permission requirements" +msgstr "" + +msgid "" +"Attaching to a running Python process for remote debugging requires elevated " +"privileges on most platforms. The specific requirements and troubleshooting " +"steps depend on your operating system:" +msgstr "" + +msgid "Linux" +msgstr "" + +msgid "" +"The tracer process must have the ``CAP_SYS_PTRACE`` capability or equivalent " +"privileges. You can only trace processes you own and can signal. Tracing may " +"fail if the process is already being traced, or if it is running with set-" +"user-ID or set-group-ID. Security modules like Yama may further restrict " +"tracing." +msgstr "" + +msgid "To temporarily relax ptrace restrictions (until reboot), run:" +msgstr "" + +msgid "``echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope``" +msgstr "" + +msgid "" +"Disabling ``ptrace_scope`` reduces system hardening and should only be done " +"in trusted environments." +msgstr "" + +msgid "" +"If running inside a container, use ``--cap-add=SYS_PTRACE`` or ``--" +"privileged``, and run as root if needed." +msgstr "" + +msgid "Try re-running the command with elevated privileges:" +msgstr "" + +msgid "``sudo -E !!``" +msgstr "" + +msgid "macOS" +msgstr "macOS" + +msgid "" +"To attach to another process, you typically need to run your debugging tool " +"with elevated privileges. This can be done by using ``sudo`` or running as " +"root." +msgstr "" + +msgid "" +"Even when attaching to processes you own, macOS may block debugging unless " +"the debugger is run with root privileges due to system security restrictions." +msgstr "" + +msgid "Windows" +msgstr "Windows" + +msgid "" +"To attach to another process, you usually need to run your debugging tool " +"with administrative privileges. Start the command prompt or terminal as " +"Administrator." +msgstr "" + +msgid "" +"Some processes may still be inaccessible even with Administrator rights, " +"unless you have the ``SeDebugPrivilege`` privilege enabled." +msgstr "" + +msgid "" +"To resolve file or folder access issues, adjust the security permissions:" +msgstr "" + +msgid "Right-click the file or folder and select **Properties**." +msgstr "" + +msgid "Go to the **Security** tab to view users and groups with access." +msgstr "" + +msgid "Click **Edit** to modify permissions." +msgstr "" + +msgid "Select your user account." +msgstr "" + +msgid "In **Permissions**, check **Read** or **Full control** as needed." +msgstr "" + +msgid "Click **Apply**, then **OK** to confirm." +msgstr "" + +msgid "" +"Ensure you've satisfied all :ref:`permission-requirements` before proceeding." +msgstr "" + +msgid "" +"This section describes the low-level protocol that enables external tools to " +"inject and execute a Python script within a running CPython process." +msgstr "" + +msgid "" +"This mechanism forms the basis of the :func:`sys.remote_exec` function, " +"which instructs a remote Python process to execute a ``.py`` file. However, " +"this section does not document the usage of that function. Instead, it " +"provides a detailed explanation of the underlying protocol, which takes as " +"input the ``pid`` of a target Python process and the path to a Python source " +"file to be executed. This information supports independent reimplementation " +"of the protocol, regardless of programming language." +msgstr "" + +msgid "" +"The execution of the injected script depends on the interpreter reaching a " +"safe evaluation point. As a result, execution may be delayed depending on " +"the runtime state of the target process." +msgstr "" + +msgid "" +"Once injected, the script is executed by the interpreter within the target " +"process the next time a safe evaluation point is reached. This approach " +"enables remote execution capabilities without modifying the behavior or " +"structure of the running Python application." +msgstr "" + +msgid "" +"Subsequent sections provide a step-by-step description of the protocol, " +"including techniques for locating interpreter structures in memory, safely " +"accessing internal fields, and triggering code execution. Platform-specific " +"variations are noted where applicable, and example implementations are " +"included to clarify each operation." +msgstr "" + +msgid "Locating the PyRuntime structure" +msgstr "" + +msgid "" +"CPython places the ``PyRuntime`` structure in a dedicated binary section to " +"help external tools find it at runtime. The name and format of this section " +"vary by platform. For example, ``.PyRuntime`` is used on ELF systems, and " +"``__DATA,__PyRuntime`` is used on macOS. Tools can find the offset of this " +"structure by examining the binary on disk." +msgstr "" + +msgid "" +"The ``PyRuntime`` structure contains CPython’s global interpreter state and " +"provides access to other internal data, including the list of interpreters, " +"thread states, and debugger support fields." +msgstr "" + +msgid "" +"To work with a remote Python process, a debugger must first find the memory " +"address of the ``PyRuntime`` structure in the target process. This address " +"can’t be hardcoded or calculated from a symbol name, because it depends on " +"where the operating system loaded the binary." +msgstr "" + +msgid "" +"The method for finding ``PyRuntime`` depends on the platform, but the steps " +"are the same in general:" +msgstr "" + +msgid "" +"Find the base address where the Python binary or shared library was loaded " +"in the target process." +msgstr "" + +msgid "" +"Use the on-disk binary to locate the offset of the ``.PyRuntime`` section." +msgstr "" + +msgid "" +"Add the section offset to the base address to compute the address in memory." +msgstr "" + +msgid "" +"The sections below explain how to do this on each supported platform and " +"include example code." +msgstr "" + +msgid "Linux (ELF)" +msgstr "" + +msgid "To find the ``PyRuntime`` structure on Linux:" +msgstr "" + +msgid "" +"Read the process’s memory map (for example, ``/proc//maps``) to find " +"the address where the Python executable or ``libpython`` was loaded." +msgstr "" + +msgid "" +"Parse the ELF section headers in the binary to get the offset of the ``." +"PyRuntime`` section." +msgstr "" + +msgid "" +"Add that offset to the base address from step 1 to get the memory address of " +"``PyRuntime``." +msgstr "" + +msgid "The following is an example implementation::" +msgstr "" + +msgid "" +"def find_py_runtime_linux(pid: int) -> int:\n" +" # Step 1: Try to find the Python executable in memory\n" +" binary_path, base_address = find_mapped_binary(\n" +" pid, name_contains=\"python\"\n" +" )\n" +"\n" +" # Step 2: Fallback to shared library if executable is not found\n" +" if binary_path is None:\n" +" binary_path, base_address = find_mapped_binary(\n" +" pid, name_contains=\"libpython\"\n" +" )\n" +"\n" +" # Step 3: Parse ELF headers to get .PyRuntime section offset\n" +" section_offset = parse_elf_section_offset(\n" +" binary_path, \".PyRuntime\"\n" +" )\n" +"\n" +" # Step 4: Compute PyRuntime address in memory\n" +" return base_address + section_offset" +msgstr "" + +msgid "" +"On Linux systems, there are two main approaches to read memory from another " +"process. The first is through the ``/proc`` filesystem, specifically by " +"reading from ``/proc/[pid]/mem`` which provides direct access to the " +"process's memory. This requires appropriate permissions - either being the " +"same user as the target process or having root access. The second approach " +"is using the ``process_vm_readv()`` system call which provides a more " +"efficient way to copy memory between processes. While ptrace's " +"``PTRACE_PEEKTEXT`` operation can also be used to read memory, it is " +"significantly slower as it only reads one word at a time and requires " +"multiple context switches between the tracer and tracee processes." +msgstr "" + +msgid "" +"For parsing ELF sections, the process involves reading and interpreting the " +"ELF file format structures from the binary file on disk. The ELF header " +"contains a pointer to the section header table. Each section header contains " +"metadata about a section including its name (stored in a separate string " +"table), offset, and size. To find a specific section like .PyRuntime, you " +"need to walk through these headers and match the section name. The section " +"header then provides the offset where that section exists in the file, which " +"can be used to calculate its runtime address when the binary is loaded into " +"memory." +msgstr "" + +msgid "" +"You can read more about the ELF file format in the `ELF specification " +"`_." +msgstr "" + +msgid "macOS (Mach-O)" +msgstr "" + +msgid "To find the ``PyRuntime`` structure on macOS:" +msgstr "" + +msgid "" +"Call ``task_for_pid()`` to get the ``mach_port_t`` task port for the target " +"process. This handle is needed to read memory using APIs like " +"``mach_vm_read_overwrite`` and ``mach_vm_region``." +msgstr "" + +msgid "" +"Scan the memory regions to find the one containing the Python executable or " +"``libpython``." +msgstr "" + +msgid "" +"Load the binary file from disk and parse the Mach-O headers to find the " +"section named ``PyRuntime`` in the ``__DATA`` segment. On macOS, symbol " +"names are automatically prefixed with an underscore, so the ``PyRuntime`` " +"symbol appears as ``_PyRuntime`` in the symbol table, but the section name " +"is not affected." +msgstr "" + +msgid "" +"def find_py_runtime_macos(pid: int) -> int:\n" +" # Step 1: Get access to the process's memory\n" +" handle = get_memory_access_handle(pid)\n" +"\n" +" # Step 2: Try to find the Python executable in memory\n" +" binary_path, base_address = find_mapped_binary(\n" +" handle, name_contains=\"python\"\n" +" )\n" +"\n" +" # Step 3: Fallback to libpython if the executable is not found\n" +" if binary_path is None:\n" +" binary_path, base_address = find_mapped_binary(\n" +" handle, name_contains=\"libpython\"\n" +" )\n" +"\n" +" # Step 4: Parse Mach-O headers to get __DATA,__PyRuntime section offset\n" +" section_offset = parse_macho_section_offset(\n" +" binary_path, \"__DATA\", \"__PyRuntime\"\n" +" )\n" +"\n" +" # Step 5: Compute the PyRuntime address in memory\n" +" return base_address + section_offset" +msgstr "" + +msgid "" +"On macOS, accessing another process's memory requires using Mach-O specific " +"APIs and file formats. The first step is obtaining a ``task_port`` handle " +"via ``task_for_pid()``, which provides access to the target process's memory " +"space. This handle enables memory operations through APIs like " +"``mach_vm_read_overwrite()``." +msgstr "" + +msgid "" +"The process memory can be examined using ``mach_vm_region()`` to scan " +"through the virtual memory space, while ``proc_regionfilename()`` helps " +"identify which binary files are loaded at each memory region. When the " +"Python binary or library is found, its Mach-O headers need to be parsed to " +"locate the ``PyRuntime`` structure." +msgstr "" + +msgid "" +"The Mach-O format organizes code and data into segments and sections. The " +"``PyRuntime`` structure lives in a section named ``__PyRuntime`` within the " +"``__DATA`` segment. The actual runtime address calculation involves finding " +"the ``__TEXT`` segment which serves as the binary's base address, then " +"locating the ``__DATA`` segment containing our target section. The final " +"address is computed by combining the base address with the appropriate " +"section offsets from the Mach-O headers." +msgstr "" + +msgid "" +"Note that accessing another process's memory on macOS typically requires " +"elevated privileges - either root access or special security entitlements " +"granted to the debugging process." +msgstr "" + +msgid "Windows (PE)" +msgstr "" + +msgid "To find the ``PyRuntime`` structure on Windows:" +msgstr "" + +msgid "" +"Use the ToolHelp API to enumerate all modules loaded in the target process. " +"This is done using functions such as `CreateToolhelp32Snapshot `_, `Module32First `_, and " +"`Module32Next `_." +msgstr "" + +msgid "" +"Identify the module corresponding to :file:`python.exe` or :file:`python{XY}." +"dll`, where ``X`` and ``Y`` are the major and minor version numbers of the " +"Python version, and record its base address." +msgstr "" + +msgid "" +"Locate the ``PyRuntim`` section. Due to the PE format's 8-character limit on " +"section names (defined as ``IMAGE_SIZEOF_SHORT_NAME``), the original name " +"``PyRuntime`` is truncated. This section contains the ``PyRuntime`` " +"structure." +msgstr "" + +msgid "" +"Retrieve the section’s relative virtual address (RVA) and add it to the base " +"address of the module." +msgstr "" + +msgid "" +"def find_py_runtime_windows(pid: int) -> int:\n" +" # Step 1: Try to find the Python executable in memory\n" +" binary_path, base_address = find_loaded_module(\n" +" pid, name_contains=\"python\"\n" +" )\n" +"\n" +" # Step 2: Fallback to shared pythonXY.dll if the executable is not\n" +" # found\n" +" if binary_path is None:\n" +" binary_path, base_address = find_loaded_module(\n" +" pid, name_contains=\"python3\"\n" +" )\n" +"\n" +" # Step 3: Parse PE section headers to get the RVA of the PyRuntime\n" +" # section. The section name appears as \"PyRuntim\" due to the\n" +" # 8-character limit defined by the PE format (IMAGE_SIZEOF_SHORT_NAME).\n" +" section_rva = parse_pe_section_offset(binary_path, \"PyRuntim\")\n" +"\n" +" # Step 4: Compute PyRuntime address in memory\n" +" return base_address + section_rva" +msgstr "" + +msgid "" +"On Windows, accessing another process's memory requires using the Windows " +"API functions like ``CreateToolhelp32Snapshot()`` and ``Module32First()/" +"Module32Next()`` to enumerate loaded modules. The ``OpenProcess()`` function " +"provides a handle to access the target process's memory space, enabling " +"memory operations through ``ReadProcessMemory()``." +msgstr "" + +msgid "" +"The process memory can be examined by enumerating loaded modules to find the " +"Python binary or DLL. When found, its PE headers need to be parsed to locate " +"the ``PyRuntime`` structure." +msgstr "" + +msgid "" +"The PE format organizes code and data into sections. The ``PyRuntime`` " +"structure lives in a section named \"PyRuntim\" (truncated from " +"\"PyRuntime\" due to PE's 8-character name limit). The actual runtime " +"address calculation involves finding the module's base address from the " +"module entry, then locating our target section in the PE headers. The final " +"address is computed by combining the base address with the section's virtual " +"address from the PE section headers." +msgstr "" + +msgid "" +"Note that accessing another process's memory on Windows typically requires " +"appropriate privileges - either administrative access or the " +"``SeDebugPrivilege`` privilege granted to the debugging process." +msgstr "" + +msgid "Reading _Py_DebugOffsets" +msgstr "" + +msgid "" +"Once the address of the ``PyRuntime`` structure has been determined, the " +"next step is to read the ``_Py_DebugOffsets`` structure located at the " +"beginning of the ``PyRuntime`` block." +msgstr "" + +msgid "" +"This structure provides version-specific field offsets that are needed to " +"safely read interpreter and thread state memory. These offsets vary between " +"CPython versions and must be checked before use to ensure they are " +"compatible." +msgstr "" + +msgid "To read and check the debug offsets, follow these steps:" +msgstr "" + +msgid "" +"Read memory from the target process starting at the ``PyRuntime`` address, " +"covering the same number of bytes as the ``_Py_DebugOffsets`` structure. " +"This structure is located at the very start of the ``PyRuntime`` memory " +"block. Its layout is defined in CPython’s internal headers and stays the " +"same within a given minor version, but may change in major versions." +msgstr "" + +msgid "Check that the structure contains valid data:" +msgstr "" + +msgid "The ``cookie`` field must match the expected debug marker." +msgstr "" + +msgid "" +"The ``version`` field must match the version of the Python interpreter used " +"by the debugger." +msgstr "" + +msgid "" +"If either the debugger or the target process is using a pre-release version " +"(for example, an alpha, beta, or release candidate), the versions must match " +"exactly." +msgstr "" + +msgid "" +"The ``free_threaded`` field must have the same value in both the debugger " +"and the target process." +msgstr "" + +msgid "" +"If the structure is valid, the offsets it contains can be used to locate " +"fields in memory. If any check fails, the debugger should stop the operation " +"to avoid reading memory in the wrong format." +msgstr "" + +msgid "" +"The following is an example implementation that reads and checks " +"``_Py_DebugOffsets``::" +msgstr "" + +msgid "" +"def read_debug_offsets(pid: int, py_runtime_addr: int) -> DebugOffsets:\n" +" # Step 1: Read memory from the target process at the PyRuntime address\n" +" data = read_process_memory(\n" +" pid, address=py_runtime_addr, size=DEBUG_OFFSETS_SIZE\n" +" )\n" +"\n" +" # Step 2: Deserialize the raw bytes into a _Py_DebugOffsets structure\n" +" debug_offsets = parse_debug_offsets(data)\n" +"\n" +" # Step 3: Validate the contents of the structure\n" +" if debug_offsets.cookie != EXPECTED_COOKIE:\n" +" raise RuntimeError(\"Invalid or missing debug cookie\")\n" +" if debug_offsets.version != LOCAL_PYTHON_VERSION:\n" +" raise RuntimeError(\n" +" \"Mismatch between caller and target Python versions\"\n" +" )\n" +" if debug_offsets.free_threaded != LOCAL_FREE_THREADED:\n" +" raise RuntimeError(\"Mismatch in free-threaded configuration\")\n" +"\n" +" return debug_offsets" +msgstr "" + +msgid "**Process suspension recommended**" +msgstr "" + +msgid "" +"To avoid race conditions and ensure memory consistency, it is strongly " +"recommended that the target process be suspended before performing any " +"operations that read or write internal interpreter state. The Python runtime " +"may concurrently mutate interpreter data structures—such as creating or " +"destroying threads—during normal execution. This can result in invalid " +"memory reads or writes." +msgstr "" + +msgid "" +"A debugger may suspend execution by attaching to the process with ``ptrace`` " +"or by sending a ``SIGSTOP`` signal. Execution should only be resumed after " +"debugger-side memory operations are complete." +msgstr "" + +msgid "" +"Some tools, such as profilers or sampling-based debuggers, may operate on a " +"running process without suspension. In such cases, tools must be explicitly " +"designed to handle partially updated or inconsistent memory. For most " +"debugger implementations, suspending the process remains the safest and most " +"robust approach." +msgstr "" + +msgid "Locating the interpreter and thread state" +msgstr "" + +msgid "" +"Before code can be injected and executed in a remote Python process, the " +"debugger must choose a thread in which to schedule execution. This is " +"necessary because the control fields used to perform remote code injection " +"are located in the ``_PyRemoteDebuggerSupport`` structure, which is embedded " +"in a ``PyThreadState`` object. These fields are modified by the debugger to " +"request execution of injected scripts." +msgstr "" + +msgid "" +"The ``PyThreadState`` structure represents a thread running inside a Python " +"interpreter. It maintains the thread’s evaluation context and contains the " +"fields required for debugger coordination. Locating a valid " +"``PyThreadState`` is therefore a key prerequisite for triggering execution " +"remotely." +msgstr "" + +msgid "" +"A thread is typically selected based on its role or ID. In most cases, the " +"main thread is used, but some tools may target a specific thread by its " +"native thread ID. Once the target thread is chosen, the debugger must locate " +"both the interpreter and the associated thread state structures in memory." +msgstr "" + +msgid "The relevant internal structures are defined as follows:" +msgstr "" + +msgid "" +"``PyInterpreterState`` represents an isolated Python interpreter instance. " +"Each interpreter maintains its own set of imported modules, built-in state, " +"and thread state list. Although most Python applications use a single " +"interpreter, CPython supports multiple interpreters in the same process." +msgstr "" + +msgid "" +"``PyThreadState`` represents a thread running within an interpreter. It " +"contains execution state and the control fields used by the debugger." +msgstr "" + +msgid "To locate a thread:" +msgstr "" + +msgid "" +"Use the offset ``runtime_state.interpreters_head`` to obtain the address of " +"the first interpreter in the ``PyRuntime`` structure. This is the entry " +"point to the linked list of active interpreters." +msgstr "" + +msgid "" +"Use the offset ``interpreter_state.threads_main`` to access the main thread " +"state associated with the selected interpreter. This is typically the most " +"reliable thread to target." +msgstr "" + +msgid "" +"Optionally, use the offset ``interpreter_state.threads_head`` to iterate " +"through the linked list of all thread states. Each ``PyThreadState`` " +"structure contains a ``native_thread_id`` field, which may be compared to a " +"target thread ID to find a specific thread." +msgstr "" + +msgid "" +"Once a valid ``PyThreadState`` has been found, its address can be used in " +"later steps of the protocol, such as writing debugger control fields and " +"scheduling execution." +msgstr "" + +msgid "" +"The following is an example implementation that locates the main thread " +"state::" +msgstr "" + +msgid "" +"def find_main_thread_state(\n" +" pid: int, py_runtime_addr: int, debug_offsets: DebugOffsets,\n" +") -> int:\n" +" # Step 1: Read interpreters_head from PyRuntime\n" +" interp_head_ptr = (\n" +" py_runtime_addr + debug_offsets.runtime_state.interpreters_head\n" +" )\n" +" interp_addr = read_pointer(pid, interp_head_ptr)\n" +" if interp_addr == 0:\n" +" raise RuntimeError(\"No interpreter found in the target process\")\n" +"\n" +" # Step 2: Read the threads_main pointer from the interpreter\n" +" threads_main_ptr = (\n" +" interp_addr + debug_offsets.interpreter_state.threads_main\n" +" )\n" +" thread_state_addr = read_pointer(pid, threads_main_ptr)\n" +" if thread_state_addr == 0:\n" +" raise RuntimeError(\"Main thread state is not available\")\n" +"\n" +" return thread_state_addr" +msgstr "" + +msgid "" +"The following example demonstrates how to locate a thread by its native " +"thread ID::" +msgstr "" + +msgid "" +"def find_thread_by_id(\n" +" pid: int,\n" +" interp_addr: int,\n" +" debug_offsets: DebugOffsets,\n" +" target_tid: int,\n" +") -> int:\n" +" # Start at threads_head and walk the linked list\n" +" thread_ptr = read_pointer(\n" +" pid,\n" +" interp_addr + debug_offsets.interpreter_state.threads_head\n" +" )\n" +"\n" +" while thread_ptr:\n" +" native_tid_ptr = (\n" +" thread_ptr + debug_offsets.thread_state.native_thread_id\n" +" )\n" +" native_tid = read_int(pid, native_tid_ptr)\n" +" if native_tid == target_tid:\n" +" return thread_ptr\n" +" thread_ptr = read_pointer(\n" +" pid,\n" +" thread_ptr + debug_offsets.thread_state.next\n" +" )\n" +"\n" +" raise RuntimeError(\"Thread with the given ID was not found\")" +msgstr "" + +msgid "" +"Once a valid thread state has been located, the debugger can proceed with " +"modifying its control fields and scheduling execution, as described in the " +"next section." +msgstr "" + +msgid "Writing control information" +msgstr "" + +msgid "" +"Once a valid ``PyThreadState`` structure has been identified, the debugger " +"may modify control fields within it to schedule the execution of a specified " +"Python script. These control fields are checked periodically by the " +"interpreter, and when set correctly, they trigger the execution of remote " +"code at a safe point in the evaluation loop." +msgstr "" + +msgid "" +"Each ``PyThreadState`` contains a ``_PyRemoteDebuggerSupport`` structure " +"used for communication between the debugger and the interpreter. The " +"locations of its fields are defined by the ``_Py_DebugOffsets`` structure " +"and include the following:" +msgstr "" + +msgid "" +"``debugger_script_path``: A fixed-size buffer that holds the full path to a " +"Python source file (``.py``). This file must be accessible and readable by " +"the target process when execution is triggered." +msgstr "" + +msgid "" +"``debugger_pending_call``: An integer flag. Setting this to ``1`` tells the " +"interpreter that a script is ready to be executed." +msgstr "" + +msgid "" +"``eval_breaker``: A field checked by the interpreter during execution. " +"Setting bit 5 (``_PY_EVAL_PLEASE_STOP_BIT``, value ``1U << 5``) in this " +"field causes the interpreter to pause and check for debugger activity." +msgstr "" + +msgid "" +"To complete the injection, the debugger must perform the following steps:" +msgstr "" + +msgid "Write the full script path into the ``debugger_script_path`` buffer." +msgstr "" + +msgid "Set ``debugger_pending_call`` to ``1``." +msgstr "" + +msgid "" +"Read the current value of ``eval_breaker``, set bit 5 " +"(``_PY_EVAL_PLEASE_STOP_BIT``), and write the updated value back. This " +"signals the interpreter to check for debugger activity." +msgstr "" + +msgid "" +"def inject_script(\n" +" pid: int,\n" +" thread_state_addr: int,\n" +" debug_offsets: DebugOffsets,\n" +" script_path: str\n" +") -> None:\n" +" # Compute the base offset of _PyRemoteDebuggerSupport\n" +" support_base = (\n" +" thread_state_addr +\n" +" debug_offsets.debugger_support.remote_debugger_support\n" +" )\n" +"\n" +" # Step 1: Write the script path into debugger_script_path\n" +" script_path_ptr = (\n" +" support_base +\n" +" debug_offsets.debugger_support.debugger_script_path\n" +" )\n" +" write_string(pid, script_path_ptr, script_path)\n" +"\n" +" # Step 2: Set debugger_pending_call to 1\n" +" pending_ptr = (\n" +" support_base +\n" +" debug_offsets.debugger_support.debugger_pending_call\n" +" )\n" +" write_int(pid, pending_ptr, 1)\n" +"\n" +" # Step 3: Set _PY_EVAL_PLEASE_STOP_BIT (bit 5, value 1 << 5) in\n" +" # eval_breaker\n" +" eval_breaker_ptr = (\n" +" thread_state_addr +\n" +" debug_offsets.debugger_support.eval_breaker\n" +" )\n" +" breaker = read_int(pid, eval_breaker_ptr)\n" +" breaker |= (1 << 5)\n" +" write_int(pid, eval_breaker_ptr, breaker)" +msgstr "" + +msgid "" +"Once these fields are set, the debugger may resume the process (if it was " +"suspended). The interpreter will process the request at the next safe " +"evaluation point, load the script from disk, and execute it." +msgstr "" + +msgid "" +"It is the responsibility of the debugger to ensure that the script file " +"remains present and accessible to the target process during execution." +msgstr "" + +msgid "" +"Script execution is asynchronous. The script file cannot be deleted " +"immediately after injection. The debugger should wait until the injected " +"script has produced an observable effect before removing the file. This " +"effect depends on what the script is designed to do. For example, a debugger " +"might wait until the remote process connects back to a socket before " +"removing the script. Once such an effect is observed, it is safe to assume " +"the file is no longer needed." +msgstr "" + +msgid "Summary" +msgstr "" + +msgid "To inject and execute a Python script in a remote process:" +msgstr "" + +msgid "Locate the ``PyRuntime`` structure in the target process’s memory." +msgstr "" + +msgid "" +"Read and validate the ``_Py_DebugOffsets`` structure at the beginning of " +"``PyRuntime``." +msgstr "" + +msgid "Use the offsets to locate a valid ``PyThreadState``." +msgstr "" + +msgid "Write the path to a Python script into ``debugger_script_path``." +msgstr "" + +msgid "Set the ``debugger_pending_call`` flag to ``1``." +msgstr "" + +msgid "Set ``_PY_EVAL_PLEASE_STOP_BIT`` in the ``eval_breaker`` field." +msgstr "" + +msgid "" +"Resume the process (if suspended). The script will execute at the next safe " +"evaluation point." +msgstr "" + +msgid "Security and threat model" +msgstr "" + +msgid "" +"The remote debugging protocol relies on the same operating system primitives " +"used by native debuggers such as GDB and LLDB. Attaching to a process " +"requires the **same privileges** that those debuggers require, for example " +"``ptrace`` / Yama LSM on Linux, ``task_for_pid`` on macOS, and " +"``SeDebugPrivilege`` on Windows. Python does not introduce any new " +"privilege escalation path; if an attacker already possesses the permissions " +"needed to attach to a process, they could equally use GDB to read memory or " +"inject code." +msgstr "" + +msgid "" +"The following principles define what is, and is not, considered a security " +"vulnerability in this feature:" +msgstr "" + +msgid "Attaching requires OS-level privileges" +msgstr "" + +msgid "" +"On every supported platform the operating system gates cross-process memory " +"access behind privilege checks (``CAP_SYS_PTRACE``, root, or administrator " +"rights). A report that demonstrates an issue only after these privileges " +"have already been obtained is **not** a vulnerability in CPython, since the " +"OS security boundary was already crossed." +msgstr "" + +msgid "" +"Crashes or memory errors when reading a compromised process are not " +"vulnerabilities" +msgstr "" + +msgid "" +"A tool that reads internal interpreter state from a target process must " +"trust that memory to be well-formed. If the target process has been " +"corrupted or is controlled by an attacker, the debugger or profiler may " +"crash, produce garbage output, or behave unpredictably. This is the same " +"risk accepted by every ``ptrace``-based debugger. Bugs in this category " +"(buffer overflows, segmentation faults, or undefined behaviour triggered by " +"reading corrupted state) are **not** treated as security issues, though " +"fixes that improve robustness are welcome." +msgstr "" + +msgid "Vulnerabilities in the target process are not in scope" +msgstr "" + +msgid "" +"If the Python process being debugged has already been compromised, the " +"attacker already controls execution in that process. Demonstrating further " +"impact from that starting point does not constitute a vulnerability in the " +"remote debugging protocol." +msgstr "" + +msgid "When to use ``PYTHON_DISABLE_REMOTE_DEBUG``" +msgstr "" + +msgid "" +"The environment variable :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` (and the " +"equivalent :option:`-X disable_remote_debug` flag) allows operators to " +"disable the in-process side of the protocol as a **defence-in-depth** " +"measure. This may be useful in hardened or sandboxed deployment " +"environments where no debugging or profiling of the process is expected and " +"reducing attack surface is a priority, even though the OS-level privilege " +"checks already prevent unprivileged access." +msgstr "" + +msgid "" +"Setting this variable does **not** affect other OS-level debugging " +"interfaces (``ptrace``, ``/proc``, ``task_for_pid``, etc.), which remain " +"available according to their own permission models." +msgstr "" diff --git a/howto/sockets.po b/howto/sockets.po index 094b636521..9b4419c9bd 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/sorting.po b/howto/sorting.po index 559567258e..3417650c87 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/timerfd.po b/howto/timerfd.po index bd374184ba..50c9d5cf45 100644 --- a/howto/timerfd.po +++ b/howto/timerfd.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:08+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/unicode.po b/howto/unicode.po index 26302fc844..a97119b8e6 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/howto/urllib2.po b/howto/urllib2.po index 9a6dd2a117..60780c22f2 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,7 +42,7 @@ msgstr "" msgid "" "`Basic Authentication `_" +"voidspace.org.uk/python/articles/authentication.shtml>`__" msgstr "" msgid "A tutorial on *Basic Authentication*, with examples in Python." @@ -340,77 +337,32 @@ msgstr "" msgid "" ":attr:`http.server.BaseHTTPRequestHandler.responses` is a useful dictionary " -"of response codes in that shows all the response codes used by :rfc:`2616`. " -"The dictionary is reproduced here for convenience ::" +"of response codes that shows all the response codes used by :rfc:`2616`. An " +"excerpt from the dictionary is shown below ::" msgstr "" msgid "" -"# Table mapping response codes to messages; entries have the\n" -"# form {code: (shortmessage, longmessage)}.\n" "responses = {\n" -" 100: ('Continue', 'Request received, please continue'),\n" -" 101: ('Switching Protocols',\n" -" 'Switching to new protocol; obey Upgrade header'),\n" -"\n" -" 200: ('OK', 'Request fulfilled, document follows'),\n" -" 201: ('Created', 'Document created, URL follows'),\n" -" 202: ('Accepted',\n" -" 'Request accepted, processing continues off-line'),\n" -" 203: ('Non-Authoritative Information', 'Request fulfilled from cache'),\n" -" 204: ('No Content', 'Request fulfilled, nothing follows'),\n" -" 205: ('Reset Content', 'Clear input form for further input.'),\n" -" 206: ('Partial Content', 'Partial content follows.'),\n" -"\n" -" 300: ('Multiple Choices',\n" -" 'Object has several resources -- see URI list'),\n" -" 301: ('Moved Permanently', 'Object moved permanently -- see URI list'),\n" -" 302: ('Found', 'Object moved temporarily -- see URI list'),\n" -" 303: ('See Other', 'Object moved -- see Method and URL list'),\n" -" 304: ('Not Modified',\n" -" 'Document has not changed since given time'),\n" -" 305: ('Use Proxy',\n" -" 'You must use proxy specified in Location to access this '\n" -" 'resource.'),\n" -" 307: ('Temporary Redirect',\n" -" 'Object moved temporarily -- see URI list'),\n" -"\n" -" 400: ('Bad Request',\n" -" 'Bad request syntax or unsupported method'),\n" -" 401: ('Unauthorized',\n" -" 'No permission -- see authorization schemes'),\n" -" 402: ('Payment Required',\n" -" 'No payment -- see charging schemes'),\n" -" 403: ('Forbidden',\n" -" 'Request forbidden -- authorization will not help'),\n" -" 404: ('Not Found', 'Nothing matches the given URI'),\n" -" 405: ('Method Not Allowed',\n" -" 'Specified method is invalid for this server.'),\n" -" 406: ('Not Acceptable', 'URI not available in preferred format.'),\n" -" 407: ('Proxy Authentication Required', 'You must authenticate with '\n" -" 'this proxy before proceeding.'),\n" -" 408: ('Request Timeout', 'Request timed out; try again later.'),\n" -" 409: ('Conflict', 'Request conflict.'),\n" -" 410: ('Gone',\n" -" 'URI no longer exists and has been permanently removed.'),\n" -" 411: ('Length Required', 'Client must specify Content-Length.'),\n" -" 412: ('Precondition Failed', 'Precondition in headers is false.'),\n" -" 413: ('Request Entity Too Large', 'Entity is too large.'),\n" -" 414: ('Request-URI Too Long', 'URI is too long.'),\n" -" 415: ('Unsupported Media Type', 'Entity body in unsupported format.'),\n" -" 416: ('Requested Range Not Satisfiable',\n" -" 'Cannot satisfy request range.'),\n" -" 417: ('Expectation Failed',\n" -" 'Expect condition could not be satisfied.'),\n" -"\n" -" 500: ('Internal Server Error', 'Server got itself in trouble'),\n" -" 501: ('Not Implemented',\n" -" 'Server does not support this operation'),\n" -" 502: ('Bad Gateway', 'Invalid responses from another server/proxy.'),\n" -" 503: ('Service Unavailable',\n" -" 'The server cannot process the request due to a high load'),\n" -" 504: ('Gateway Timeout',\n" -" 'The gateway server did not receive a timely response'),\n" -" 505: ('HTTP Version Not Supported', 'Cannot fulfill request.'),\n" +" ...\n" +" : ('OK', 'Request fulfilled, document follows'),\n" +" ...\n" +" : ('Forbidden',\n" +" 'Request forbidden -- authorization will " +"'\n" +" 'not help'),\n" +" : ('Not Found',\n" +" 'Nothing matches the given URI'),\n" +" ...\n" +" : (\"I'm a Teapot\",\n" +" 'Server refuses to brew coffee because " +"'\n" +" 'it is a teapot'),\n" +" ...\n" +" : ('Service Unavailable',\n" +" 'The server cannot process the " +"'\n" +" 'request due to a high load'),\n" +" ...\n" " }" msgstr "" diff --git a/improve-page-nojs.po b/improve-page-nojs.po new file mode 100644 index 0000000000..ee6e00ede9 --- /dev/null +++ b/improve-page-nojs.po @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Mariusz Krzaczkowski, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2026-02-19 14:44+0000\n" +"Last-Translator: Mariusz Krzaczkowski, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Improve a documentation page" +msgstr "Ulepsz stronę dokumentacji" + +msgid "" +"We are always interested to hear ideas about improvements to the " +"documentation." +msgstr "Zawsze chętnie poznamy pomysły na udoskonalenie dokumentacji." + +msgid "" +"If the bug or suggested improvement concerns the translation of this " +"documentation, open an issue or edit the page in `translation's repository " +"`_ instead." +msgstr "" + +msgid "You have a few ways to ask questions or suggest changes:" +msgstr "Masz kilka sposobów, aby zadać pytania lub zaproponować zmiany:" + +msgid "" +"You can start a discussion about the page on the Python discussion forum. " +"This link will start a topic in the Documentation category: `New " +"Documentation topic `_." +msgstr "" + +msgid "" +"You can open an issue on the Python GitHub issue tracker. This link will " +"create a new issue with the \"docs\" label: `New docs issue `_." +msgstr "" diff --git a/improve-page.po b/improve-page.po new file mode 100644 index 0000000000..c6c154199a --- /dev/null +++ b/improve-page.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Mariusz Krzaczkowski, 2026 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2026-02-19 14:44+0000\n" +"Last-Translator: Mariusz Krzaczkowski, 2026\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Improve a documentation page" +msgstr "Ulepsz stronę dokumentacji" + +msgid "" +"We are always interested to hear ideas about improvements to the " +"documentation." +msgstr "Zawsze chętnie poznamy pomysły na udoskonalenie dokumentacji." + +msgid "" +"You were reading \"PAGETITLE\" at ``_. The source for that page is " +"on `GitHub `_." +msgstr "" +"Czytałeś „PAGETITLE” pod adresem ``_. Źródło tej strony znajduje " +"się w serwisie `GitHub `_." + +msgid "" +"If the bug or suggested improvement concerns the translation of this " +"documentation, open an issue or edit the page in `translation's repository " +"`_ instead." +msgstr "" + +msgid "You have a few ways to ask questions or suggest changes:" +msgstr "Masz kilka sposobów, aby zadać pytania lub zaproponować zmiany:" + +msgid "" +"You can start a discussion about the page on the Python discussion forum. " +"This link will start a pre-populated topic: `Question about page " +"\"PAGETITLE\" `_." +msgstr "" + +msgid "" +"You can open an issue on the Python GitHub issue tracker. This link will " +"create a new pre-populated issue: `Docs: problem with page \"PAGETITLE\" " +"`_." +msgstr "" + +msgid "" +"You can `edit the page on GitHub `_ to open a pull request and begin the " +"contribution process." +msgstr "" diff --git a/installing/index.po b/installing/index.po index ef08d81ecb..79c2afcbf2 100644 --- a/installing/index.po +++ b/installing/index.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Wierzbicki , 2021 -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,12 +26,6 @@ msgstr "" msgid "Installing Python Modules" msgstr "Instalacja modułów Pythona" -msgid "Email" -msgstr "Email" - -msgid "distutils-sig@python.org" -msgstr "distutils-sig@python.org" - msgid "" "As a popular open source development project, Python has an active " "supporting community of contributors and users that also make their software " diff --git a/library/__future__.po b/library/__future__.po index 6cce2d926e..800fdb044d 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,7 +39,7 @@ msgstr "" msgid "" "While these future statements are given additional special meaning by the " "Python compiler, they are still executed like any other import statement and " -"the :mod:`__future__` exists and is handled by the import system the same " +"the :mod:`!__future__` exists and is handled by the import system the same " "way any other Python module would be. This design serves three purposes:" msgstr "" @@ -55,14 +53,14 @@ msgstr "" msgid "" "To document when incompatible changes were introduced, and when they will be " "--- or were --- made mandatory. This is a form of executable documentation, " -"and can be inspected programmatically via importing :mod:`__future__` and " +"and can be inspected programmatically via importing :mod:`!__future__` and " "examining its contents." msgstr "" msgid "" "To ensure that :ref:`future statements ` run under releases prior to " -"Python 2.1 at least yield runtime exceptions (the import of :mod:" -"`__future__` will fail, because there was no module of that name prior to " +"Python 2.1 at least yield runtime exceptions (the import of :mod:`!" +"__future__` will fail, because there was no module of that name prior to " "2.1)." msgstr "" @@ -70,7 +68,7 @@ msgid "Module Contents" msgstr "" msgid "" -"No feature description will ever be deleted from :mod:`__future__`. Since " +"No feature description will ever be deleted from :mod:`!__future__`. Since " "its introduction in Python 2.1 the following features have found their way " "into the language using this mechanism:" msgstr "" @@ -87,9 +85,6 @@ msgstr "obowiązkowe w" msgid "effect" msgstr "" -msgid "nested_scopes" -msgstr "nested_scopes" - msgid "2.1.0b1" msgstr "2.1.0b1" @@ -99,9 +94,6 @@ msgstr "2.2" msgid ":pep:`227`: *Statically Nested Scopes*" msgstr "" -msgid "generators" -msgstr "generatory" - msgid "2.2.0a1" msgstr "2.2.0a1" @@ -111,9 +103,6 @@ msgstr "2.3" msgid ":pep:`255`: *Simple Generators*" msgstr "" -msgid "division" -msgstr "podział" - msgid "2.2.0a2" msgstr "2.2.0a2" @@ -123,42 +112,27 @@ msgstr "3.0" msgid ":pep:`238`: *Changing the Division Operator*" msgstr ":pep:`238`: *Zmiana operatora podziału*" -msgid "absolute_import" -msgstr "absolute_import" - msgid "2.5.0a1" msgstr "2.5.0a1" msgid ":pep:`328`: *Imports: Multi-Line and Absolute/Relative*" msgstr "" -msgid "with_statement" -msgstr "with_statement" - msgid "2.6" msgstr "2.6" -msgid ":pep:`343`: *The \"with\" Statement*" +msgid ":pep:`343`: *The “with” Statement*" msgstr "" -msgid "print_function" -msgstr "print_function" - msgid "2.6.0a2" msgstr "2.6.0a2" msgid ":pep:`3105`: *Make print a function*" msgstr "" -msgid "unicode_literals" -msgstr "unicode_literals" - msgid ":pep:`3112`: *Bytes literals in Python 3000*" msgstr "" -msgid "generator_stop" -msgstr "generator_stop" - msgid "3.5.0b1" msgstr "3.5.0b1" @@ -168,9 +142,6 @@ msgstr "3.7" msgid ":pep:`479`: *StopIteration handling inside generators*" msgstr "" -msgid "annotations" -msgstr "anotacje" - msgid "3.7.0b1" msgstr "3.7.0b1" diff --git a/library/__main__.po b/library/__main__.po index 255053daa4..d27a872889 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/_thread.po b/library/_thread.po index 57857c2788..bdb40ffcd6 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/abc.po b/library/abc.po index fafd26d61d..7b9345f2b3 100644 --- a/library/abc.po +++ b/library/abc.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/annotationlib.po b/library/annotationlib.po index 6890690e9e..56972d1c95 100644 --- a/library/annotationlib.po +++ b/library/annotationlib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 -# Tomasz Rodzen , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Last-Translator: Tomasz Rodzen , 2025\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!annotationlib` --- Functionality for introspecting annotations" msgstr "" msgid "**Source code:** :source:`Lib/annotationlib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/annotationlib.py`" msgid "" "The :mod:`!annotationlib` module provides tools for introspecting :term:" @@ -77,6 +76,11 @@ msgid "" "function for working with :term:`evaluate functions `." msgstr "" +msgid "" +"Most functionality in this module can execute arbitrary code; see :ref:`the " +"security section ` for more information." +msgstr "" + msgid "" ":pep:`649` proposed the current model for how annotations work in Python." msgstr "" @@ -274,6 +278,12 @@ msgid "" "be necessary to evaluate them successfully." msgstr "" +msgid "" +"If no *owner*, *globals*, *locals*, or *type_params* are provided and the :" +"class:`~ForwardRef` does not contain information about its origin, empty " +"globals and locals dictionaries are used." +msgstr "" + msgid "Functions" msgstr "Zadania" @@ -420,12 +430,31 @@ msgid "" "__annotations__` is tried again and any error from accessing it is re-raised." msgstr "" +msgid "" +"When calling :attr:`!object.__annotate__` it is first called with :attr:" +"`~Format.FORWARDREF`. If this is not implemented, it will then check if :" +"attr:`~Format.VALUE_WITH_FAKE_GLOBALS` is supported and use that in the fake " +"globals environment. If neither of these formats are supported, it will fall " +"back to using :attr:`~Format.VALUE`. If :attr:`~Format.VALUE` fails, the " +"error from this call will be raised." +msgstr "" + msgid "" "STRING: If :attr:`!object.__annotate__` exists, it is called first; " "otherwise, :attr:`!object.__annotations__` is used and stringified using :" "func:`annotations_to_string`." msgstr "" +msgid "" +"When calling :attr:`!object.__annotate__` it is first called with :attr:" +"`~Format.STRING`. If this is not implemented, it will then check if :attr:" +"`~Format.VALUE_WITH_FAKE_GLOBALS` is supported and use that in the fake " +"globals environment. If neither of these formats are supported, it will fall " +"back to using :attr:`~Format.VALUE` with the result converted using :func:" +"`annotations_to_string`. If :attr:`~Format.VALUE` fails, the error from this " +"call will be raised." +msgstr "" + msgid "" "Returns a dict. :func:`!get_annotations` returns a new dict every time it's " "called; calling it twice on the same object will return two different but " @@ -633,7 +662,7 @@ msgid "" ">>> def f(x: (1).__class__.__base__.__subclasses__()[-1].__init__." "__builtins__[\"print\"](\"Hello world\")): pass\n" "...\n" -">>> annotationlib.get_annotations(f, format=annotationlib.Format.SOURCE)\n" +">>> annotationlib.get_annotations(f, format=annotationlib.Format.STRING)\n" "Hello world\n" "{'x': 'None'}" msgstr "" @@ -655,10 +684,10 @@ msgid "The following are supported (sometimes with caveats):" msgstr "" msgid ":class:`ast.BinOp`" -msgstr "" +msgstr ":class:`ast.BinOp`" msgid ":class:`ast.UnaryOp`" -msgstr "" +msgstr ":class:`ast.UnaryOp`" msgid "" ":class:`ast.Invert` (``~``), :class:`ast.UAdd` (``+``), and :class:`ast." @@ -672,10 +701,10 @@ msgid ":class:`ast.Dict` (except when using ``**`` unpacking)" msgstr "" msgid ":class:`ast.Set`" -msgstr "" +msgstr ":class:`ast.Set`" msgid ":class:`ast.Compare`" -msgstr "" +msgstr ":class:`ast.Compare`" msgid ":class:`ast.Eq` and :class:`ast.NotEq` are supported" msgstr "" @@ -709,16 +738,16 @@ msgid ":class:`ast.Starred` (``*`` unpacking)" msgstr "" msgid ":class:`ast.Name`" -msgstr "" +msgstr ":class:`ast.Name`" msgid ":class:`ast.List`" -msgstr "" +msgstr ":class:`ast.List`" msgid ":class:`ast.Tuple`" -msgstr "" +msgstr ":class:`ast.Tuple`" msgid ":class:`ast.Slice`" -msgstr "" +msgstr ":class:`ast.Slice`" msgid "" "The following are unsupported, but throw an informative error when " @@ -740,38 +769,38 @@ msgid ":class:`ast.BoolOp` (``and`` and ``or``)" msgstr "" msgid ":class:`ast.IfExp`" -msgstr "" +msgstr ":class:`ast.IfExp`" msgid ":class:`ast.Lambda`" -msgstr "" +msgstr ":class:`ast.Lambda`" msgid ":class:`ast.ListComp`" -msgstr "" +msgstr ":class:`ast.ListComp`" msgid ":class:`ast.SetComp`" -msgstr "" +msgstr ":class:`ast.SetComp`" msgid ":class:`ast.DictComp`" -msgstr "" +msgstr ":class:`ast.DictComp`" msgid ":class:`ast.GeneratorExp`" -msgstr "" +msgstr ":class:`ast.GeneratorExp`" msgid "" "The following are disallowed in annotation scopes and therefore not relevant:" msgstr "" msgid ":class:`ast.NamedExpr` (``:=``)" -msgstr "" +msgstr ":class:`ast.NamedExpr` (``:=``)" msgid ":class:`ast.Await`" -msgstr "" +msgstr ":class:`ast.Await`" msgid ":class:`ast.Yield`" -msgstr "" +msgstr ":class:`ast.Yield`" msgid ":class:`ast.YieldFrom`" -msgstr "" +msgstr ":class:`ast.YieldFrom`" msgid "Limitations of the ``FORWARDREF`` format" msgstr "" @@ -803,3 +832,28 @@ msgid "" ">>> get_annotations(ifexp, format=Format.STRING)\n" "{'x': '1'}" msgstr "" + +msgid "Security implications of introspecting annotations" +msgstr "" + +msgid "" +"Much of the functionality in this module involves executing code related to " +"annotations, which can then do arbitrary things. For example, :func:" +"`get_annotations` may call an arbitrary :term:`annotate function`, and :meth:" +"`ForwardRef.evaluate` may call :func:`eval` on an arbitrary string. Code " +"contained in an annotation might make arbitrary system calls, enter an " +"infinite loop, or perform any other operation. This is also true for any " +"access of the :attr:`~object.__annotations__` attribute, and for various " +"functions in the :mod:`typing` module that work with annotations, such as :" +"func:`typing.get_type_hints`." +msgstr "" + +msgid "" +"Any security issue arising from this also applies immediately after " +"importing code that may contain untrusted annotations: importing code can " +"always cause arbitrary operations to be performed. However, it is unsafe to " +"accept strings or other input from an untrusted source and pass them to any " +"of the APIs for introspecting annotations, for example by editing an " +"``__annotations__`` dictionary or directly creating a :class:`ForwardRef` " +"object." +msgstr "" diff --git a/library/argparse.po b/library/argparse.po index 199e2618bd..69a1d04110 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -4,18 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2023 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,8 +33,8 @@ msgid "**Source code:** :source:`Lib/argparse.py`" msgstr "**Kod źródłowy:** :source:`Lib/argparse.py`" msgid "" -"While :mod:`argparse` is the default recommended standard library module for " -"implementing basic command line applications, authors with more exacting " +"While :mod:`!argparse` is the default recommended standard library module " +"for implementing basic command line applications, authors with more exacting " "requirements for exactly how their command line applications behave may find " "it doesn't provide the necessary level of control. Refer to :ref:`choosing-" "an-argument-parser` for alternatives to consider when ``argparse`` doesn't " @@ -179,7 +178,7 @@ msgid "" "subparser names (default: ``False``)" msgstr "" -msgid "color_ - Allow color output (default: ``False``)" +msgid "color_ - Allow color output (default: ``True``)" msgstr "" msgid "*allow_abbrev* parameter was added." @@ -552,7 +551,7 @@ msgid "" msgstr "" msgid "" -"Arguments read from a file must by default be one per line (but see also :" +"Arguments read from a file must be one per line by default (but see also :" "meth:`~ArgumentParser.convert_arg_line_to_args`) and are treated as if they " "were in the same place as the original file referencing argument on the " "command line. So in the example above, the expression ``['-f', 'foo', " @@ -560,6 +559,12 @@ msgid "" "f', 'bar']``." msgstr "" +msgid "" +"Empty lines are treated as empty strings (``''``), which are allowed as " +"values but not as arguments. Empty lines that are read as arguments will " +"result in an \"unrecognized arguments\" error." +msgstr "" + msgid "" ":class:`ArgumentParser` uses :term:`filesystem encoding and error handler` " "to read the file containing arguments." @@ -757,14 +762,12 @@ msgid "" msgstr "" msgid "" -">>> parser = argparse.ArgumentParser(description='Process some integers.',\n" -" suggest_on_error=True)\n" -">>> parser.add_argument('--action', choices=['sum', 'max'])\n" -">>> parser.add_argument('integers', metavar='N', type=int, nargs='+',\n" -"... help='an integer for the accumulator')\n" -">>> parser.parse_args(['--action', 'sumn', 1, 2, 3])\n" -"tester.py: error: argument --action: invalid choice: 'sumn', maybe you meant " -"'sum'? (choose from 'sum', 'max')" +">>> parser = argparse.ArgumentParser(suggest_on_error=True)\n" +">>> parser.add_argument('--action', choices=['debug', 'dryrun'])\n" +">>> parser.parse_args(['--action', 'debugg'])\n" +"usage: tester.py [-h] [--action {debug,dryrun}]\n" +"tester.py: error: argument --action: invalid choice: 'debugg', maybe you " +"meant 'debug'? (choose from debug, dryrun)" msgstr "" msgid "" @@ -783,13 +786,16 @@ msgid "color" msgstr "" msgid "" -"By default, the help message is printed in plain text. If you want to allow " -"color in help messages, you can enable it by setting ``color`` to ``True``::" +"By default, the help message is printed in color using `ANSI escape " +"sequences `__. If you want " +"plain text help messages, you can disable this :ref:`in your local " +"environment `, or in the argument parser itself " +"by setting ``color`` to ``False``::" msgstr "" msgid "" ">>> parser = argparse.ArgumentParser(description='Process some integers.',\n" -"... color=True)\n" +"... color=False)\n" ">>> parser.add_argument('--action', choices=['sum', 'max'])\n" ">>> parser.add_argument('integers', metavar='N', type=int, nargs='+',\n" "... help='an integer for the accumulator')\n" @@ -797,20 +803,16 @@ msgid "" msgstr "" msgid "" -"Even if a CLI author has enabled color, it can be :ref:`controlled using " -"environment variables `." +"Note that when ``color=True``, colored output depends on both environment " +"variables and terminal capabilities. However, if ``color=False``, colored " +"output is always disabled, even if environment variables like " +"``FORCE_COLOR`` are set." msgstr "" msgid "" -"If you're writing code that needs to be compatible with older Python " -"versions and want to opportunistically use ``color`` when it's available, " -"you can set it as an attribute after initializing the parser instead of " -"using the keyword argument::" -msgstr "" - -msgid "" -">>> parser = argparse.ArgumentParser(description='Process some integers.')\n" -">>> parser.color = True" +"Error messages will include color codes when redirecting stderr to a file. " +"To avoid this, set the |NO_COLOR|_ or :envvar:`PYTHON_COLORS` environment " +"variable (for example, ``NO_COLOR=1 python script.py 2> errors.txt``)." msgstr "" msgid "The add_argument() method" @@ -869,6 +871,9 @@ msgstr "" msgid "deprecated_ - Whether or not use of the argument is deprecated." msgstr "" +msgid "The method returns an :class:`Action` object representing the argument." +msgstr "" + msgid "name or flags" msgstr "" @@ -915,15 +920,15 @@ msgid "" "By default, :mod:`!argparse` automatically handles the internal naming and " "display names of arguments, simplifying the process without requiring " "additional configuration. As such, you do not need to specify the dest_ and " -"metavar_ parameters. The dest_ parameter defaults to the argument name with " -"underscores ``_`` replacing hyphens ``-`` . The metavar_ parameter defaults " -"to the upper-cased name. For example::" +"metavar_ parameters. For optional arguments, the dest_ parameter defaults to " +"the argument name, with underscores ``_`` replacing hyphens ``-``. The " +"metavar_ parameter defaults to the upper-cased name. For example::" msgstr "" msgid "" ">>> parser = argparse.ArgumentParser(prog='PROG')\n" ">>> parser.add_argument('--foo-bar')\n" -">>> parser.parse_args(['--foo-bar', 'FOO-BAR']\n" +">>> parser.parse_args(['--foo-bar', 'FOO-BAR'])\n" "Namespace(foo_bar='FOO-BAR')\n" ">>> parser.print_help()\n" "usage: [-h] [--foo-bar FOO-BAR]\n" @@ -970,9 +975,8 @@ msgstr "" msgid "" "``'store_true'`` and ``'store_false'`` - These are special cases of " -"``'store_const'`` used for storing the values ``True`` and ``False`` " -"respectively. In addition, they create default values of ``False`` and " -"``True`` respectively::" +"``'store_const'`` that respectively store the values ``True`` and ``False`` " +"with default values of ``False`` and ``True``::" msgstr "" msgid "" @@ -985,26 +989,25 @@ msgid "" msgstr "" msgid "" -"``'append'`` - This stores a list, and appends each argument value to the " -"list. It is useful to allow an option to be specified multiple times. If the " -"default value is non-empty, the default elements will be present in the " -"parsed value for the option, with any values from the command line appended " -"after those default values. Example usage::" +"``'append'`` - This appends each argument value to a list. It is useful for " +"allowing an option to be specified multiple times. If the default value is a " +"non-empty list, the parsed value will start with the default list's elements " +"and any values from the command line will be appended after those default " +"values. Example usage::" msgstr "" msgid "" ">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action='append')\n" +">>> parser.add_argument('--foo', action='append', default=['0'])\n" ">>> parser.parse_args('--foo 1 --foo 2'.split())\n" -"Namespace(foo=['1', '2'])" +"Namespace(foo=['0', '1', '2'])" msgstr "" msgid "" -"``'append_const'`` - This stores a list, and appends the value specified by " -"the const_ keyword argument to the list; note that the const_ keyword " -"argument defaults to ``None``. The ``'append_const'`` action is typically " -"useful when multiple arguments need to store constants to the same list. For " -"example::" +"``'append_const'`` - This appends the value specified by the const_ keyword " +"argument to a list; note that the const_ keyword argument defaults to " +"``None``. The ``'append_const'`` action is typically useful when multiple " +"arguments need to store constants to the same list. For example::" msgstr "" msgid "" @@ -1018,11 +1021,11 @@ msgid "" msgstr "" msgid "" -"``'extend'`` - This stores a list and appends each item from the multi-value " -"argument list to it. The ``'extend'`` action is typically used with the " -"nargs_ keyword argument value ``'+'`` or ``'*'``. Note that when nargs_ is " -"``None`` (the default) or ``'?'``, each character of the argument string " -"will be appended to the list. Example usage::" +"``'extend'`` - This appends each item from a multi-value argument to a list. " +"The ``'extend'`` action is typically used with the nargs_ keyword argument " +"value ``'+'`` or ``'*'``. Note that when nargs_ is ``None`` (the default) or " +"``'?'``, each character of the argument string will be appended to the list. " +"Example usage::" msgstr "" msgid "" @@ -1035,7 +1038,7 @@ msgid "" msgstr "" msgid "" -"``'count'`` - This counts the number of times a keyword argument occurs. For " +"``'count'`` - This counts the number of times an argument occurs. For " "example, this is useful for increasing verbosity levels::" msgstr "" @@ -1075,31 +1078,14 @@ msgid "" "PROG 2.0" msgstr "" -msgid "" -"Only actions that consume command-line arguments (e.g. ``'store'``, " -"``'append'`` or ``'extend'``) can be used with positional arguments." -msgstr "" - msgid "" "You may also specify an arbitrary action by passing an :class:`Action` " -"subclass or other object that implements the same interface. The :class:`!" -"BooleanOptionalAction` is available in :mod:`!argparse` and adds support for " -"boolean actions such as ``--foo`` and ``--no-foo``::" +"subclass (e.g. :class:`BooleanOptionalAction`) or other object that " +"implements the same interface. Only actions that consume command-line " +"arguments (e.g. ``'store'``, ``'append'``, ``'extend'``, or custom actions " +"with non-zero ``nargs``) can be used with positional arguments." msgstr "" -msgid "" -">>> import argparse\n" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action=argparse.BooleanOptionalAction)\n" -">>> parser.parse_args(['--no-foo'])\n" -"Namespace(foo=False)" -msgstr "" -">>> import argparse\n" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action=argparse.BooleanOptionalAction)\n" -">>> parser.parse_args(['--no-foo'])\n" -"Namespace(foo=False)" - msgid "" "The recommended way to create a custom action is to extend :class:`Action`, " "overriding the :meth:`!__call__` method and optionally the :meth:`!__init__` " @@ -1218,9 +1204,9 @@ msgid "" msgstr "" msgid "" -"``'+'``. Just like ``'*'``, all command-line args present are gathered into " -"a list. Additionally, an error message will be generated if there wasn't at " -"least one command-line argument present. For example::" +"``'+'``. Just like ``'*'``, all command-line arguments present are gathered " +"into a list. Additionally, an error message will be generated if there " +"wasn't at least one command-line argument present. For example::" msgstr "" msgid "" @@ -1265,8 +1251,8 @@ msgid "" "(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional " "argument that can be followed by zero or one command-line arguments. When " "parsing the command line, if the option string is encountered with no " -"command-line argument following it, the value of ``const`` will be assumed " -"to be ``None`` instead. See the nargs_ description for examples." +"command-line argument following it, the value from ``const`` will be used. " +"See the nargs_ description for examples." msgstr "" msgid "" @@ -1468,12 +1454,6 @@ msgid "" "'paper', 'scissors')" msgstr "" -msgid "" -"Note that inclusion in the *choices* sequence is checked after any type_ " -"conversions have been performed, so the type of the objects in the *choices* " -"sequence should match the type_ specified." -msgstr "" - msgid "" "Any sequence can be passed as the *choices* value, so :class:`list` " "objects, :class:`tuple` objects, and custom sequences are all supported." @@ -1484,6 +1464,18 @@ msgid "" "control its appearance in usage, help, and error messages." msgstr "" +msgid "" +"Note that *choices* are checked after any type_ conversions have been " +"performed, so objects in *choices* should match the type_ specified. This " +"can make *choices* appear unfamiliar in usage, help, or error messages." +msgstr "" + +msgid "" +"To keep *choices* user-friendly, consider a custom type wrapper that " +"converts and formats values, or omit type_ and handle conversion in your " +"application code." +msgstr "" + msgid "" "Formatted choices override the default *metavar* which is normally derived " "from *dest*. This is usually what you want because the user never sees the " @@ -1798,6 +1790,26 @@ msgid "" "will be used." msgstr "" +msgid "" +"A subclass of :class:`Action` for handling boolean flags with positive and " +"negative options. Adding a single argument such as ``--foo`` automatically " +"creates both ``--foo`` and ``--no-foo`` options, storing ``True`` and " +"``False`` respectively::" +msgstr "" + +msgid "" +">>> import argparse\n" +">>> parser = argparse.ArgumentParser()\n" +">>> parser.add_argument('--foo', action=argparse.BooleanOptionalAction)\n" +">>> parser.parse_args(['--no-foo'])\n" +"Namespace(foo=False)" +msgstr "" +">>> import argparse\n" +">>> parser = argparse.ArgumentParser()\n" +">>> parser.add_argument('--foo', action=argparse.BooleanOptionalAction)\n" +">>> parser.parse_args(['--no-foo'])\n" +"Namespace(foo=False)" + msgid "The parse_args() method" msgstr "" @@ -2070,7 +2082,7 @@ msgstr "" msgid "Other utilities" msgstr "" -msgid "Sub-commands" +msgid "Subcommands" msgstr "" msgid "" @@ -2102,7 +2114,7 @@ msgid "" msgstr "" msgid "" -"*prog* - usage information that will be displayed with sub-command help, by " +"*prog* - usage information that will be displayed with subcommand help, by " "default the name of the program and any positional arguments before the " "subparser argument" msgstr "" @@ -2118,8 +2130,8 @@ msgid "" msgstr "" msgid "" -"dest_ - name of the attribute under which sub-command name will be stored; " -"by default ``None`` and no value is stored" +"dest_ - name of the attribute under which subcommand name will be stored; by " +"default ``None`` and no value is stored" msgstr "" msgid "" @@ -2539,7 +2551,10 @@ msgid "" msgstr "" msgid "" -"Note that parser-level defaults always override argument-level defaults::" +"Note that defaults can be set at both the parser level using :meth:" +"`set_defaults` and at the argument level using :meth:`add_argument`. If both " +"are called for the same argument, the last default set for an argument is " +"used::" msgstr "" msgid "" @@ -2617,13 +2632,17 @@ msgid "Partial parsing" msgstr "" msgid "" -"Sometimes a script may only parse a few of the command-line arguments, " -"passing the remaining arguments on to another script or program. In these " -"cases, the :meth:`~ArgumentParser.parse_known_args` method can be useful. " -"It works much like :meth:`~ArgumentParser.parse_args` except that it does " -"not produce an error when extra arguments are present. Instead, it returns " -"a two item tuple containing the populated namespace and the list of " -"remaining argument strings." +"Sometimes a script only needs to handle a specific set of command-line " +"arguments, leaving any unrecognized arguments for another script or program. " +"In these cases, the :meth:`~ArgumentParser.parse_known_args` method can be " +"useful." +msgstr "" + +msgid "" +"This method works similarly to :meth:`~ArgumentParser.parse_args`, but it " +"does not raise an error for extra, unrecognized arguments. Instead, it " +"parses the known arguments and returns a two item tuple that contains the " +"populated namespace and the list of any unrecognized arguments." msgstr "" msgid "" @@ -2784,7 +2803,7 @@ msgid "" msgstr "" msgid "Guides and Tutorials" -msgstr "" +msgstr "Przewodniki i samouczki" msgid "? (question mark)" msgstr "" diff --git a/library/array.po b/library/array.po index e86ae38a98..e714a8678d 100644 --- a/library/array.po +++ b/library/array.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,10 +29,10 @@ msgstr "" msgid "" "This module defines an object type which can compactly represent an array of " "basic values: characters, integers, floating-point numbers. Arrays are " -"sequence types and behave very much like lists, except that the type of " -"objects stored in them is constrained. The type is specified at object " -"creation time by using a :dfn:`type code`, which is a single character. The " -"following type codes are defined:" +"mutable :term:`sequence` types and behave very much like lists, except that " +"the type of objects stored in them is constrained. The type is specified at " +"object creation time by using a :dfn:`type code`, which is a single " +"character. The following type codes are defined:" msgstr "" msgid "Type code" @@ -93,6 +92,9 @@ msgstr "" msgid "4" msgstr "4" +msgid "\\(2)" +msgstr "\\(2)" + msgid "``'h'``" msgstr "``'h'``" @@ -171,6 +173,13 @@ msgstr "" msgid "Please migrate to ``'w'`` typecode." msgstr "" +msgid "" +"The :ref:`ctypes ` and :ref:`struct ` modules, as well as third-party modules like `numpy `__, use similar -- but slightly different -- type codes." +msgstr "" + msgid "" "The actual representation of values is determined by the machine " "architecture (strictly speaking, by the C implementation). The actual size " @@ -202,12 +211,12 @@ msgid "" msgstr "" msgid "" -"Array objects support the ordinary sequence operations of indexing, slicing, " -"concatenation, and multiplication. When using slice assignment, the " -"assigned value must be an array object with the same type code; in all other " -"cases, :exc:`TypeError` is raised. Array objects also implement the buffer " -"interface, and may be used wherever :term:`bytes-like objects ` are supported." +"Array objects support the ordinary :ref:`mutable ` :term:" +"`sequence` operations of indexing, slicing, concatenation, and " +"multiplication. When using slice assignment, the assigned value must be an " +"array object with the same type code; in all other cases, :exc:`TypeError` " +"is raised. Array objects also implement the buffer interface, and may be " +"used wherever :term:`bytes-like objects ` are supported." msgstr "" msgid "" @@ -223,8 +232,8 @@ msgstr "" "długość w bajtach (kęsach) jednego elementu tabeli w wewnętrznym " "przedstawieniu." -msgid "Append a new item with value *x* to the end of the array." -msgstr "Dodaj nowy element o wartości *x* na koniec tabeli." +msgid "Append a new item with the specified value to the end of the array." +msgstr "" msgid "" "Return a tuple ``(address, length)`` giving the current memory address and " @@ -262,8 +271,8 @@ msgstr "" "zgłaszany jest wyjątek :exc:`RuntimeError`. Jest to użyteczne gdy wczytuje " "się dane z pliku zapisanego na maszynie o odmiennym porządku bajtów." -msgid "Return the number of occurrences of *x* in the array." -msgstr "Zwróć liczbę wystąpień *x* w tablicy." +msgid "Return the number of occurrences of *value* in the array." +msgstr "" msgid "" "Append items from *iterable* to the end of the array. If *iterable* is " @@ -310,20 +319,18 @@ msgstr "" msgid "" "Return the smallest *i* such that *i* is the index of the first occurrence " -"of *x* in the array. The optional arguments *start* and *stop* can be " -"specified to search for *x* within a subsection of the array. Raise :exc:" -"`ValueError` if *x* is not found." +"of *value* in the array. The optional arguments *start* and *stop* can be " +"specified to search for *value* within a subsection of the array. Raise :" +"exc:`ValueError` if *value* is not found." msgstr "" msgid "Added optional *start* and *stop* parameters." msgstr "" msgid "" -"Insert a new item with value *x* in the array before position *i*. Negative " +"Insert a new item *value* in the array before position *index*. Negative " "values are treated as being relative to the end of the array." msgstr "" -"Wstaw nowy element o wartości *x* w tabeli przed pozycją *i*. Ujemne " -"wartości są traktowane jako będące odniesieniem do pozycji od końca tabeli." msgid "" "Removes the item with the index *i* from the array and returns it. The " @@ -334,8 +341,8 @@ msgstr "" "domyślnie jest ``-1``, tak aby domyślnie ostatni element był usuwany i " "zwracany." -msgid "Remove the first occurrence of *x* from the array." -msgstr "Usuń pierwsze wystąpienie *x* w tabeli." +msgid "Remove the first occurrence of *value* from the array." +msgstr "" msgid "Remove all elements from the array." msgstr "" diff --git a/library/ast.po b/library/ast.po index e170266ae6..545089b6f0 100644 --- a/library/ast.po +++ b/library/ast.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +30,7 @@ msgid "**Source code:** :source:`Lib/ast.py`" msgstr "**Kod źródłowy:** :source:`Lib/ast.py`" msgid "" -"The :mod:`ast` module helps Python applications to process trees of the " +"The :mod:`!ast` module helps Python applications to process trees of the " "Python abstract syntax grammar. The abstract syntax itself might change " "with each Python release; this module helps to find out programmatically " "what the current grammar looks like." @@ -181,7 +180,7 @@ msgid "" "int? end_col_offset)\n" "\n" " arguments = (arg* posonlyargs, arg* args, arg? vararg, arg* kwonlyargs,\n" -" expr* kw_defaults, arg? kwarg, expr* defaults)\n" +" expr?* kw_defaults, arg? kwarg, expr* defaults)\n" "\n" " arg = (identifier arg, expr? annotation, string? type_comment)\n" " attributes (int lineno, int col_offset, int? end_lineno, int? " @@ -235,7 +234,7 @@ msgid "" "This is the base of all AST node classes. The actual node classes are " "derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" "`above `. They are defined in the :mod:`!_ast` C module " -"and re-exported in :mod:`ast`." +"and re-exported in :mod:`!ast`." msgstr "" msgid "" @@ -340,16 +339,25 @@ msgid "" "represented as tuples." msgstr "" +msgid "" +"AST node constructors were changed to provide sensible defaults for omitted " +"fields: optional fields now default to ``None``, list fields default to an " +"empty list, and fields of type :class:`!ast.expr_context` default to :class:" +"`Load() `. Previously, omitted attributes would not exist on " +"constructed nodes (accessing them raised :exc:`AttributeError`)." +msgstr "" + msgid "" "The :meth:`~object.__repr__` output of :class:`~ast.AST` nodes includes the " "values of the node fields." msgstr "" msgid "" -"Old classes :class:`!ast.Num`, :class:`!ast.Str`, :class:`!ast.Bytes`, :" -"class:`!ast.NameConstant` and :class:`!ast.Ellipsis` are still available, " -"but they will be removed in future Python releases. In the meantime, " -"instantiating them will return an instance of a different class." +"Previous versions of Python provided the AST classes :class:`!ast.Num`, :" +"class:`!ast.Str`, :class:`!ast.Bytes`, :class:`!ast.NameConstant` and :class:" +"`!ast.Ellipsis`, which were deprecated in Python 3.8. These classes were " +"removed in Python 3.14, and their functionality has been replaced with :" +"class:`ast.Constant`." msgstr "" msgid "" @@ -487,9 +495,9 @@ msgstr "" msgid "" "A constant value. The ``value`` attribute of the ``Constant`` literal " "contains the Python object it represents. The values represented can be " -"simple types such as a number, string or ``None``, but also immutable " -"container types (tuples and frozensets) if all of their elements are " -"constant." +"instances of :class:`str`, :class:`bytes`, :class:`int`, :class:`float`, :" +"class:`complex`, and :class:`bool`, and the constants :data:`None` and :data:" +"`Ellipsis`." msgstr "" msgid "" @@ -509,13 +517,13 @@ msgstr "" msgid "-1: no formatting" msgstr "" -msgid "115: ``!s`` string formatting" +msgid "97 (``ord('a')``): ``!a`` :func:`ASCII ` formatting" msgstr "" -msgid "114: ``!r`` repr formatting" +msgid "114 (``ord('r')``): ``!r`` :func:`repr` formatting" msgstr "" -msgid "97: ``!a`` ascii formatting" +msgid "115 (``ord('s')``): ``!s`` :func:`string ` formatting" msgstr "" msgid "" @@ -551,6 +559,73 @@ msgid "" " Constant(value='.3')]))]))" msgstr "" +msgid "" +"Node representing a template string literal, comprising a series of :class:" +"`Interpolation` and :class:`Constant` nodes. These nodes may be any order, " +"and do not need to be interleaved." +msgstr "" + +msgid "" +">>> expr = ast.parse('t\"{name} finished {place:ordinal}\"', mode='eval')\n" +">>> print(ast.dump(expr, indent=4))\n" +"Expression(\n" +" body=TemplateStr(\n" +" values=[\n" +" Interpolation(\n" +" value=Name(id='name', ctx=Load()),\n" +" str='name',\n" +" conversion=-1),\n" +" Constant(value=' finished '),\n" +" Interpolation(\n" +" value=Name(id='place', ctx=Load()),\n" +" str='place',\n" +" conversion=-1,\n" +" format_spec=JoinedStr(\n" +" values=[\n" +" Constant(value='ordinal')]))]))" +msgstr "" + +msgid "" +"Node representing a single interpolation field in a template string literal." +msgstr "" + +msgid "" +"``value`` is any expression node (such as a literal, a variable, or a " +"function call). This has the same meaning as ``FormattedValue.value``." +msgstr "" + +msgid "" +"``str`` is a constant containing the text of the interpolation expression." +msgstr "" + +msgid "" +"If ``str`` is set to ``None``, then ``value`` is used to generate code when " +"calling :func:`ast.unparse`. This no longer guarantees that the generated " +"code is identical to the original and is intended for code generation." +msgstr "" + +msgid "-1: no conversion" +msgstr "" + +msgid "97 (``ord('a')``): ``!a`` :func:`ASCII ` conversion" +msgstr "" + +msgid "114 (``ord('r')``): ``!r`` :func:`repr` conversion" +msgstr "" + +msgid "115 (``ord('s')``): ``!s`` :func:`string ` conversion" +msgstr "" + +msgid "This has the same meaning as ``FormattedValue.conversion``." +msgstr "" + +msgid "" +"``format_spec`` is a :class:`JoinedStr` node representing the formatting of " +"the value, or ``None`` if no format was specified. Both ``conversion`` and " +"``format_spec`` can be set at the same time. This has the same meaning as " +"``FormattedValue.format_spec``." +msgstr "" + msgid "" "A list or tuple. ``elts`` holds a list of nodes representing the elements. " "``ctx`` is :class:`Store` if the container is an assignment target (i.e. " @@ -2399,11 +2474,11 @@ msgid "" "same value (for example, :class:`ast.Add`)." msgstr "" -msgid ":mod:`ast` helpers" +msgid ":mod:`!ast` helpers" msgstr "" msgid "" -"Apart from the node classes, the :mod:`ast` module defines these utility " +"Apart from the node classes, the :mod:`!ast` module defines these utility " "functions and classes for traversing abstract syntax trees:" msgstr "" @@ -2630,9 +2705,9 @@ msgstr "" msgid "" "Methods :meth:`!visit_Num`, :meth:`!visit_Str`, :meth:`!visit_Bytes`, :meth:" -"`!visit_NameConstant` and :meth:`!visit_Ellipsis` are deprecated now and " -"will not be called in future Python versions. Add the :meth:" -"`visit_Constant` method to handle all constant nodes." +"`!visit_NameConstant` and :meth:`!visit_Ellipsis` will not be called in " +"Python 3.14+. Add the :meth:`visit_Constant` method instead to handle all " +"constant nodes." msgstr "" msgid "" @@ -2714,8 +2789,8 @@ msgid "" msgstr "" msgid "" -"If *show_empty* is ``False`` (the default), empty lists and fields that are " -"``None`` will be omitted from the output." +"If *show_empty* is false (the default), optional empty lists will be omitted " +"from the output. Optional ``None`` values are always omitted." msgstr "" msgid "Added the *indent* option." @@ -2794,7 +2869,7 @@ msgid "Command-line usage" msgstr "" msgid "" -"The :mod:`ast` module can be executed as a script from the command line. It " +"The :mod:`!ast` module can be executed as a script from the command line. It " "is as simple as:" msgstr "" diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 5e34ec60bc..d9b6d57582 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index b68bcc17ca..ed0f4f9d27 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,12 +79,6 @@ msgstr "" msgid "When the debug mode is enabled:" msgstr "" -msgid "" -"asyncio checks for :ref:`coroutines that were not awaited ` and logs them; this mitigates the \"forgotten await\" " -"pitfall." -msgstr "" - msgid "" "Many non-threadsafe asyncio APIs (such as :meth:`loop.call_soon` and :meth:" "`loop.call_at` methods) raise an exception if they are called from a wrong " @@ -323,3 +317,263 @@ msgid "" " raise Exception(\"not consumed\")\n" "Exception: not consumed" msgstr "" + +msgid "Asynchronous generators best practices" +msgstr "" + +msgid "" +"Writing correct and efficient asyncio code requires awareness of certain " +"pitfalls. This section outlines essential best practices that can save you " +"hours of debugging." +msgstr "" + +msgid "Close asynchronous generators explicitly" +msgstr "" + +msgid "" +"It is recommended to manually close the :term:`asynchronous generator " +"`. If a generator exits early - for " +"example, due to an exception raised in the body of an ``async for`` loop - " +"its asynchronous cleanup code may run in an unexpected context. This can " +"occur after the tasks it depends on have completed, or during the event loop " +"shutdown when the async-generator's garbage collection hook is called." +msgstr "" + +msgid "" +"To avoid this, explicitly close the generator by calling its :meth:`~agen." +"aclose` method, or use the :func:`contextlib.aclosing` context manager::" +msgstr "" + +msgid "" +"import asyncio\n" +"import contextlib\n" +"\n" +"async def gen():\n" +" yield 1\n" +" yield 2\n" +"\n" +"async def func():\n" +" async with contextlib.aclosing(gen()) as g:\n" +" async for x in g:\n" +" break # Don't iterate until the end\n" +"\n" +"asyncio.run(func())" +msgstr "" + +msgid "" +"As noted above, the cleanup code for these asynchronous generators is " +"deferred. The following example demonstrates that the finalization of an " +"asynchronous generator can occur in an unexpected order::" +msgstr "" + +msgid "" +"import asyncio\n" +"work_done = False\n" +"\n" +"async def cursor():\n" +" try:\n" +" yield 1\n" +" finally:\n" +" assert work_done\n" +"\n" +"async def rows():\n" +" global work_done\n" +" try:\n" +" yield 2\n" +" finally:\n" +" await asyncio.sleep(0.1) # immitate some async work\n" +" work_done = True\n" +"\n" +"\n" +"async def main():\n" +" async for c in cursor():\n" +" async for r in rows():\n" +" break\n" +" break\n" +"\n" +"asyncio.run(main())" +msgstr "" + +msgid "For this example, we get the following output::" +msgstr "" + +msgid "" +"unhandled exception during asyncio.run() shutdown\n" +"task: ()> exception=AssertionError()>\n" +"Traceback (most recent call last):\n" +" File \"example.py\", line 6, in cursor\n" +" yield 1\n" +"asyncio.exceptions.CancelledError\n" +"\n" +"During handling of the above exception, another exception occurred:\n" +"\n" +"Traceback (most recent call last):\n" +" File \"example.py\", line 8, in cursor\n" +" assert work_done\n" +" ^^^^^^^^^\n" +"AssertionError" +msgstr "" + +msgid "" +"The ``cursor()`` asynchronous generator was finalized before the ``rows`` " +"generator - an unexpected behavior." +msgstr "" + +msgid "" +"The example can be fixed by explicitly closing the ``cursor`` and ``rows`` " +"async-generators::" +msgstr "" + +msgid "" +"async def main():\n" +" async with contextlib.aclosing(cursor()) as cursor_gen:\n" +" async for c in cursor_gen:\n" +" async with contextlib.aclosing(rows()) as rows_gen:\n" +" async for r in rows_gen:\n" +" break\n" +" break" +msgstr "" + +msgid "Create asynchronous generators only when the event loop is running" +msgstr "" + +msgid "" +"It is recommended to create :term:`asynchronous generators ` only after the event loop has been created." +msgstr "" + +msgid "" +"To ensure that asynchronous generators close reliably, the event loop uses " +"the :func:`sys.set_asyncgen_hooks` function to register callback functions. " +"These callbacks update the list of running asynchronous generators to keep " +"it in a consistent state." +msgstr "" + +msgid "" +"When the :meth:`loop.shutdown_asyncgens() ` " +"function is called, the running generators are stopped gracefully and the " +"list is cleared." +msgstr "" + +msgid "" +"The asynchronous generator invokes the corresponding system hook during its " +"first iteration. At the same time, the generator records that the hook has " +"been called and does not call it again." +msgstr "" + +msgid "" +"Therefore, if iteration begins before the event loop is created, the event " +"loop will not be able to add the generator to its list of active generators " +"because the hooks are set after the generator attempts to call them. " +"Consequently, the event loop will not be able to terminate the generator if " +"necessary." +msgstr "" + +msgid "Consider the following example::" +msgstr "" + +msgid "" +"import asyncio\n" +"\n" +"async def agenfn():\n" +" try:\n" +" yield 10\n" +" finally:\n" +" await asyncio.sleep(0)\n" +"\n" +"\n" +"with asyncio.Runner() as runner:\n" +" agen = agenfn()\n" +" print(runner.run(anext(agen)))\n" +" del agen" +msgstr "" + +msgid "" +"10\n" +"Exception ignored while closing generator :\n" +"Traceback (most recent call last):\n" +" File \"example.py\", line 13, in \n" +" del agen\n" +" ^^^^\n" +"RuntimeError: async generator ignored GeneratorExit" +msgstr "" + +msgid "This example can be fixed as follows::" +msgstr "" + +msgid "" +"import asyncio\n" +"\n" +"async def agenfn():\n" +" try:\n" +" yield 10\n" +" finally:\n" +" await asyncio.sleep(0)\n" +"\n" +"async def main():\n" +" agen = agenfn()\n" +" print(await anext(agen))\n" +" del agen\n" +"\n" +"asyncio.run(main())" +msgstr "" + +msgid "Avoid concurrent iteration and closure of the same generator" +msgstr "" + +msgid "" +"Async generators may be reentered while another :meth:`~agen.__anext__` / :" +"meth:`~agen.athrow` / :meth:`~agen.aclose` call is in progress. This may " +"lead to an inconsistent state of the async generator and can cause errors." +msgstr "" + +msgid "Let's consider the following example::" +msgstr "" + +msgid "" +"import asyncio\n" +"\n" +"async def consumer():\n" +" for idx in range(100):\n" +" await asyncio.sleep(0)\n" +" message = yield idx\n" +" print('received', message)\n" +"\n" +"async def amain():\n" +" agenerator = consumer()\n" +" await agenerator.asend(None)\n" +"\n" +" fa = asyncio.create_task(agenerator.asend('A'))\n" +" fb = asyncio.create_task(agenerator.asend('B'))\n" +" await fa\n" +" await fb\n" +"\n" +"asyncio.run(amain())" +msgstr "" + +msgid "" +"received A\n" +"Traceback (most recent call last):\n" +" File \"test.py\", line 38, in \n" +" asyncio.run(amain())\n" +" ~~~~~~~~~~~^^^^^^^^^\n" +" File \"Lib/asyncio/runners.py\", line 204, in run\n" +" return runner.run(main)\n" +" ~~~~~~~~~~^^^^^^\n" +" File \"Lib/asyncio/runners.py\", line 127, in run\n" +" return self._loop.run_until_complete(task)\n" +" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^\n" +" File \"Lib/asyncio/base_events.py\", line 719, in run_until_complete\n" +" return future.result()\n" +" ~~~~~~~~~~~~~^^\n" +" File \"test.py\", line 36, in amain\n" +" await fb\n" +"RuntimeError: anext(): asynchronous generator is already running" +msgstr "" + +msgid "" +"Therefore, it is recommended to avoid using asynchronous generators in " +"parallel tasks or across multiple event loops." +msgstr "" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 58ade7cfb8..e9d9e9174d 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Event Loop" +msgid "Event loop" msgstr "" msgid "" @@ -148,7 +145,7 @@ msgid "" "The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" -msgid "Event Loop Methods" +msgid "Event loop methods" msgstr "" msgid "Event loops have **low-level** APIs for the following:" @@ -358,8 +355,8 @@ msgstr "" msgid "" "The optional positional *args* will be passed to the callback when it is " -"called. If you want the callback to be called with keyword arguments use :" -"func:`functools.partial`." +"called. Use :func:`functools.partial` :ref:`to pass keyword arguments " +"` to *callback*." msgstr "" msgid "" @@ -368,6 +365,12 @@ msgid "" "context is used when no *context* is provided." msgstr "" +msgid "" +"For performance, callbacks scheduled with :meth:`loop.call_later` may run up " +"to one clock-resolution early (see ``time.get_clock_info('monotonic')." +"resolution``)." +msgstr "" + msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "*delay* could not exceed one day. This has been fixed in Python 3.8." @@ -381,6 +384,12 @@ msgstr "" msgid "This method's behavior is the same as :meth:`call_later`." msgstr "" +msgid "" +"For performance, callbacks scheduled with :meth:`loop.call_at` may run up to " +"one clock-resolution early (see ``time.get_clock_info('monotonic')." +"resolution``)." +msgstr "" + msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "difference between *when* and the current time could not exceed one day. " @@ -400,7 +409,7 @@ msgstr "" msgid "The :func:`asyncio.sleep` function." msgstr "" -msgid "Creating Futures and Tasks" +msgid "Creating futures and tasks" msgstr "" msgid "Create an :class:`asyncio.Future` object attached to the event loop." @@ -423,6 +432,12 @@ msgid "" "`Task`." msgstr "" +msgid "" +"The full function signature is largely the same as that of the :class:`Task` " +"constructor (or factory) - all of the keyword arguments to this function are " +"passed through to that interface." +msgstr "" + msgid "" "If the *name* argument is provided and not ``None``, it is set as the name " "of the task using :meth:`Task.set_name`." @@ -447,7 +462,20 @@ msgstr "" msgid "Added the *context* parameter." msgstr "" -msgid "Added the *eager_start* parameter." +msgid "" +"Added ``kwargs`` which passes on arbitrary extra parameters, including " +"``name`` and ``context``." +msgstr "" + +msgid "" +"Rolled back the change that passes on *name* and *context* (if it is None), " +"while still passing on other arbitrary keyword arguments (to avoid breaking " +"backwards compatibility with 3.13.3)." +msgstr "" + +msgid "" +"All *kwargs* are now passed on. The *eager_start* parameter works with eager " +"task factories." msgstr "" msgid "Set a task factory that will be used by :meth:`loop.create_task`." @@ -461,6 +489,19 @@ msgid "" "return a :class:`asyncio.Task`-compatible object." msgstr "" +msgid "Required that all *kwargs* are passed on to :class:`asyncio.Task`." +msgstr "" + +msgid "" +"*name* is no longer passed to task factories. *context* is no longer passed " +"to task factories if it is ``None``." +msgstr "" + +msgid "" +"*name* and *context* are now unconditionally passed on to task factories " +"again." +msgstr "" + msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" @@ -671,6 +712,11 @@ msgid "" "meth:`getaddrinfo`." msgstr "" +msgid "" +"On Windows, when using the proactor event loop with ``local_addr=None``, an :" +"exc:`OSError` with :attr:`!errno.WSAEINVAL` will be raised when running it." +msgstr "" + msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " @@ -979,7 +1025,7 @@ msgid "" "*sendfile* syscall and *fallback* is ``False``." msgstr "" -msgid "TLS Upgrade" +msgid "TLS upgrade" msgstr "" msgid "Upgrade an existing transport-based connection to TLS." @@ -1041,7 +1087,8 @@ msgstr "" msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " -"*callback* with the specified arguments once *fd* is available for writing." +"*callback* with the specified arguments *args* once *fd* is available for " +"writing." msgstr "" msgid "" @@ -1269,7 +1316,9 @@ msgstr "" msgid "Unix signals" msgstr "" -msgid "Set *callback* as the handler for the *signum* signal." +msgid "" +"Set *callback* as the handler for the *signum* signal, passing *args* as " +"positional arguments." msgstr "" msgid "" @@ -1302,7 +1351,9 @@ msgstr "" msgid "Executing code in thread or process pools" msgstr "" -msgid "Arrange for *func* to be called in the specified executor." +msgid "" +"Arrange for *func* to be called in the specified executor passing *args* as " +"positional arguments." msgstr "" msgid "" @@ -1395,7 +1446,7 @@ msgid "" "ThreadPoolExecutor`." msgstr "" -msgid "Error Handling API" +msgid "Error handling API" msgstr "" msgid "Allows customizing how exceptions are handled in the event loop." @@ -1522,7 +1573,7 @@ msgstr "" msgid "The :ref:`debug mode of asyncio `." msgstr "" -msgid "Running Subprocesses" +msgid "Running subprocesses" msgstr "" msgid "" @@ -1640,6 +1691,11 @@ msgid "" "object instantiated by the *protocol_factory*." msgstr "" +msgid "" +"If the transport is closed or is garbage collected, the child process is " +"killed if it is still running." +msgstr "" + msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/asyncio-future.po b/library/asyncio-future.po index 01bd817852..23a077be08 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/asyncio-graph.po b/library/asyncio-graph.po new file mode 100644 index 0000000000..ae34e2aca9 --- /dev/null +++ b/library/asyncio-graph.po @@ -0,0 +1,177 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Rafael Fontenelle , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "Call Graph Introspection" +msgstr "" + +msgid "**Source code:** :source:`Lib/asyncio/graph.py`" +msgstr "" + +msgid "" +"asyncio has powerful runtime call graph introspection utilities to trace the " +"entire call graph of a running *coroutine* or *task*, or a suspended " +"*future*. These utilities and the underlying machinery can be used from " +"within a Python program or by external profilers and debuggers." +msgstr "" + +msgid "" +"Print the async call graph for the current task or the provided :class:" +"`Task` or :class:`Future`." +msgstr "" + +msgid "" +"This function prints entries starting from the top frame and going down " +"towards the invocation point." +msgstr "" + +msgid "" +"The function receives an optional *future* argument. If not passed, the " +"current running task will be used." +msgstr "" + +msgid "" +"If the function is called on *the current task*, the optional keyword-only " +"*depth* argument can be used to skip the specified number of frames from top " +"of the stack." +msgstr "" + +msgid "" +"If the optional keyword-only *limit* argument is provided, each call stack " +"in the resulting graph is truncated to include at most ``abs(limit)`` " +"entries. If *limit* is positive, the entries left are the closest to the " +"invocation point. If *limit* is negative, the topmost entries are left. If " +"*limit* is omitted or ``None``, all entries are present. If *limit* is " +"``0``, the call stack is not printed at all, only \"awaited by\" information " +"is printed." +msgstr "" + +msgid "" +"If *file* is omitted or ``None``, the function will print to :data:`sys." +"stdout`." +msgstr "" + +msgid "**Example:**" +msgstr "" + +msgid "The following Python code:" +msgstr "" + +msgid "" +"import asyncio\n" +"\n" +"async def test():\n" +" asyncio.print_call_graph()\n" +"\n" +"async def main():\n" +" async with asyncio.TaskGroup() as g:\n" +" g.create_task(test(), name='test')\n" +"\n" +"asyncio.run(main())" +msgstr "" + +msgid "will print::" +msgstr "надрукую::" + +msgid "" +"* Task(name='test', id=0x1039f0fe0)\n" +"+ Call stack:\n" +"| File 't2.py', line 4, in async test()\n" +"+ Awaited by:\n" +" * Task(name='Task-1', id=0x103a5e060)\n" +" + Call stack:\n" +" | File 'taskgroups.py', line 107, in async TaskGroup.__aexit__()\n" +" | File 't2.py', line 7, in async main()" +msgstr "" + +msgid "" +"Like :func:`print_call_graph`, but returns a string. If *future* is ``None`` " +"and there's no current task, the function returns an empty string." +msgstr "" + +msgid "" +"Capture the async call graph for the current task or the provided :class:" +"`Task` or :class:`Future`." +msgstr "" + +msgid "" +"The function receives an optional *future* argument. If not passed, the " +"current running task will be used. If there's no current task, the function " +"returns ``None``." +msgstr "" + +msgid "Returns a ``FutureCallGraph`` data class object:" +msgstr "" + +msgid "``FutureCallGraph(future, call_stack, awaited_by)``" +msgstr "" + +msgid "" +"Where *future* is a reference to a :class:`Future` or a :class:`Task` (or " +"their subclasses.)" +msgstr "" + +msgid "``call_stack`` is a tuple of ``FrameCallGraphEntry`` objects." +msgstr "" + +msgid "``awaited_by`` is a tuple of ``FutureCallGraph`` objects." +msgstr "" + +msgid "``FrameCallGraphEntry(frame)``" +msgstr "" + +msgid "" +"Where *frame* is a frame object of a regular Python function in the call " +"stack." +msgstr "" + +msgid "Low level utility functions" +msgstr "" + +msgid "" +"To introspect an async call graph asyncio requires cooperation from control " +"flow structures, such as :func:`shield` or :class:`TaskGroup`. Any time an " +"intermediate :class:`Future` object with low-level APIs like :meth:`Future." +"add_done_callback() ` is involved, the " +"following two functions should be used to inform asyncio about how exactly " +"such intermediate future objects are connected with the tasks they wrap or " +"control." +msgstr "" + +msgid "Record that *future* is awaited on by *waiter*." +msgstr "" + +msgid "" +"Both *future* and *waiter* must be instances of :class:`Future` or :class:" +"`Task` or their subclasses, otherwise the call would have no effect." +msgstr "" + +msgid "" +"A call to ``future_add_to_awaited_by()`` must be followed by an eventual " +"call to the :func:`future_discard_from_awaited_by` function with the same " +"arguments." +msgstr "" + +msgid "Record that *future* is no longer awaited on by *waiter*." +msgstr "" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index 7266dbabf2..bd8d0e3c44 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -301,13 +299,13 @@ msgid "Receive data from the :class:`~socket.socket` into a buffer." msgstr "" msgid "``await`` :meth:`loop.sock_recvfrom`" -msgstr "" +msgstr "``await`` :meth:`loop.sock_recvfrom`" msgid "Receive a datagram from the :class:`~socket.socket`." msgstr "" msgid "``await`` :meth:`loop.sock_recvfrom_into`" -msgstr "" +msgstr "``await`` :meth:`loop.sock_recvfrom_into`" msgid "Receive a datagram from the :class:`~socket.socket` into a buffer." msgstr "" @@ -319,7 +317,7 @@ msgid "Send data to the :class:`~socket.socket`." msgstr "" msgid "``await`` :meth:`loop.sock_sendto`" -msgstr "" +msgstr "``await`` :meth:`loop.sock_sendto`" msgid "Send a datagram via the :class:`~socket.socket` to the given address." msgstr "" @@ -741,14 +739,14 @@ msgid "Subprocess Protocols" msgstr "" msgid "``callback`` :meth:`~SubprocessProtocol.pipe_data_received`" -msgstr "" +msgstr "``callback`` :meth:`~SubprocessProtocol.pipe_data_received`" msgid "" "Called when the child process writes data into its *stdout* or *stderr* pipe." msgstr "" msgid "``callback`` :meth:`~SubprocessProtocol.pipe_connection_lost`" -msgstr "" +msgstr "``callback`` :meth:`~SubprocessProtocol.pipe_connection_lost`" msgid "" "Called when one of the pipes communicating with the child process is closed." diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po index fcd1438e84..5f8f14feb6 100644 --- a/library/asyncio-platforms.po +++ b/library/asyncio-platforms.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -114,7 +114,7 @@ msgid "" msgstr "" msgid "macOS" -msgstr "" +msgstr "macOS" msgid "Modern macOS versions are fully supported." msgstr "" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 2be039f072..d72471b31c 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index b63ee74f11..5904cc72e7 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -1,22 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -271,7 +268,7 @@ msgid "" msgstr "" msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance" -msgstr "" +msgstr "``'sslcontext'``: :class:`ssl.SSLContext` instance" msgid "" "``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance" @@ -444,17 +441,17 @@ msgid "" msgstr "" msgid "" -"``0``: readable streaming transport of the standard input (*stdin*), or :" +"``0``: writable streaming transport of the standard input (*stdin*), or :" "const:`None` if the subprocess was not created with ``stdin=PIPE``" msgstr "" msgid "" -"``1``: writable streaming transport of the standard output (*stdout*), or :" +"``1``: readable streaming transport of the standard output (*stdout*), or :" "const:`None` if the subprocess was not created with ``stdout=PIPE``" msgstr "" msgid "" -"``2``: writable streaming transport of the standard error (*stderr*), or :" +"``2``: readable streaming transport of the standard error (*stderr*), or :" "const:`None` if the subprocess was not created with ``stderr=PIPE``" msgstr "" @@ -1136,7 +1133,7 @@ msgid "" " # low-level APIs.\n" " loop = asyncio.get_running_loop()\n" "\n" -" code = 'import datetime; print(datetime.datetime.now())'\n" +" code = 'import datetime as dt; print(dt.datetime.now())'\n" " exit_future = asyncio.Future(loop=loop)\n" "\n" " # Create the subprocess controlled by DateProtocol;\n" diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 7a838ae454..79952f5c65 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -124,22 +122,43 @@ msgstr "" msgid "Return the number of items in the queue." msgstr "" +msgid "Put a :class:`Queue` instance into a shutdown mode." +msgstr "" + +msgid "" +"The queue can no longer grow. Future calls to :meth:`~Queue.put` raise :exc:" +"`QueueShutDown`. Currently blocked callers of :meth:`~Queue.put` will be " +"unblocked and will raise :exc:`QueueShutDown` in the formerly awaiting task." +msgstr "" + +msgid "" +"If *immediate* is false (the default), the queue can be wound down normally " +"with :meth:`~Queue.get` calls to extract tasks that have already been loaded." +msgstr "" + msgid "" -"Shut down the queue, making :meth:`~Queue.get` and :meth:`~Queue.put` raise :" -"exc:`QueueShutDown`." +"And if :meth:`~Queue.task_done` is called for each remaining task, a " +"pending :meth:`~Queue.join` will be unblocked normally." msgstr "" msgid "" -"By default, :meth:`~Queue.get` on a shut down queue will only raise once the " -"queue is empty. Set *immediate* to true to make :meth:`~Queue.get` raise " -"immediately instead." +"Once the queue is empty, future calls to :meth:`~Queue.get` will raise :exc:" +"`QueueShutDown`." msgstr "" msgid "" -"All blocked callers of :meth:`~Queue.put` and :meth:`~Queue.get` will be " -"unblocked. If *immediate* is true, a task will be marked as done for each " -"remaining item in the queue, which may unblock callers of :meth:`~Queue." -"join`." +"If *immediate* is true, the queue is terminated immediately. The queue is " +"drained to be completely empty and the count of unfinished tasks is reduced " +"by the number of tasks drained. If unfinished tasks is zero, callers of :" +"meth:`~Queue.join` are unblocked. Also, blocked callers of :meth:`~Queue." +"get` are unblocked and will raise :exc:`QueueShutDown` because the queue is " +"empty." +msgstr "" + +msgid "" +"Use caution when using :meth:`~Queue.join` with *immediate* set to true. " +"This unblocks the join even when no work has been done on the tasks, " +"violating the usual invariant for joining a queue." msgstr "" msgid "Indicate that a formerly enqueued work item is complete." @@ -157,11 +176,6 @@ msgid "" "item that had been :meth:`~Queue.put` into the queue)." msgstr "" -msgid "" -"``shutdown(immediate=True)`` calls :meth:`task_done` for each remaining item " -"in the queue." -msgstr "" - msgid "" "Raises :exc:`ValueError` if called more times than there were items placed " "in the queue." diff --git a/library/asyncio-runner.po b/library/asyncio-runner.po index 0142f3149b..6033815ed7 100644 --- a/library/asyncio-runner.po +++ b/library/asyncio-runner.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid "Runners" msgstr "" msgid "**Source code:** :source:`Lib/asyncio/runners.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/asyncio/runners.py`" msgid "" "This section outlines high-level asyncio primitives to run asyncio code." diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 504283315c..b72f811af9 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-13 14:39+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -167,6 +166,12 @@ msgstr "" msgid "Similar to :func:`start_server` but works with Unix sockets." msgstr "" +msgid "" +"If *cleanup_socket* is true then the Unix socket will automatically be " +"removed from the filesystem when the server is closed, unless the socket has " +"been replaced after the server has been created." +msgstr "" + msgid "See also the documentation of :meth:`loop.create_unix_server`." msgstr "" @@ -175,6 +180,9 @@ msgid "" "parameter can now be a :term:`path-like object`." msgstr "" +msgid "Added the *cleanup_socket* parameter." +msgstr "" + msgid "StreamReader" msgstr "" @@ -285,6 +293,11 @@ msgid "" "until it can be sent." msgstr "" +msgid "" +"The *data* buffer should be a bytes, bytearray, or C-contiguous one-" +"dimensional memoryview object." +msgstr "" + msgid "The method should be used along with the ``drain()`` method::" msgstr "" diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index c335774b57..851866f497 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -113,6 +111,11 @@ msgid "" "See the documentation of :meth:`loop.subprocess_exec` for other parameters." msgstr "" +msgid "" +"If the process object is garbage collected while the process is still " +"running, the child process will be killed." +msgstr "" + msgid "Removed the *loop* parameter." msgstr "" @@ -354,10 +357,18 @@ msgid "A ``None`` value indicates that the process has not terminated yet." msgstr "" msgid "" -"A negative value ``-N`` indicates that the child was terminated by signal " +"For processes created with :func:`~asyncio.create_subprocess_exec`, a " +"negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." msgstr "" +msgid "" +"For processes created with :func:`~asyncio.create_subprocess_shell`, the " +"return code reflects the exit status of the shell itself (e.g. ``/bin/sh``), " +"which may map signals to codes such as ``128+N``. See the documentation of " +"the shell (for example, the Bash manual's Exit Status) for details." +msgstr "" + msgid "Subprocess and Threads" msgstr "" @@ -399,7 +410,7 @@ msgid "" "import sys\n" "\n" "async def get_date():\n" -" code = 'import datetime; print(datetime.datetime.now())'\n" +" code = 'import datetime as dt; print(dt.datetime.now())'\n" "\n" " # Create the subprocess; redirect the standard output\n" " # into a pipe.\n" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 8dfd168a90..d75f451655 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -198,8 +197,8 @@ msgid "Clear (unset) the event." msgstr "" msgid "" -"Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event." -"set` method is called again." +"Subsequent tasks awaiting on :meth:`~Event.wait` will now block until the :" +"meth:`~Event.set` method is called again." msgstr "" msgid "Return ``True`` if the event is set." diff --git a/library/asyncio-task.po b/library/asyncio-task.po index e3f8d34330..3175d8e4db 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Coroutines and Tasks" +msgid "Coroutines and tasks" msgstr "" msgid "" @@ -300,7 +299,7 @@ msgid "" "`loop.run_in_executor`." msgstr "" -msgid "Creating Tasks" +msgid "Creating tasks" msgstr "" msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" @@ -312,8 +311,9 @@ msgid "" msgstr "" msgid "" -"If *name* is not ``None``, it is set as the name of the task using :meth:" -"`Task.set_name`." +"The full function signature is largely the same as that of the :class:`Task` " +"constructor (or factory) - all of the keyword arguments to this function are " +"passed through to that interface." msgstr "" msgid "" @@ -322,6 +322,13 @@ msgid "" "copy is created when no *context* is provided." msgstr "" +msgid "" +"An optional keyword-only *eager_start* argument allows specifying if the " +"task should execute eagerly during the call to create_task, or be scheduled " +"later. If *eager_start* is not passed the mode set by :meth:`loop." +"set_task_factory` will be used." +msgstr "" + msgid "" "The task is executed in the loop returned by :func:`get_running_loop`, :exc:" "`RuntimeError` is raised if there is no running loop in current thread." @@ -362,7 +369,10 @@ msgstr "" msgid "Added the *context* parameter." msgstr "" -msgid "Task Cancellation" +msgid "Added the *eager_start* parameter by passing on all *kwargs*." +msgstr "" + +msgid "Task cancellation" msgstr "" msgid "" @@ -388,7 +398,7 @@ msgid "" "``uncancel()`` to completely remove the cancellation state." msgstr "" -msgid "Task Groups" +msgid "Task groups" msgstr "" msgid "" @@ -412,6 +422,9 @@ msgstr "" msgid "Close the given coroutine if the task group is not active." msgstr "" +msgid "Passes on all *kwargs* to :meth:`loop.create_task`" +msgstr "" + msgid "Example::" msgstr "Przykład::" @@ -496,7 +509,7 @@ msgid "" "correct preservation of cancellation counts." msgstr "" -msgid "Terminating a Task Group" +msgid "Terminating a task group" msgstr "" msgid "" @@ -573,13 +586,13 @@ msgstr "" msgid "" "import asyncio\n" -"import datetime\n" +"import datetime as dt\n" "\n" "async def display_date():\n" " loop = asyncio.get_running_loop()\n" " end_time = loop.time() + 5.0\n" " while True:\n" -" print(datetime.datetime.now())\n" +" print(dt.datetime.now())\n" " if (loop.time() + 1.0) >= end_time:\n" " break\n" " await asyncio.sleep(1)\n" @@ -593,7 +606,7 @@ msgstr "" msgid "Raises :exc:`ValueError` if *delay* is :data:`~math.nan`." msgstr "" -msgid "Running Tasks Concurrently" +msgid "Running tasks concurrently" msgstr "" msgid "" @@ -642,7 +655,7 @@ msgid "" "safety guarantees than *gather* for scheduling a nesting of subtasks: if a " "task (or a subtask, a task scheduled by a task) raises an exception, " "*TaskGroup* will, while *gather* will not, cancel the remaining scheduled " -"tasks)." +"tasks." msgstr "" msgid "" @@ -702,7 +715,7 @@ msgid "" "event loop." msgstr "" -msgid "Eager Task Factory" +msgid "Eager task factory" msgstr "" msgid "A task factory for eager task execution." @@ -748,7 +761,7 @@ msgid "" "set_task_factory>`)." msgstr "" -msgid "Shielding From Cancellation" +msgid "Shielding from cancellation" msgstr "" msgid "" @@ -874,6 +887,11 @@ msgid "" "cancelling overdue coroutines." msgstr "" +msgid "" +"Prefer using :func:`asyncio.timeout` or :func:`asyncio.timeout_at` rather " +"than instantiating :class:`!Timeout` directly." +msgstr "" + msgid "" "``when`` should be an absolute time at which the context should time out, as " "measured by the event loop's clock:" @@ -991,7 +1009,7 @@ msgstr "" msgid "Raises :exc:`TimeoutError` instead of :exc:`asyncio.TimeoutError`." msgstr "" -msgid "Waiting Primitives" +msgid "Waiting primitives" msgstr "" msgid "" @@ -1126,7 +1144,7 @@ msgid "" "a plain :term:`iterator` (previously it was only a plain iterator)." msgstr "" -msgid "Running in Threads" +msgid "Running in threads" msgstr "" msgid "Asynchronously run function *func* in a separate thread." @@ -1191,7 +1209,7 @@ msgid "" "``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -msgid "Scheduling From Other Threads" +msgid "Scheduling from other threads" msgstr "" msgid "Submit a coroutine to the given event loop. Thread-safe." @@ -1319,7 +1337,7 @@ msgstr "" msgid "Return ``True`` if *obj* is a coroutine object." msgstr "" -msgid "Task Object" +msgid "Task object" msgstr "" msgid "" diff --git a/library/asyncio.po b/library/asyncio.po index d2dc192525..272c125897 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -4,16 +4,18 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,19 +26,19 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "High-level APIs" -msgstr "" +msgstr "Wysokopoziomowe interfejsy API" msgid "Low-level APIs" -msgstr "" +msgstr "niskopoziomowe interfejsy API" msgid "Guides and Tutorials" -msgstr "" +msgstr "Przewodniki i samouczki" msgid ":mod:`!asyncio` --- Asynchronous I/O" -msgstr "" +msgstr ":mod:`!asyncio` --- Asynchroniczne I/O" msgid "Hello World!" -msgstr "" +msgstr "Hello World!" msgid "" "import asyncio\n" @@ -48,30 +50,54 @@ msgid "" "\n" "asyncio.run(main())" msgstr "" +"import asyncio\n" +"\n" +"async def main():\n" +" print('Witaj ...')\n" +" await asyncio.sleep(1)\n" +" print('... świecie!')\n" +"\n" +"asyncio.run(main())" msgid "" "asyncio is a library to write **concurrent** code using the **async/await** " "syntax." msgstr "" +"asyncio jest biblioteką do pisania **równoległego** kodu przy użyciu składni " +"**async/await**." msgid "" "asyncio is used as a foundation for multiple Python asynchronous frameworks " "that provide high-performance network and web-servers, database connection " "libraries, distributed task queues, etc." msgstr "" +"asyncio jest używane jako podstawa dla wielu asynchronicznych framework'ów " +"Pythona, które zapewniają wysoką wydajność sieci i serwerów internetowych, " +"bibliotek połączeń z bazami danych, rozproszonych kolejek zadań itp." msgid "" "asyncio is often a perfect fit for IO-bound and high-level **structured** " "network code." msgstr "" +" asyncio często idealnie nadaje się do kodu związanego z operacjami wejścia/" +"wyjścia, inaczej IO-bound. oraz do wysokopoziomowego, **strukturalnego** " +"kodu sieciowego." -msgid "asyncio provides a set of **high-level** APIs to:" +msgid ":ref:`a-conceptual-overview-of-asyncio`" msgstr "" +msgid "Explanation of the fundamentals of asyncio." +msgstr "" + +msgid "asyncio provides a set of **high-level** APIs to:" +msgstr "asyncio zapewnia zestaw **wysopoziomowych** interfejsów API do:" + msgid "" ":ref:`run Python coroutines ` concurrently and have full control " "over their execution;" msgstr "" +":ref:`uruchamiania równoległych korutyn Pythona` oraz pełnej " +"kontroli nad ich wykonywaniem;" msgid "perform :ref:`network IO and IPC `;" msgstr "" @@ -134,6 +160,12 @@ msgid "" "'hello'" msgstr "" +msgid "" +"This REPL provides limited compatibility with :envvar:`PYTHON_BASIC_REPL`. " +"It is recommended that the default REPL is used for full functionality and " +"the latest features." +msgstr "" + msgid "" "Raises an :ref:`auditing event ` ``cpython.run_stdin`` with no " "arguments." diff --git a/library/audit_events.po b/library/audit_events.po index bad94f3dac..0e1092f27b 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,7 +55,7 @@ msgid "Arguments" msgstr "" msgid "_winapi.CreateFile" -msgstr "" +msgstr "_winapi.CreateFile" msgid "" "``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " @@ -63,34 +63,34 @@ msgid "" msgstr "" msgid "_winapi.CreateJunction" -msgstr "" +msgstr "_winapi.CreateJunction" msgid "``src_path``, ``dst_path``" msgstr "" msgid "_winapi.CreateNamedPipe" -msgstr "" +msgstr "_winapi.CreateNamedPipe" msgid "``name``, ``open_mode``, ``pipe_mode``" msgstr "" msgid "_winapi.CreatePipe" -msgstr "" +msgstr "_winapi.CreatePipe" msgid "_winapi.CreateProcess" -msgstr "" +msgstr "_winapi.CreateProcess" msgid "``application_name``, ``command_line``, ``current_directory``" msgstr "" msgid "_winapi.OpenProcess" -msgstr "" +msgstr "_winapi.OpenProcess" msgid "``process_id``, ``desired_access``" msgstr "" msgid "_winapi.TerminateProcess" -msgstr "" +msgstr "_winapi.TerminateProcess" msgid "``handle``, ``exit_code``" msgstr "" @@ -102,7 +102,7 @@ msgid "``exec_list``, ``args``, ``env``" msgstr "" msgid "ctypes.PyObj_FromPtr" -msgstr "" +msgstr "ctypes.PyObj_FromPtr" msgid "``obj``" msgstr "``obj``" diff --git a/library/base64.po b/library/base64.po index 9801e014b4..d8f45982b6 100644 --- a/library/base64.po +++ b/library/base64.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,17 +31,10 @@ msgstr "**Kod źródłowy:** :source:`Lib/base64.py`" msgid "" "This module provides functions for encoding binary data to printable ASCII " -"characters and decoding such encodings back to binary data. It provides " -"encoding and decoding functions for the encodings specified in :rfc:`4648`, " -"which defines the Base16, Base32, and Base64 algorithms, and for the de-" -"facto standard Ascii85 and Base85 encodings." -msgstr "" - -msgid "" -"The :rfc:`4648` encodings are suitable for encoding binary data so that it " -"can be safely sent by email, used as parts of URLs, or included as part of " -"an HTTP POST request. The encoding algorithm is not the same as the :" -"program:`uuencode` program." +"characters and decoding such encodings back to binary data. This includes " +"the :ref:`encodings specified in ` :rfc:`4648` (Base64, " +"Base32 and Base16) and the non-standard :ref:`Base85 encodings `." msgstr "" msgid "" @@ -54,12 +46,12 @@ msgid "" msgstr "" msgid "" -"The legacy interface does not support decoding from strings, but it does " -"provide functions for encoding and decoding to and from :term:`file objects " -"`. It only supports the Base64 standard alphabet, and it adds " -"newlines every 76 characters as per :rfc:`2045`. Note that if you are " -"looking for :rfc:`2045` support you probably want to be looking at the :mod:" -"`email` package instead." +"The :ref:`legacy interface ` does not support decoding from " +"strings, but it does provide functions for encoding and decoding to and " +"from :term:`file objects `. It only supports the Base64 " +"standard alphabet, and it adds newlines every 76 characters as per :rfc:" +"`2045`. Note that if you are looking for :rfc:`2045` support you probably " +"want to be looking at the :mod:`email` package instead." msgstr "" msgid "" @@ -73,8 +65,14 @@ msgid "" "added." msgstr "" -msgid "The modern interface provides:" -msgstr "W nowym interfejsie znajdują się:" +msgid "RFC 4648 Encodings" +msgstr "" + +msgid "" +"The :rfc:`4648` encodings are suitable for encoding binary data so that it " +"can be safely sent by email, used as parts of URLs, or included as part of " +"an HTTP POST request." +msgstr "" msgid "" "Encode the :term:`bytes-like object` *s* using Base64 and return the " @@ -207,6 +205,41 @@ msgid "" "return the decoded :class:`bytes`." msgstr "" +msgid "Base85 Encodings" +msgstr "" + +msgid "" +"Base85 encoding is not formally specified but rather a de facto standard, " +"thus different systems perform the encoding differently." +msgstr "" + +msgid "" +"The :func:`a85encode` and :func:`b85encode` functions in this module are two " +"implementations of the de facto standard. You should call the function with " +"the Base85 implementation used by the software you intend to work with." +msgstr "" + +msgid "" +"The two functions present in this module differ in how they handle the " +"following:" +msgstr "" + +msgid "Whether to include enclosing ``<~`` and ``~>`` markers" +msgstr "" + +msgid "Whether to include newline characters" +msgstr "" + +msgid "The set of ASCII characters used for encoding" +msgstr "" + +msgid "Handling of null bytes" +msgstr "" + +msgid "" +"Refer to the documentation of the individual functions for more information." +msgstr "" + msgid "" "Encode the :term:`bytes-like object` *b* using Ascii85 and return the " "encoded :class:`bytes`." @@ -251,10 +284,9 @@ msgid "" msgstr "" msgid "" -"*ignorechars* should be a :term:`bytes-like object` or ASCII string " -"containing characters to ignore from the input. This should only contain " -"whitespace characters, and by default contains all whitespace characters in " -"ASCII." +"*ignorechars* should be a byte string containing characters to ignore from " +"the input. This should only contain whitespace characters, and by default " +"contains all whitespace characters in ASCII." msgstr "" msgid "" @@ -285,8 +317,8 @@ msgid "" "zeromq.org/spec/32/>`_ for more information." msgstr "" -msgid "The legacy interface:" -msgstr "Przestarzały interfejs:" +msgid "Legacy Interface" +msgstr "" msgid "" "Decode the contents of the binary *input* file and write the resulting " diff --git a/library/bdb.po b/library/bdb.po index cdacd742b8..500a138c6e 100644 --- a/library/bdb.po +++ b/library/bdb.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,30 +23,34 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`bdb` --- Debugger framework" +msgid ":mod:`!bdb` --- Debugger framework" msgstr "" msgid "**Source code:** :source:`Lib/bdb.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/bdb.py`" msgid "" "The :mod:`bdb` module handles basic debugger functions, like setting " "breakpoints or managing execution via the debugger." msgstr "" +"Модуль :mod:`bdb` обробляє основні функції налагоджувача, як-от встановлення " +"точок зупину або керування виконанням через налагоджувач." msgid "The following exception is defined:" -msgstr "" +msgstr "Визначено такий виняток:" msgid "Exception raised by the :class:`Bdb` class for quitting the debugger." -msgstr "" +msgstr "Виняток, створений класом :class:`Bdb` для виходу з налагоджувача." msgid "The :mod:`bdb` module also defines two classes:" -msgstr "" +msgstr "Модуль :mod:`bdb` також визначає два класи:" msgid "" "This class implements temporary breakpoints, ignore counts, disabling and " "(re-)enabling, and conditionals." msgstr "" +"Цей клас реалізує тимчасові точки зупинки, ігнорування підрахунків, " +"відключення та (повторне) увімкнення, а також умови." msgid "" "Breakpoints are indexed by number through a list called :attr:`bpbynumber` " @@ -54,6 +58,10 @@ msgid "" "a single instance of class :class:`Breakpoint`. The latter points to a list " "of such instances since there may be more than one breakpoint per line." msgstr "" +"Точки зупину індексуються за номером у списку під назвою :attr:`bpbynumber` " +"та парами ``(файл, рядок)`` через :attr:`bplist`. Перший вказує на єдиний " +"екземпляр класу :class:`Breakpoint`. Останній вказує на список таких " +"випадків, оскільки на рядок може бути більше однієї точки зупину." msgid "" "When creating a breakpoint, its associated :attr:`file name ` should " @@ -64,24 +72,27 @@ msgid "" msgstr "" msgid ":class:`Breakpoint` instances have the following methods:" -msgstr "" +msgstr "Екземпляри :class:`Breakpoint` мають такі методи:" msgid "" "Delete the breakpoint from the list associated to a file/line. If it is the " "last breakpoint in that position, it also deletes the entry for the file/" "line." msgstr "" +"Видалити точку зупину зі списку, пов’язаного з файлом/рядком. Якщо це " +"остання точка зупину в цій позиції, вона також видаляє запис для файлу/рядка." msgid "Mark the breakpoint as enabled." -msgstr "" +msgstr "Позначте точку зупину як увімкнену." msgid "Mark the breakpoint as disabled." -msgstr "" +msgstr "Позначте точку зупину як вимкнену." msgid "" "Return a string with all the information about the breakpoint, nicely " "formatted:" msgstr "" +"Повертає рядок з усією інформацією про точку зупину, красиво відформатований:" msgid "Breakpoint number." msgstr "" @@ -105,6 +116,8 @@ msgid "" "Print the output of :meth:`bpformat` to the file *out*, or if it is " "``None``, to standard output." msgstr "" +"Надрукувати вихідні дані :meth:`bpformat` у файл *out*, або, якщо він " +"``None``, у стандартний вихід." msgid ":class:`Breakpoint` instances have the following attributes:" msgstr "" @@ -115,7 +128,7 @@ msgstr "" msgid "Line number of the :class:`Breakpoint` within :attr:`file`." msgstr "" -msgid "True if a :class:`Breakpoint` at (file, line) is temporary." +msgid "``True`` if a :class:`Breakpoint` at (file, line) is temporary." msgstr "" msgid "Condition for evaluating a :class:`Breakpoint` at (file, line)." @@ -126,7 +139,7 @@ msgid "" "entering the function." msgstr "" -msgid "True if :class:`Breakpoint` is enabled." +msgid "``True`` if :class:`Breakpoint` is enabled." msgstr "" msgid "Numeric index for a single instance of a :class:`Breakpoint`." @@ -144,13 +157,16 @@ msgid "Count of the number of times a :class:`Breakpoint` has been hit." msgstr "" msgid "The :class:`Bdb` class acts as a generic Python debugger base class." -msgstr "" +msgstr "Клас :class:`Bdb` діє як загальний базовий клас налагоджувача Python." msgid "" "This class takes care of the details of the trace facility; a derived class " "should implement user interaction. The standard debugger class (:class:`pdb." "Pdb`) is an example." msgstr "" +"Цей клас піклується про деталі засобу трасування; похідний клас повинен " +"реалізовувати взаємодію з користувачем. Прикладом є стандартний клас " +"відладчика (:class:`pdb.Pdb`)." msgid "" "The *skip* argument, if given, must be an iterable of glob-style module name " @@ -159,13 +175,32 @@ msgid "" "originate in a certain module is determined by the ``__name__`` in the frame " "globals." msgstr "" +"Аргумент *skip*, якщо він наданий, має бути повторюваним шаблоном імен " +"модулів у стилі glob. Налагоджувач не ввійде в кадри, які походять із " +"модуля, який відповідає одному з цих шаблонів. Чи вважається, що фрейм " +"походить із певного модуля, визначається ``__name__`` у глобальних " +"параметрах фрейму." -msgid "The *skip* argument." +msgid "" +"The *backend* argument specifies the backend to use for :class:`Bdb`. It can " +"be either ``'settrace'`` or ``'monitoring'``. ``'settrace'`` uses :func:`sys." +"settrace` which has the best backward compatibility. The ``'monitoring'`` " +"backend uses the new :mod:`sys.monitoring` that was introduced in Python " +"3.12, which can be much more efficient because it can disable unused events. " +"We are trying to keep the exact interfaces for both backends, but there are " +"some differences. The debugger developers are encouraged to use the " +"``'monitoring'`` backend to achieve better performance." +msgstr "" + +msgid "Added the *skip* parameter." +msgstr "" + +msgid "Added the *backend* parameter." msgstr "" msgid "" "The following methods of :class:`Bdb` normally don't need to be overridden." -msgstr "" +msgstr "Наступні методи :class:`Bdb` зазвичай не потребують перевизначення." msgid "Return canonical form of *filename*." msgstr "" @@ -178,102 +213,126 @@ msgid "" msgstr "" msgid "" -"Set the :attr:`botframe`, :attr:`stopframe`, :attr:`returnframe` and :attr:" -"`quitting` attributes with values ready to start debugging." +"Start tracing. For ``'settrace'`` backend, this method is equivalent to " +"``sys.settrace(self.trace_dispatch)``" +msgstr "" + +msgid "" +"Stop tracing. For ``'settrace'`` backend, this method is equivalent to ``sys." +"settrace(None)``" +msgstr "" + +msgid "" +"Set the :attr:`!botframe`, :attr:`!stopframe`, :attr:`!returnframe` and :" +"attr:`quitting ` attributes with values ready to start " +"debugging." msgstr "" msgid "" "This function is installed as the trace function of debugged frames. Its " "return value is the new trace function (in most cases, that is, itself)." msgstr "" +"Ця функція встановлена як функція трасування налагоджених кадрів. Його " +"значенням, що повертається, є нова функція трасування (у більшості випадків, " +"тобто сама)." msgid "" "The default implementation decides how to dispatch a frame, depending on the " "type of event (passed as a string) that is about to be executed. *event* can " "be one of the following:" msgstr "" +"Реалізація за замовчуванням вирішує, як відправляти кадр, залежно від типу " +"події (переданої у вигляді рядка), яка має бути виконана. *подією* може бути " +"одне з наступного:" msgid "``\"line\"``: A new line of code is going to be executed." -msgstr "" +msgstr "``\"рядок\"``: буде виконано новий рядок коду." msgid "" "``\"call\"``: A function is about to be called, or another code block " "entered." -msgstr "" +msgstr "``\"виклик\"``: функція буде викликана або введено інший блок коду." msgid "``\"return\"``: A function or other code block is about to return." -msgstr "" +msgstr "``\"return\"``: функція або інший блок коду збирається повернутися." msgid "``\"exception\"``: An exception has occurred." -msgstr "" +msgstr "``\"exception\"``: сталася виняток." msgid "``\"c_call\"``: A C function is about to be called." -msgstr "" +msgstr "``\"c_call\"``: функція C збирається викликатися." msgid "``\"c_return\"``: A C function has returned." -msgstr "" +msgstr "``\"c_return\"``: функція C повернулася." msgid "``\"c_exception\"``: A C function has raised an exception." -msgstr "" +msgstr "``\"c_exception\"``: функція C викликала виняток." msgid "" "For the Python events, specialized functions (see below) are called. For " "the C events, no action is taken." msgstr "" +"Для подій Python викликаються спеціалізовані функції (див. нижче). Для подій " +"C не виконується жодних дій." msgid "The *arg* parameter depends on the previous event." -msgstr "" +msgstr "Параметр *arg* залежить від попередньої події." msgid "" "See the documentation for :func:`sys.settrace` for more information on the " "trace function. For more information on code and frame objects, refer to :" "ref:`types`." msgstr "" +"Перегляньте документацію для :func:`sys.settrace`, щоб дізнатися більше про " +"функцію трасування. Для отримання додаткової інформації про код і об’єкти " +"фрейму зверніться до :ref:`types`." msgid "" "If the debugger should stop on the current line, invoke the :meth:" "`user_line` method (which should be overridden in subclasses). Raise a :exc:" -"`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can be " -"set from :meth:`user_line`). Return a reference to the :meth:" +"`BdbQuit` exception if the :attr:`quitting ` flag is set " +"(which can be set from :meth:`user_line`). Return a reference to the :meth:" "`trace_dispatch` method for further tracing in that scope." msgstr "" msgid "" "If the debugger should stop on this function call, invoke the :meth:" "`user_call` method (which should be overridden in subclasses). Raise a :exc:" -"`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can be " -"set from :meth:`user_call`). Return a reference to the :meth:" +"`BdbQuit` exception if the :attr:`quitting ` flag is set " +"(which can be set from :meth:`user_call`). Return a reference to the :meth:" "`trace_dispatch` method for further tracing in that scope." msgstr "" msgid "" "If the debugger should stop on this function return, invoke the :meth:" "`user_return` method (which should be overridden in subclasses). Raise a :" -"exc:`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can " -"be set from :meth:`user_return`). Return a reference to the :meth:" -"`trace_dispatch` method for further tracing in that scope." +"exc:`BdbQuit` exception if the :attr:`quitting ` flag is set " +"(which can be set from :meth:`user_return`). Return a reference to the :" +"meth:`trace_dispatch` method for further tracing in that scope." msgstr "" msgid "" "If the debugger should stop at this exception, invokes the :meth:" "`user_exception` method (which should be overridden in subclasses). Raise a :" -"exc:`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can " -"be set from :meth:`user_exception`). Return a reference to the :meth:" -"`trace_dispatch` method for further tracing in that scope." +"exc:`BdbQuit` exception if the :attr:`quitting ` flag is set " +"(which can be set from :meth:`user_exception`). Return a reference to the :" +"meth:`trace_dispatch` method for further tracing in that scope." msgstr "" msgid "" "Normally derived classes don't override the following methods, but they may " "if they want to redefine the definition of stopping and breakpoints." msgstr "" +"Зазвичай похідні класи не замінюють наступні методи, але вони можуть, якщо " +"хочуть перевизначити визначення зупинки та точок зупинки." -msgid "Return True if *module_name* matches any skip pattern." +msgid "Return ``True`` if *module_name* matches any skip pattern." msgstr "" -msgid "Return True if *frame* is below the starting frame in the stack." +msgid "Return ``True`` if *frame* is below the starting frame in the stack." msgstr "" -msgid "Return True if there is an effective breakpoint for this line." +msgid "Return ``True`` if there is an effective breakpoint for this line." msgstr "" msgid "" @@ -281,19 +340,26 @@ msgid "" "temporary breakpoints based on information from :func:`effective`." msgstr "" -msgid "Return True if any breakpoint exists for *frame*'s filename." +msgid "Return ``True`` if any breakpoint exists for *frame*'s filename." msgstr "" msgid "" "Derived classes should override these methods to gain control over debugger " "operation." msgstr "" +"Похідні класи повинні перевизначати ці методи, щоб отримати контроль над " +"роботою відладчика." msgid "" "Called from :meth:`dispatch_call` if a break might stop inside the called " "function." msgstr "" +msgid "" +"*argument_list* is not used anymore and will always be ``None``. The " +"argument is kept for backwards compatibility." +msgstr "" + msgid "" "Called from :meth:`dispatch_line` when either :meth:`stop_here` or :meth:" "`break_here` returns ``True``." @@ -309,24 +375,26 @@ msgid "" msgstr "" msgid "Handle how a breakpoint must be removed when it is a temporary one." -msgstr "" +msgstr "Визначте, як потрібно видалити точку зупину, якщо вона є тимчасовою." msgid "This method must be implemented by derived classes." -msgstr "" +msgstr "Цей метод має бути реалізований похідними класами." msgid "" "Derived classes and clients can call the following methods to affect the " "stepping state." msgstr "" +"Похідні класи та клієнти можуть викликати наступні методи, щоб впливати на " +"кроковий стан." msgid "Stop after one line of code." -msgstr "" +msgstr "Зупинка після одного рядка коду." msgid "Stop on the next line in or below the given frame." -msgstr "" +msgstr "Зупиніться на наступному рядку в заданому кадрі або під ним." msgid "Stop when returning from the given frame." -msgstr "" +msgstr "Зупинка при поверненні із заданого кадру." msgid "" "Stop when the line with the *lineno* greater than the current one is reached " @@ -337,15 +405,25 @@ msgid "" "Start debugging from *frame*. If *frame* is not specified, debugging starts " "from caller's frame." msgstr "" +"Почніть налагодження з *фрейму*. Якщо *frame* не вказано, налагодження " +"починається з кадру абонента." + +msgid "" +":func:`set_trace` will enter the debugger immediately, rather than on the " +"next line of code to be executed." +msgstr "" msgid "" "Stop only at breakpoints or when finished. If there are no breakpoints, set " "the system trace function to ``None``." msgstr "" +"Зупиняйтеся лише в точках зупинки або після завершення. Якщо немає " +"контрольних точок, встановіть для функції трасування системи значення " +"``None``." msgid "" -"Set the :attr:`quitting` attribute to ``True``. This raises :exc:`BdbQuit` " -"in the next call to one of the :meth:`dispatch_\\*` methods." +"Set the :attr:`!quitting` attribute to ``True``. This raises :exc:`BdbQuit` " +"in the next call to one of the :meth:`!dispatch_\\*` methods." msgstr "" msgid "" @@ -353,12 +431,19 @@ msgid "" "breakpoints. These methods return a string containing an error message if " "something went wrong, or ``None`` if all is well." msgstr "" +"Похідні класи та клієнти можуть викликати наведені нижче методи для " +"керування точками зупинки. Ці методи повертають рядок, що містить " +"повідомлення про помилку, якщо щось пішло не так, або ``None``, якщо все " +"добре." msgid "" "Set a new breakpoint. If the *lineno* line doesn't exist for the *filename* " "passed as argument, return an error message. The *filename* should be in " "canonical form, as described in the :meth:`canonic` method." msgstr "" +"Встановіть нову точку зупинки. Якщо рядок *lineno* не існує для *ім’я " +"файлу*, переданого як аргумент, поверніть повідомлення про помилку. *Ім’я* " +"файлу має бути в канонічній формі, як описано в методі :meth:`canonic`." msgid "" "Delete the breakpoints in *filename* and *lineno*. If none were set, return " @@ -370,6 +455,9 @@ msgid "" "bpbynumber`. If *arg* is not numeric or out of range, return an error " "message." msgstr "" +"Видаліть точку зупину, яка має індекс *arg* у :attr:`Breakpoint.bpbynumber`. " +"Якщо *arg* не є числом або виходить за межі діапазону, повертає повідомлення " +"про помилку." msgid "" "Delete all breakpoints in *filename*. If none were set, return an error " @@ -386,25 +474,53 @@ msgid "" "given breakpoint never existed or has been deleted, a :exc:`ValueError` is " "raised." msgstr "" +"Повертає точку зупину, визначену заданим числом. Якщо *arg* є рядком, його " +"буде перетворено на число. Якщо *arg* є нечисловим рядком, якщо задана точка " +"зупину ніколи не існувала або була видалена, виникає :exc:`ValueError`." -msgid "Return True if there is a breakpoint for *lineno* in *filename*." +msgid "Return ``True`` if there is a breakpoint for *lineno* in *filename*." msgstr "" msgid "" "Return all breakpoints for *lineno* in *filename*, or an empty list if none " "are set." msgstr "" +"Повертає всі контрольні точки для *lineno* в *імені файлу* або порожній " +"список, якщо жодна з них не встановлена." msgid "Return all breakpoints in *filename*, or an empty list if none are set." msgstr "" +"Повертає всі контрольні точки в *назві файлу* або порожній список, якщо " +"жодна з них не встановлена." msgid "Return all breakpoints that are set." +msgstr "Повернути всі встановлені точки зупину." + +msgid "" +"Derived classes and clients can call the following methods to disable and " +"restart events to achieve better performance. These methods only work when " +"using the ``'monitoring'`` backend." +msgstr "" + +msgid "" +"Disable the current event until the next time :func:`restart_events` is " +"called. This is helpful when the debugger is not interested in the current " +"line." +msgstr "" + +msgid "" +"Restart all the disabled events. This function is automatically called in " +"``dispatch_*`` methods after ``user_*`` methods are called. If the " +"``dispatch_*`` methods are not overridden, the disabled events will be " +"restarted after each user interaction." msgstr "" msgid "" "Derived classes and clients can call the following methods to get a data " "structure representing a stack trace." msgstr "" +"Похідні класи та клієнти можуть викликати наведені нижче методи, щоб " +"отримати структуру даних, що представляє трасування стека." msgid "Return a list of (frame, lineno) tuples in a stack trace, and a size." msgstr "" @@ -426,40 +542,44 @@ msgid "The function name or ``\"\"``." msgstr "" msgid "The input arguments." -msgstr "" +msgstr "Вхідні аргументи." msgid "The return value." -msgstr "" +msgstr "Повернене значення." msgid "The line of code (if it exists)." -msgstr "" +msgstr "Рядок коду (якщо він існує)." msgid "" "The following two methods can be called by clients to use a debugger to " "debug a :term:`statement`, given as a string." msgstr "" +"Наступні два методи можуть бути викликані клієнтами для використання " +"налагоджувача для налагодження :term:`statement`, поданого як рядок." msgid "" "Debug a statement executed via the :func:`exec` function. *globals* " -"defaults to :attr:`__main__.__dict__`, *locals* defaults to *globals*." +"defaults to :attr:`!__main__.__dict__`, *locals* defaults to *globals*." msgstr "" msgid "" "Debug an expression executed via the :func:`eval` function. *globals* and " "*locals* have the same meaning as in :meth:`run`." msgstr "" +"Налагодити вираз, що виконується за допомогою функції :func:`eval`. " +"*globals* і *locals* мають те саме значення, що й у :meth:`run`." msgid "For backwards compatibility. Calls the :meth:`run` method." -msgstr "" +msgstr "Для зворотної сумісності. Викликає метод :meth:`run`." msgid "Debug a single function call, and return its result." -msgstr "" +msgstr "Налагодити один виклик функції та повернути його результат." msgid "Finally, the module defines the following functions:" -msgstr "" +msgstr "Нарешті, модуль визначає такі функції:" msgid "" -"Return True if we should break here, depending on the way the :class:" +"Return ``True`` if we should break here, depending on the way the :class:" "`Breakpoint` *b* was set." msgstr "" @@ -480,16 +600,19 @@ msgid "" "The *active breakpoint* is the first entry in :attr:`bplist ` for the (:attr:`file `, :attr:`line `) (which must exist) that is :attr:`enabled `, for which :func:`checkfuncname` is True, and that has neither a " -"False :attr:`condition ` nor positive :attr:`ignore " +"enabled>`, for which :func:`checkfuncname` is true, and that has neither a " +"false :attr:`condition ` nor positive :attr:`ignore " "` count. The *flag*, meaning that a temporary " -"breakpoint should be deleted, is False only when the :attr:`cond ` cannot be evaluated (in which case, :attr:`ignore ` count is ignored)." msgstr "" -msgid "If no such entry exists, then (None, None) is returned." +msgid "If no such entry exists, then ``(None, None)`` is returned." msgstr "" msgid "Start debugging with a :class:`Bdb` instance from caller's frame." +msgstr "Почніть налагодження з екземпляра :class:`Bdb` із фрейму абонента." + +msgid "quitting (bdb.Bdb attribute)" msgstr "" diff --git a/library/binascii.po b/library/binascii.po index f1fb5c0839..1d16a29a19 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!binascii` --- Convert between binary and ASCII" msgstr "" msgid "" -"The :mod:`binascii` module contains a number of methods to convert between " +"The :mod:`!binascii` module contains a number of methods to convert between " "binary and various ASCII-encoded binary representations. Normally, you will " "not use these functions directly but use wrapper modules like :mod:`base64` " -"instead. The :mod:`binascii` module contains low-level functions written in " +"instead. The :mod:`!binascii` module contains low-level functions written in " "C for greater speed that are used by the higher-level modules." msgstr "" @@ -44,7 +44,7 @@ msgstr "" msgid "ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." msgstr "" -msgid "The :mod:`binascii` module defines the following functions:" +msgid "The :mod:`!binascii` module defines the following functions:" msgstr "" msgid "" diff --git a/library/bisect.po b/library/bisect.po index a51e86dbcc..1598b761dc 100644 --- a/library/bisect.po +++ b/library/bisect.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +37,7 @@ msgid "" msgstr "" msgid "" -"The module is called :mod:`bisect` because it uses a basic bisection " +"The module is called :mod:`!bisect` because it uses a basic bisection " "algorithm to do its work. Unlike other bisection tools that search for a " "specific value, the functions in this module are designed to locate an " "insertion point. Accordingly, the functions never call an :meth:`~object." @@ -47,6 +46,16 @@ msgid "" "insertion point between values in an array." msgstr "" +msgid "" +"The functions in this module are not thread-safe. If multiple threads " +"concurrently use :mod:`!bisect` functions on the same sequence, this may " +"result in undefined behaviour. Likewise, if the provided sequence is mutated " +"by a different thread while a :mod:`!bisect` function is operating on it, " +"the result is undefined. For example, using :py:func:`~bisect.insort_left` " +"on the same list from multiple threads may result in the list becoming " +"unsorted." +msgstr "" + msgid "The following functions are provided:" msgstr "W module znajdują się następujące funkcje:" @@ -97,8 +106,8 @@ msgstr "" msgid "" "This function first runs :py:func:`~bisect.bisect_left` to locate an " -"insertion point. Next, it runs the :meth:`!insert` method on *a* to insert " -"*x* at the appropriate position to maintain sort order." +"insertion point. Next, it runs the :meth:`~sequence.insert` method on *a* to " +"insert *x* at the appropriate position to maintain sort order." msgstr "" msgid "" @@ -118,8 +127,8 @@ msgstr "" msgid "" "This function first runs :py:func:`~bisect.bisect_right` to locate an " -"insertion point. Next, it runs the :meth:`!insert` method on *a* to insert " -"*x* at the appropriate position to maintain sort order." +"insertion point. Next, it runs the :meth:`~sequence.insert` method on *a* to " +"insert *x* at the appropriate position to maintain sort order." msgstr "" msgid "Performance Notes" @@ -222,9 +231,9 @@ msgid "" msgstr "" msgid "" -">>> def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):\n" -"... i = bisect(breakpoints, score)\n" -"... return grades[i]\n" +">>> def grade(score)\n" +"... i = bisect([60, 70, 80, 90], score)\n" +"... return \"FDCBA\"[i]\n" "...\n" ">>> [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]\n" "['F', 'A', 'C', 'C', 'B', 'A', 'A']" diff --git a/library/builtins.po b/library/builtins.po index 21f8dbb6d4..d0933c9048 100644 --- a/library/builtins.po +++ b/library/builtins.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/bz2.po b/library/bz2.po index 52fe81b96d..571948351c 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,7 +35,7 @@ msgid "" "decompressing data using the bzip2 compression algorithm." msgstr "" -msgid "The :mod:`bz2` module contains:" +msgid "The :mod:`!bz2` module contains:" msgstr "" msgid "" @@ -53,6 +53,17 @@ msgid "" "(de)compression." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "(De)compression of files" msgstr "" @@ -336,7 +347,7 @@ msgstr "" msgid "Examples of usage" msgstr "Przykłady użycia" -msgid "Below are some examples of typical usage of the :mod:`bz2` module." +msgid "Below are some examples of typical usage of the :mod:`!bz2` module." msgstr "" msgid "" diff --git a/library/calendar.po b/library/calendar.po index 032fa65dd5..12fd0dc9aa 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,11 +23,11 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`calendar` --- General calendar-related functions" +msgid ":mod:`!calendar` --- General calendar-related functions" msgstr "" msgid "**Source code:** :source:`Lib/calendar.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/calendar.py`" msgid "" "This module allows you to output calendars like the Unix :program:`cal` " @@ -61,13 +61,34 @@ msgid "" "formatting itself. This is the job of subclasses." msgstr "" -msgid ":class:`Calendar` instances have the following methods:" +msgid ":class:`Calendar` instances have the following methods and attributes:" +msgstr "" + +msgid "The first weekday as an integer (0--6)." +msgstr "" + +msgid "" +"This property can also be set and read using :meth:`~Calendar." +"setfirstweekday` and :meth:`~Calendar.getfirstweekday` respectively." +msgstr "" + +msgid "Return an :class:`int` for the current first weekday (0--6)." +msgstr "" + +msgid "Identical to reading the :attr:`~Calendar.firstweekday` property." +msgstr "" + +msgid "" +"Set the first weekday to *firstweekday*, passed as an :class:`int` (0--6)" +msgstr "" + +msgid "Identical to setting the :attr:`~Calendar.firstweekday` property." msgstr "" msgid "" "Return an iterator for the week day numbers that will be used for one week. " "The first value from the iterator will be the same as the value of the :attr:" -"`firstweekday` property." +"`~Calendar.firstweekday` property." msgstr "" msgid "" @@ -145,6 +166,31 @@ msgstr "" msgid ":class:`TextCalendar` instances have the following methods:" msgstr "" +msgid "" +"Return a string representing a single day formatted with the given *width*. " +"If *theday* is ``0``, return a string of spaces of the specified width, " +"representing an empty day. The *weekday* parameter is unused." +msgstr "" + +msgid "" +"Return a single week in a string with no newline. If *w* is provided, it " +"specifies the width of the date columns, which are centered. Depends on the " +"first weekday as specified in the constructor or set by the :meth:" +"`setfirstweekday` method." +msgstr "" + +msgid "" +"Return a string representing the name of a single weekday formatted to the " +"specified *width*. The *weekday* parameter is an integer representing the " +"day of the week, where ``0`` is Monday and ``6`` is Sunday." +msgstr "" + +msgid "" +"Return a string containing the header row of weekday names, formatted with " +"the given *width* for each column. The names depend on the locale settings " +"and are padded to the specified width." +msgstr "" + msgid "" "Return a month's calendar in a multi-line string. If *w* is provided, it " "specifies the width of the date columns, which are centered. If *l* is " @@ -153,6 +199,13 @@ msgid "" "`setfirstweekday` method." msgstr "" +msgid "" +"Return a string representing the month's name centered within the specified " +"*width*. If *withyear* is ``True``, include the year in the output. The " +"*theyear* and *themonth* parameters specify the year and month for the name " +"to be formatted respectively." +msgstr "" + msgid "Print a month's calendar as returned by :meth:`formatmonth`." msgstr "" @@ -193,6 +246,11 @@ msgid "" "(defaulting to the system default encoding)." msgstr "" +msgid "" +"Return a month name as an HTML table row. If *withyear* is true the year " +"will be included in the row, otherwise just the month name will be used." +msgstr "" + msgid "" ":class:`!HTMLCalendar` has the following attributes you can override to " "customize the CSS classes used by the calendar:" @@ -202,9 +260,18 @@ msgid "" "A list of CSS classes used for each weekday. The default class list is::" msgstr "" +msgid "" +"cssclasses = [\"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\", \"sun\"]" +msgstr "" + msgid "more styles can be added for each day::" msgstr "" +msgid "" +"cssclasses = [\"mon text-bold\", \"tue\", \"wed\", \"thu\", \"fri\", " +"\"sat\", \"sun red\"]" +msgstr "" + msgid "Note that the length of this list must be seven items." msgstr "" @@ -242,9 +309,21 @@ msgid "" "single CSS class with a space separated list of CSS classes, for example::" msgstr "" +msgid "\"text-bold text-red\"" +msgstr "" + msgid "Here is an example how :class:`!HTMLCalendar` can be customized::" msgstr "" +msgid "" +"class CustomHTMLCal(calendar.HTMLCalendar):\n" +" cssclasses = [style + \" text-nowrap\" for style in\n" +" calendar.HTMLCalendar.cssclasses]\n" +" cssclass_month_head = \"text-center month-head\"\n" +" cssclass_month = \"text-center month\"\n" +" cssclass_year = \"text-italic lead\"" +msgstr "" + msgid "" "This subclass of :class:`TextCalendar` can be passed a locale name in the " "constructor and will return month and weekday names in the specified locale." @@ -256,7 +335,7 @@ msgid "" msgstr "" msgid "" -"The constructor, :meth:`formatweekday` and :meth:`formatmonthname` methods " +"The constructor, :meth:`!formatweekday` and :meth:`!formatmonthname` methods " "of these two classes temporarily change the ``LC_TIME`` locale to the given " "*locale*. Because the current locale is a process-wide setting, they are not " "thread-safe." @@ -272,6 +351,11 @@ msgid "" "provided for convenience. For example, to set the first weekday to Sunday::" msgstr "" +msgid "" +"import calendar\n" +"calendar.setfirstweekday(calendar.SUNDAY)" +msgstr "" + msgid "Returns the current setting for the weekday to start each week." msgstr "" @@ -313,7 +397,7 @@ msgstr "" msgid "" "Returns a month's calendar in a multi-line string using the :meth:" -"`formatmonth` of the :class:`TextCalendar` class." +"`~TextCalendar.formatmonth` of the :class:`TextCalendar` class." msgstr "" msgid "" @@ -322,7 +406,7 @@ msgstr "" msgid "" "Returns a 3-column calendar for an entire year as a multi-line string using " -"the :meth:`formatyear` of the :class:`TextCalendar` class." +"the :meth:`~TextCalendar.formatyear` of the :class:`TextCalendar` class." msgstr "" msgid "" @@ -333,31 +417,70 @@ msgid "" "inverse." msgstr "" -msgid "The :mod:`calendar` module exports the following data attributes:" +msgid "The :mod:`!calendar` module exports the following data attributes:" +msgstr "" + +msgid "" +"A sequence that represents the days of the week in the current locale, where " +"Monday is day number 0." +msgstr "" + +msgid "" +"A sequence that represents the abbreviated days of the week in the current " +"locale, where Mon is day number 0." msgstr "" -msgid "An array that represents the days of the week in the current locale." +msgid "" +"Aliases for the days of the week, where ``MONDAY`` is ``0`` and ``SUNDAY`` " +"is ``6``." msgstr "" msgid "" -"An array that represents the abbreviated days of the week in the current " -"locale." +"Enumeration defining days of the week as integer constants. The members of " +"this enumeration are exported to the module scope as :data:`MONDAY` through :" +"data:`SUNDAY`." msgstr "" msgid "" -"An array that represents the months of the year in the current locale. This " -"follows normal convention of January being month number 1, so it has a " -"length of 13 and ``month_name[0]`` is the empty string." +"A sequence that represents the months of the year in the current locale. " +"This follows normal convention of January being month number 1, so it has a " +"length of 13 and ``month_name[0]`` is the empty string." msgstr "" msgid "" -"An array that represents the abbreviated months of the year in the current " +"A sequence that represents the abbreviated months of the year in the current " "locale. This follows normal convention of January being month number 1, so " "it has a length of 13 and ``month_abbr[0]`` is the empty string." msgstr "" msgid "" -"Aliases for day numbers, where ``MONDAY`` is ``0`` and ``SUNDAY`` is ``6``." +"Aliases for the months of the year, where ``JANUARY`` is ``1`` and " +"``DECEMBER`` is ``12``." +msgstr "" + +msgid "" +"Enumeration defining months of the year as integer constants. The members of " +"this enumeration are exported to the module scope as :data:`JANUARY` " +"through :data:`DECEMBER`." +msgstr "" + +msgid "The :mod:`!calendar` module defines the following exceptions:" +msgstr "" + +msgid "" +"A subclass of :exc:`ValueError`, raised when the given month number is " +"outside of the range 1-12 (inclusive)." +msgstr "" + +msgid "The invalid month number." +msgstr "" + +msgid "" +"A subclass of :exc:`ValueError`, raised when the given weekday number is " +"outside of the range 0-6 (inclusive)." +msgstr "" + +msgid "The invalid weekday number." msgstr "" msgid "Module :mod:`datetime`" @@ -373,3 +496,162 @@ msgstr "" msgid "Low-level time related functions." msgstr "" + +msgid "Command-line usage" +msgstr "" + +msgid "" +"The :mod:`!calendar` module can be executed as a script from the command " +"line to interactively print a calendar." +msgstr "" + +msgid "" +"python -m calendar [-h] [-L LOCALE] [-e ENCODING] [-t {text,html}]\n" +" [-w WIDTH] [-l LINES] [-s SPACING] [-m MONTHS] [-c CSS]\n" +" [-f FIRST_WEEKDAY] [year] [month]" +msgstr "" + +msgid "For example, to print a calendar for the year 2000:" +msgstr "" + +msgid "" +"$ python -m calendar 2000\n" +" 2000\n" +"\n" +" January February March\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 2 1 2 3 4 5 6 1 2 3 4 5\n" +" 3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12\n" +"10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19\n" +"17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26\n" +"24 25 26 27 28 29 30 28 29 27 28 29 30 31\n" +"31\n" +"\n" +" April May June\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 2 1 2 3 4 5 6 7 1 2 3 4\n" +" 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11\n" +"10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18\n" +"17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25\n" +"24 25 26 27 28 29 30 29 30 31 26 27 28 29 30\n" +"\n" +" July August September\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 2 1 2 3 4 5 6 1 2 3\n" +" 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10\n" +"10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17\n" +"17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24\n" +"24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30\n" +"31\n" +"\n" +" October November December\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 1 2 3 4 5 1 2 3\n" +" 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10\n" +" 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17\n" +"16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24\n" +"23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31\n" +"30 31" +msgstr "" +"$ python -m calendar 2000\n" +" 2000\n" +"\n" +" January February March\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 2 1 2 3 4 5 6 1 2 3 4 5\n" +" 3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12\n" +"10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19\n" +"17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26\n" +"24 25 26 27 28 29 30 28 29 27 28 29 30 31\n" +"31\n" +"\n" +" April May June\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 2 1 2 3 4 5 6 7 1 2 3 4\n" +" 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11\n" +"10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18\n" +"17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25\n" +"24 25 26 27 28 29 30 29 30 31 26 27 28 29 30\n" +"\n" +" July August September\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 2 1 2 3 4 5 6 1 2 3\n" +" 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10\n" +"10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17\n" +"17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24\n" +"24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30\n" +"31\n" +"\n" +" October November December\n" +"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" +" 1 1 2 3 4 5 1 2 3\n" +" 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10\n" +" 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17\n" +"16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24\n" +"23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31\n" +"30 31" + +msgid "The following options are accepted:" +msgstr "" + +msgid "Show the help message and exit." +msgstr "" + +msgid "The locale to use for month and weekday names. Defaults to English." +msgstr "" + +msgid "" +"The encoding to use for output. :option:`--encoding` is required if :option:" +"`--locale` is set." +msgstr "" + +msgid "Print the calendar to the terminal as text, or as an HTML document." +msgstr "" + +msgid "" +"The weekday to start each week. Must be a number between 0 (Monday) and 6 " +"(Sunday). Defaults to 0." +msgstr "" + +msgid "The year to print the calendar for. Defaults to the current year." +msgstr "" + +msgid "" +"The month of the specified :option:`year` to print the calendar for. Must be " +"a number between 1 and 12, and may only be used in text mode. Defaults to " +"printing a calendar for the full year." +msgstr "" + +msgid "*Text-mode options:*" +msgstr "" + +msgid "" +"The width of the date column in terminal columns. The date is printed " +"centred in the column. Any value lower than 2 is ignored. Defaults to 2." +msgstr "" + +msgid "" +"The number of lines for each week in terminal rows. The date is printed top-" +"aligned. Any value lower than 1 is ignored. Defaults to 1." +msgstr "" + +msgid "" +"The space between months in columns. Any value lower than 2 is ignored. " +"Defaults to 6." +msgstr "" + +msgid "The number of months printed per row. Defaults to 3." +msgstr "" + +msgid "" +"By default, today's date is highlighted in color and can be :ref:`controlled " +"using environment variables `." +msgstr "" + +msgid "*HTML-mode options:*" +msgstr "" + +msgid "" +"The path of a CSS stylesheet to use for the calendar. This must either be " +"relative to the generated HTML, or an absolute HTTP or ``file:///`` URL." +msgstr "" diff --git a/library/cmath.po b/library/cmath.po index f0a7911c96..acbfe9cb57 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Biliński , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -74,13 +72,13 @@ msgid "**Conversions to and from polar coordinates**" msgstr "" msgid ":func:`phase(z) `" -msgstr "" +msgstr ":func:`phase(z) `" msgid "Return the phase of *z*" msgstr "" msgid ":func:`polar(z) `" -msgstr "" +msgstr ":func:`polar(z) `" msgid "Return the representation of *z* in polar coordinates" msgstr "" @@ -95,7 +93,7 @@ msgid "**Power and logarithmic functions**" msgstr "" msgid ":func:`exp(z) `" -msgstr "" +msgstr ":func:`exp(z) `" msgid "Return *e* raised to the power *z*" msgstr "" @@ -107,13 +105,13 @@ msgid "Return the logarithm of *z* to the given *base* (*e* by default)" msgstr "" msgid ":func:`log10(z) `" -msgstr "" +msgstr ":func:`log10(z) `" msgid "Return the base-10 logarithm of *z*" msgstr "" msgid ":func:`sqrt(z) `" -msgstr "" +msgstr ":func:`sqrt(z) `" msgid "Return the square root of *z*" msgstr "" @@ -122,37 +120,37 @@ msgid "**Trigonometric functions**" msgstr "" msgid ":func:`acos(z) `" -msgstr "" +msgstr ":func:`acos(z) `" msgid "Return the arc cosine of *z*" msgstr "" msgid ":func:`asin(z) `" -msgstr "" +msgstr ":func:`asin(z) `" msgid "Return the arc sine of *z*" msgstr "" msgid ":func:`atan(z) `" -msgstr "" +msgstr ":func:`atan(z) `" msgid "Return the arc tangent of *z*" msgstr "" msgid ":func:`cos(z) `" -msgstr "" +msgstr ":func:`cos(z) `" msgid "Return the cosine of *z*" msgstr "" msgid ":func:`sin(z) `" -msgstr "" +msgstr ":func:`sin(z) `" msgid "Return the sine of *z*" msgstr "" msgid ":func:`tan(z) `" -msgstr "" +msgstr ":func:`tan(z) `" msgid "Return the tangent of *z*" msgstr "" @@ -161,37 +159,37 @@ msgid "**Hyperbolic functions**" msgstr "" msgid ":func:`acosh(z) `" -msgstr "" +msgstr ":func:`acosh(z) `" msgid "Return the inverse hyperbolic cosine of *z*" msgstr "" msgid ":func:`asinh(z) `" -msgstr "" +msgstr ":func:`asinh(z) `" msgid "Return the inverse hyperbolic sine of *z*" msgstr "" msgid ":func:`atanh(z) `" -msgstr "" +msgstr ":func:`atanh(z) `" msgid "Return the inverse hyperbolic tangent of *z*" msgstr "" msgid ":func:`cosh(z) `" -msgstr "" +msgstr ":func:`cosh(z) `" msgid "Return the hyperbolic cosine of *z*" msgstr "" msgid ":func:`sinh(z) `" -msgstr "" +msgstr ":func:`sinh(z) `" msgid "Return the hyperbolic sine of *z*" msgstr "" msgid ":func:`tanh(z) `" -msgstr "" +msgstr ":func:`tanh(z) `" msgid "Return the hyperbolic tangent of *z*" msgstr "" @@ -200,19 +198,19 @@ msgid "**Classification functions**" msgstr "" msgid ":func:`isfinite(z) `" -msgstr "" +msgstr ":func:`isfinite(z) `" msgid "Check if all components of *z* are finite" msgstr "" msgid ":func:`isinf(z) `" -msgstr "" +msgstr ":func:`isinf(z) `" msgid "Check if any component of *z* is infinite" msgstr "" msgid ":func:`isnan(z) `" -msgstr "" +msgstr ":func:`isnan(z) `" msgid "Check if any component of *z* is a NaN" msgstr "" @@ -251,7 +249,7 @@ msgid "Positive infinity" msgstr "" msgid ":data:`infj`" -msgstr "" +msgstr ":data:`infj`" msgid "Pure imaginary infinity" msgstr "" @@ -263,7 +261,7 @@ msgid "\"Not a number\" (NaN)" msgstr "" msgid ":data:`nanj`" -msgstr "" +msgstr ":data:`nanj`" msgid "Pure imaginary NaN" msgstr "" @@ -308,8 +306,8 @@ msgstr "" msgid "" "The modulus (absolute value) of a complex number *z* can be computed using " -"the built-in :func:`abs` function. There is no separate :mod:`cmath` module " -"function for this operation." +"the built-in :func:`abs` function. There is no separate :mod:`!cmath` " +"module function for this operation." msgstr "" msgid "" @@ -483,7 +481,7 @@ msgstr "" msgid "" "A floating-point \"not a number\" (NaN) value. Equivalent to " -"``float('nan')``." +"``float('nan')``. See also :data:`math.nan`." msgstr "" msgid "" @@ -496,8 +494,8 @@ msgid "" "in module :mod:`math`. The reason for having two modules is that some users " "aren't interested in complex numbers, and perhaps don't even know what they " "are. They would rather have ``math.sqrt(-1)`` raise an exception than " -"return a complex number. Also note that the functions defined in :mod:" -"`cmath` always return a complex number, even if the answer can be expressed " +"return a complex number. Also note that the functions defined in :mod:`!" +"cmath` always return a complex number, even if the answer can be expressed " "as a real number (in which case the complex number has an imaginary part of " "zero)." msgstr "" diff --git a/library/cmd.po b/library/cmd.po index 50f2afbf9b..9bb9ef0118 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -256,8 +256,8 @@ msgid "Cmd Example" msgstr "" msgid "" -"The :mod:`cmd` module is mainly useful for building custom shells that let a " -"user work with a program interactively." +"The :mod:`!cmd` module is mainly useful for building custom shells that let " +"a user work with a program interactively." msgstr "" msgid "" diff --git a/library/cmdline.po b/library/cmdline.po index cfe2e6c1ce..e6f6629265 100644 --- a/library/cmdline.po +++ b/library/cmdline.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2023-10-13 14:16+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,37 +30,37 @@ msgid "The following modules have a command-line interface." msgstr "" msgid ":ref:`ast `" -msgstr "" +msgstr ":ref:`ast `" msgid ":ref:`asyncio `" -msgstr "" +msgstr ":ref:`asyncio `" msgid ":mod:`base64`" msgstr ":mod:`base64`" msgid ":ref:`calendar `" -msgstr "" +msgstr ":ref:`calendar `" msgid ":mod:`code`" msgstr ":mod:`code`" msgid ":ref:`compileall `" -msgstr "" +msgstr ":ref:`compileall `" msgid ":mod:`cProfile`: see :ref:`profile `" msgstr "" msgid ":ref:`dis `" -msgstr "" +msgstr ":ref:`dis `" msgid ":ref:`doctest `" -msgstr "" +msgstr ":ref:`doctest `" msgid ":mod:`!encodings.rot_13`" msgstr ":mod:`!encodings.rot_13`" -msgid ":mod:`ensurepip`" -msgstr ":mod:`ensurepip`" +msgid ":ref:`ensurepip `" +msgstr "" msgid ":mod:`filecmp`" msgstr ":mod:`filecmp`" @@ -72,46 +72,46 @@ msgid ":mod:`ftplib`" msgstr ":mod:`ftplib`" msgid ":ref:`gzip `" -msgstr "" +msgstr ":ref:`gzip `" msgid ":ref:`http.server `" -msgstr "" +msgstr ":ref:`http.server `" -msgid ":mod:`!idlelib`" -msgstr ":mod:`!idlelib`" +msgid ":ref:`idlelib `" +msgstr "" msgid ":ref:`inspect `" -msgstr "" +msgstr ":ref:`inspect `" msgid ":ref:`json `" -msgstr "" +msgstr ":ref:`json `" msgid ":ref:`mimetypes `" -msgstr "" +msgstr ":ref:`mimetypes `" -msgid ":mod:`pdb`" -msgstr ":mod:`pdb`" +msgid ":ref:`pdb `" +msgstr "" msgid ":ref:`pickle `" -msgstr "" +msgstr ":ref:`pickle `" msgid ":ref:`pickletools `" -msgstr "" +msgstr ":ref:`pickletools `" msgid ":ref:`platform `" -msgstr "" +msgstr ":ref:`platform `" msgid ":mod:`poplib`" msgstr ":mod:`poplib`" msgid ":ref:`profile `" -msgstr "" +msgstr ":ref:`profile `" msgid ":mod:`pstats`" msgstr ":mod:`pstats`" msgid ":ref:`py_compile `" -msgstr "" +msgstr ":ref:`py_compile `" msgid ":mod:`pyclbr`" msgstr ":mod:`pyclbr`" @@ -123,61 +123,61 @@ msgid ":mod:`quopri`" msgstr ":mod:`quopri`" msgid ":ref:`random `" -msgstr "" +msgstr ":ref:`random `" msgid ":mod:`runpy`" msgstr ":mod:`runpy`" msgid ":ref:`site `" -msgstr "" +msgstr ":ref:`site `" msgid ":ref:`sqlite3 `" -msgstr "" +msgstr ":ref:`sqlite3 `" msgid ":ref:`symtable `" -msgstr "" +msgstr ":ref:`symtable `" msgid ":ref:`sysconfig `" -msgstr "" +msgstr ":ref:`sysconfig `" msgid ":mod:`tabnanny`" msgstr ":mod:`tabnanny`" msgid ":ref:`tarfile `" -msgstr "" +msgstr ":ref:`tarfile `" msgid ":mod:`!this`" msgstr ":mod:`!this`" msgid ":ref:`timeit `" -msgstr "" +msgstr ":ref:`timeit `" msgid ":ref:`tokenize `" -msgstr "" +msgstr ":ref:`tokenize `" msgid ":ref:`trace `" -msgstr "" +msgstr ":ref:`trace `" msgid ":mod:`turtledemo`" msgstr ":mod:`turtledemo`" msgid ":ref:`unittest `" -msgstr "" +msgstr ":ref:`unittest `" msgid ":ref:`uuid `" -msgstr "" +msgstr ":ref:`uuid `" -msgid ":mod:`venv`" -msgstr ":mod:`venv`" +msgid ":ref:`venv `" +msgstr "" -msgid ":mod:`webbrowser`" -msgstr ":mod:`webbrowser`" +msgid ":ref:`webbrowser `" +msgstr "" msgid ":ref:`zipapp `" -msgstr "" +msgstr ":ref:`zipapp `" msgid ":ref:`zipfile `" -msgstr "" +msgstr ":ref:`zipfile `" msgid "See also the :ref:`Python command-line interface `." msgstr "" diff --git a/library/cmdlinelibs.po b/library/cmdlinelibs.po index eb48c0d48b..75c479efc9 100644 --- a/library/cmdlinelibs.po +++ b/library/cmdlinelibs.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2024-12-27 14:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,8 +23,8 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Command Line Interface Libraries" -msgstr "Biblioteki interfejsu wiersza poleceń" +msgid "Command-line interface libraries" +msgstr "" msgid "" "The modules described in this chapter assist with implementing command line " diff --git a/library/code.po b/library/code.po index b5334d71fc..d61ee317b0 100644 --- a/library/code.po +++ b/library/code.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,6 +44,13 @@ msgid "" "``'__console__'`` and key ``'__doc__'`` set to ``None``." msgstr "" +msgid "" +"Note that functions and classes objects created under an :class:`!" +"InteractiveInterpreter` instance will belong to the namespace specified by " +"*locals*. They are only pickleable if *locals* is the namespace of an " +"existing module." +msgstr "" + msgid "" "Closely emulate the behavior of the interactive Python interpreter. This " "class builds on :class:`InteractiveInterpreter` and adds prompting using the " diff --git a/library/codecs.po b/library/codecs.po index 3c694482da..049d142cb7 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:00+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -69,6 +68,14 @@ msgid "" "information on codec error handling." msgstr "" +msgid "" +"Return a mapping suitable for encoding with a custom single-byte encoding. " +"Given a :class:`str` *string* of up to 256 characters representing a " +"decoding table, returns either a compact internal mapping object " +"``EncodingMap`` or a :class:`dictionary ` mapping character ordinals " +"to byte values. Raises a :exc:`TypeError` on invalid input." +msgstr "" + msgid "The full details for each codec can also be looked up directly:" msgstr "" @@ -247,9 +254,9 @@ msgstr "" msgid "" "Uses an incremental encoder to iteratively encode the input provided by " -"*iterator*. This function is a :term:`generator`. The *errors* argument (as " -"well as any other keyword argument) is passed through to the incremental " -"encoder." +"*iterator*. *iterator* must yield :class:`str` objects. This function is a :" +"term:`generator`. The *errors* argument (as well as any other keyword " +"argument) is passed through to the incremental encoder." msgstr "" msgid "" @@ -260,9 +267,9 @@ msgstr "" msgid "" "Uses an incremental decoder to iteratively decode the input provided by " -"*iterator*. This function is a :term:`generator`. The *errors* argument (as " -"well as any other keyword argument) is passed through to the incremental " -"decoder." +"*iterator*. *iterator* must yield :class:`bytes` objects. This function is " +"a :term:`generator`. The *errors* argument (as well as any other keyword " +"argument) is passed through to the incremental decoder." msgstr "" msgid "" @@ -272,6 +279,20 @@ msgid "" "`iterencode`." msgstr "" +msgid "" +"Return a :class:`tuple` containing the raw bytes of *buffer*, a :ref:`buffer-" +"compatible object ` or :class:`str` (encoded to UTF-8 before " +"processing), and their length in bytes." +msgstr "" + +msgid "The *errors* argument is ignored." +msgstr "" + +msgid "" +">>> codecs.readbuffer_encode(b\"Zito\")\n" +"(b'Zito', 4)" +msgstr "" + msgid "" "The module also provides the following constants which are useful for " "reading and writing to platform dependent files:" @@ -292,7 +313,7 @@ msgid "Codec Base Classes" msgstr "" msgid "" -"The :mod:`codecs` module defines a set of base classes which define the " +"The :mod:`!codecs` module defines a set of base classes which define the " "interfaces for working with codec objects, and can also be used as the basis " "for custom codec implementations." msgstr "" @@ -403,7 +424,7 @@ msgid "``'surrogatepass'``" msgstr "``'surrogatepass'``" msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" -msgstr "" +msgstr "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" msgid "" "Allow encoding and decoding surrogate code point (``U+D800`` - ``U+DFFF``) " @@ -1008,27 +1029,34 @@ msgid "" "Unicode code point, is to store each code point as four consecutive bytes. " "There are two possibilities: store the bytes in big endian or in little " "endian order. These two encodings are called ``UTF-32-BE`` and ``UTF-32-LE`` " -"respectively. Their disadvantage is that if e.g. you use ``UTF-32-BE`` on a " -"little endian machine you will always have to swap bytes on encoding and " -"decoding. ``UTF-32`` avoids this problem: bytes will always be in natural " -"endianness. When these bytes are read by a CPU with a different endianness, " -"then bytes have to be swapped though. To be able to detect the endianness of " -"a ``UTF-16`` or ``UTF-32`` byte sequence, there's the so called BOM (\"Byte " -"Order Mark\"). This is the Unicode character ``U+FEFF``. This character can " -"be prepended to every ``UTF-16`` or ``UTF-32`` byte sequence. The byte " -"swapped version of this character (``0xFFFE``) is an illegal character that " -"may not appear in a Unicode text. So when the first character in a " -"``UTF-16`` or ``UTF-32`` byte sequence appears to be a ``U+FFFE`` the bytes " -"have to be swapped on decoding. Unfortunately the character ``U+FEFF`` had a " -"second purpose as a ``ZERO WIDTH NO-BREAK SPACE``: a character that has no " -"width and doesn't allow a word to be split. It can e.g. be used to give " -"hints to a ligature algorithm. With Unicode 4.0 using ``U+FEFF`` as a ``ZERO " -"WIDTH NO-BREAK SPACE`` has been deprecated (with ``U+2060`` (``WORD " -"JOINER``) assuming this role). Nevertheless Unicode software still must be " -"able to handle ``U+FEFF`` in both roles: as a BOM it's a device to determine " -"the storage layout of the encoded bytes, and vanishes once the byte sequence " -"has been decoded into a string; as a ``ZERO WIDTH NO-BREAK SPACE`` it's a " -"normal character that will be decoded like any other." +"respectively. Their disadvantage is that if, for example, you use ``UTF-32-" +"BE`` on a little endian machine you will always have to swap bytes on " +"encoding and decoding. Python's ``UTF-16`` and ``UTF-32`` codecs avoid this " +"problem by using the platform's native byte order when no BOM is present. " +"Python follows prevailing platform practice, so native-endian data round-" +"trips without redundant byte swapping, even though the Unicode Standard " +"defaults to big-endian when the byte order is unspecified. When these bytes " +"are read by a CPU with a different endianness, the bytes have to be swapped. " +"To be able to detect the endianness of a ``UTF-16`` or ``UTF-32`` byte " +"sequence, a BOM (\"Byte Order Mark\") is used. This is the Unicode character " +"``U+FEFF``. This character can be prepended to every ``UTF-16`` or " +"``UTF-32`` byte sequence. The byte swapped version of this character " +"(``0xFFFE``) is an illegal character that may not appear in a Unicode text. " +"When the first character of a ``UTF-16`` or ``UTF-32`` byte sequence is " +"``U+FFFE``, the bytes have to be swapped on decoding." +msgstr "" + +msgid "" +"Unfortunately the character ``U+FEFF`` had a second purpose as a ``ZERO " +"WIDTH NO-BREAK SPACE``: a character that has no width and doesn't allow a " +"word to be split. It can e.g. be used to give hints to a ligature algorithm. " +"With Unicode 4.0 using ``U+FEFF`` as a ``ZERO WIDTH NO-BREAK SPACE`` has " +"been deprecated (with ``U+2060`` (``WORD JOINER``) assuming this role). " +"Nevertheless Unicode software still must be able to handle ``U+FEFF`` in " +"both roles: as a BOM it's a device to determine the storage layout of the " +"encoded bytes, and vanishes once the byte sequence has been decoded into a " +"string; as a ``ZERO WIDTH NO-BREAK SPACE`` it's a normal character that will " +"be decoded like any other." msgstr "" msgid "" @@ -1051,25 +1079,25 @@ msgid "``U-00000000`` ... ``U-0000007F``" msgstr "``U-00000000`` ... ``U-0000007F``" msgid "0xxxxxxx" -msgstr "" +msgstr "0xxxxxxx" msgid "``U-00000080`` ... ``U-000007FF``" msgstr "``U-00000080`` ... ``U-000007FF``" msgid "110xxxxx 10xxxxxx" -msgstr "" +msgstr "110xxxxx 10xxxxxx" msgid "``U-00000800`` ... ``U-0000FFFF``" msgstr "``U-00000800`` ... ``U-0000FFFF``" msgid "1110xxxx 10xxxxxx 10xxxxxx" -msgstr "" +msgstr "1110xxxx 10xxxxxx 10xxxxxx" msgid "``U-00010000`` ... ``U-0010FFFF``" msgstr "``U-00010000`` ... ``U-0010FFFF``" msgid "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" -msgstr "" +msgstr "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" msgid "" "The least significant bit of the Unicode character is the rightmost x bit." @@ -1095,13 +1123,13 @@ msgid "" msgstr "" msgid "LATIN SMALL LETTER I WITH DIAERESIS" -msgstr "" +msgstr "LATIN SMALL LETTER I WITH DIAERESIS" msgid "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" -msgstr "" +msgstr "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" msgid "INVERTED QUESTION MARK" -msgstr "" +msgstr "INVERTED QUESTION MARK" msgid "" "in iso-8859-1), this increases the probability that a ``utf-8-sig`` encoding " @@ -1124,8 +1152,14 @@ msgid "" "for which the encoding is likely used. Neither the list of aliases nor the " "list of languages is meant to be exhaustive. Notice that spelling " "alternatives that only differ in case or use a hyphen instead of an " -"underscore are also valid aliases; therefore, e.g. ``'utf-8'`` is a valid " -"alias for the ``'utf_8'`` codec." +"underscore are also valid aliases because they are equivalent when " +"normalized by :func:`~encodings.normalize_encoding`. For example, " +"``'utf-8'`` is a valid alias for the ``'utf_8'`` codec." +msgstr "" + +msgid "" +"The below table lists the most common aliases, for a complete list refer to " +"the source :source:`aliases.py ` file." msgstr "" msgid "" @@ -1177,657 +1211,662 @@ msgid "Languages" msgstr "" msgid "ascii" -msgstr "" +msgstr "ascii" msgid "646, us-ascii" -msgstr "" +msgstr "646, us-ascii" msgid "English" msgstr "" msgid "big5" -msgstr "" +msgstr "big5" msgid "big5-tw, csbig5" -msgstr "" +msgstr "big5-tw, csbig5" msgid "Traditional Chinese" msgstr "" msgid "big5hkscs" -msgstr "" +msgstr "big5hkscs" msgid "big5-hkscs, hkscs" -msgstr "" +msgstr "big5-hkscs, hkscs" msgid "cp037" -msgstr "" +msgstr "cp037" msgid "IBM037, IBM039" -msgstr "" +msgstr "IBM037, IBM039" msgid "cp273" -msgstr "" +msgstr "cp273" msgid "273, IBM273, csIBM273" -msgstr "" +msgstr "273, IBM273, csIBM273" msgid "German" msgstr "" msgid "cp424" -msgstr "" +msgstr "cp424" msgid "EBCDIC-CP-HE, IBM424" -msgstr "" +msgstr "EBCDIC-CP-HE, IBM424" msgid "Hebrew" msgstr "" msgid "cp437" -msgstr "" +msgstr "cp437" msgid "437, IBM437" -msgstr "" +msgstr "437, IBM437" msgid "cp500" -msgstr "" +msgstr "cp500" msgid "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" -msgstr "" +msgstr "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" msgid "Western Europe" msgstr "" msgid "cp720" -msgstr "" +msgstr "cp720" msgid "Arabic" msgstr "" msgid "cp737" -msgstr "" +msgstr "cp737" msgid "Greek" msgstr "" msgid "cp775" -msgstr "" +msgstr "cp775" msgid "IBM775" -msgstr "" +msgstr "IBM775" msgid "Baltic languages" msgstr "" msgid "cp850" -msgstr "" +msgstr "cp850" msgid "850, IBM850" -msgstr "" +msgstr "850, IBM850" msgid "cp852" -msgstr "" +msgstr "cp852" msgid "852, IBM852" -msgstr "" +msgstr "852, IBM852" msgid "Central and Eastern Europe" msgstr "" msgid "cp855" -msgstr "" +msgstr "cp855" msgid "855, IBM855" -msgstr "" +msgstr "855, IBM855" msgid "Belarusian, Bulgarian, Macedonian, Russian, Serbian" msgstr "" msgid "cp856" -msgstr "" +msgstr "cp856" msgid "cp857" -msgstr "" +msgstr "cp857" msgid "857, IBM857" -msgstr "" +msgstr "857, IBM857" msgid "Turkish" msgstr "" msgid "cp858" -msgstr "" +msgstr "cp858" msgid "858, IBM858" -msgstr "" +msgstr "858, IBM858" msgid "cp860" -msgstr "" +msgstr "cp860" msgid "860, IBM860" -msgstr "" +msgstr "860, IBM860" msgid "Portuguese" msgstr "" msgid "cp861" -msgstr "" +msgstr "cp861" msgid "861, CP-IS, IBM861" -msgstr "" +msgstr "861, CP-IS, IBM861" msgid "Icelandic" msgstr "" msgid "cp862" -msgstr "" +msgstr "cp862" msgid "862, IBM862" -msgstr "" +msgstr "862, IBM862" msgid "cp863" -msgstr "" +msgstr "cp863" msgid "863, IBM863" -msgstr "" +msgstr "863, IBM863" msgid "Canadian" msgstr "" msgid "cp864" -msgstr "" +msgstr "cp864" msgid "IBM864" -msgstr "" +msgstr "IBM864" msgid "cp865" -msgstr "" +msgstr "cp865" msgid "865, IBM865" -msgstr "" +msgstr "865, IBM865" msgid "Danish, Norwegian" msgstr "" msgid "cp866" -msgstr "" +msgstr "cp866" msgid "866, IBM866" -msgstr "" +msgstr "866, IBM866" msgid "Russian" msgstr "" msgid "cp869" -msgstr "" +msgstr "cp869" msgid "869, CP-GR, IBM869" -msgstr "" +msgstr "869, CP-GR, IBM869" msgid "cp874" -msgstr "" +msgstr "cp874" msgid "Thai" msgstr "" msgid "cp875" -msgstr "" +msgstr "cp875" msgid "cp932" -msgstr "" +msgstr "cp932" msgid "932, ms932, mskanji, ms-kanji, windows-31j" -msgstr "" +msgstr "932, ms932, mskanji, ms-kanji, windows-31j" msgid "Japanese" msgstr "" msgid "cp949" -msgstr "" +msgstr "cp949" msgid "949, ms949, uhc" -msgstr "" +msgstr "949, ms949, uhc" msgid "Korean" msgstr "" msgid "cp950" -msgstr "" +msgstr "cp950" msgid "950, ms950" -msgstr "" +msgstr "950, ms950" msgid "cp1006" -msgstr "" +msgstr "cp1006" msgid "Urdu" msgstr "" msgid "cp1026" -msgstr "" +msgstr "cp1026" msgid "ibm1026" -msgstr "" +msgstr "ibm1026" msgid "cp1125" -msgstr "" +msgstr "cp1125" msgid "1125, ibm1125, cp866u, ruscii" -msgstr "" +msgstr "1125, ibm1125, cp866u, ruscii" msgid "Ukrainian" msgstr "" msgid "cp1140" -msgstr "" +msgstr "cp1140" msgid "ibm1140" -msgstr "" +msgstr "ibm1140" msgid "cp1250" -msgstr "" +msgstr "cp1250" msgid "windows-1250" -msgstr "" +msgstr "windows-1250" msgid "cp1251" -msgstr "" +msgstr "cp1251" msgid "windows-1251" -msgstr "" +msgstr "windows-1251" msgid "cp1252" -msgstr "" +msgstr "cp1252" msgid "windows-1252" -msgstr "" +msgstr "windows-1252" msgid "cp1253" -msgstr "" +msgstr "cp1253" msgid "windows-1253" -msgstr "" +msgstr "windows-1253" msgid "cp1254" -msgstr "" +msgstr "cp1254" msgid "windows-1254" -msgstr "" +msgstr "windows-1254" msgid "cp1255" -msgstr "" +msgstr "cp1255" msgid "windows-1255" -msgstr "" +msgstr "windows-1255" msgid "cp1256" -msgstr "" +msgstr "cp1256" msgid "windows-1256" -msgstr "" +msgstr "windows-1256" msgid "cp1257" -msgstr "" +msgstr "cp1257" msgid "windows-1257" -msgstr "" +msgstr "windows-1257" msgid "cp1258" -msgstr "" +msgstr "cp1258" msgid "windows-1258" -msgstr "" +msgstr "windows-1258" msgid "Vietnamese" msgstr "" msgid "euc_jp" -msgstr "" +msgstr "euc_jp" msgid "eucjp, ujis, u-jis" -msgstr "" +msgstr "eucjp, ujis, u-jis" msgid "euc_jis_2004" -msgstr "" +msgstr "euc_jis_2004" msgid "jisx0213, eucjis2004" -msgstr "" +msgstr "jisx0213, eucjis2004" msgid "euc_jisx0213" -msgstr "" +msgstr "euc_jisx0213" msgid "eucjisx0213" -msgstr "" +msgstr "eucjisx0213" msgid "euc_kr" -msgstr "" +msgstr "euc_kr" msgid "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" -msgstr "" +msgstr "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" msgid "gb2312" -msgstr "" +msgstr "gb2312" msgid "" "chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " "gb2312-80, iso-ir-58" msgstr "" +"chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " +"gb2312-80, iso-ir-58" msgid "Simplified Chinese" msgstr "" msgid "gbk" -msgstr "" +msgstr "gbk" msgid "936, cp936, ms936" -msgstr "" +msgstr "936, cp936, ms936" msgid "Unified Chinese" msgstr "" msgid "gb18030" -msgstr "" +msgstr "gb18030" msgid "gb18030-2000" -msgstr "" +msgstr "gb18030-2000" msgid "hz" -msgstr "" +msgstr "hz" msgid "hzgb, hz-gb, hz-gb-2312" -msgstr "" +msgstr "hzgb, hz-gb, hz-gb-2312" msgid "iso2022_jp" -msgstr "" +msgstr "iso2022_jp" msgid "csiso2022jp, iso2022jp, iso-2022-jp" -msgstr "" +msgstr "csiso2022jp, iso2022jp, iso-2022-jp" msgid "iso2022_jp_1" -msgstr "" +msgstr "iso2022_jp_1" msgid "iso2022jp-1, iso-2022-jp-1" -msgstr "" +msgstr "iso2022jp-1, iso-2022-jp-1" msgid "iso2022_jp_2" -msgstr "" +msgstr "iso2022_jp_2" msgid "iso2022jp-2, iso-2022-jp-2" -msgstr "" +msgstr "iso2022jp-2, iso-2022-jp-2" msgid "Japanese, Korean, Simplified Chinese, Western Europe, Greek" msgstr "" msgid "iso2022_jp_2004" -msgstr "" +msgstr "iso2022_jp_2004" msgid "iso2022jp-2004, iso-2022-jp-2004" -msgstr "" +msgstr "iso2022jp-2004, iso-2022-jp-2004" msgid "iso2022_jp_3" -msgstr "" +msgstr "iso2022_jp_3" msgid "iso2022jp-3, iso-2022-jp-3" -msgstr "" +msgstr "iso2022jp-3, iso-2022-jp-3" msgid "iso2022_jp_ext" -msgstr "" +msgstr "iso2022_jp_ext" msgid "iso2022jp-ext, iso-2022-jp-ext" -msgstr "" +msgstr "iso2022jp-ext, iso-2022-jp-ext" msgid "iso2022_kr" -msgstr "" +msgstr "iso2022_kr" msgid "csiso2022kr, iso2022kr, iso-2022-kr" -msgstr "" +msgstr "csiso2022kr, iso2022kr, iso-2022-kr" msgid "latin_1" -msgstr "" +msgstr "latin_1" msgid "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" -msgstr "" +msgstr "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" msgid "iso8859_2" -msgstr "" +msgstr "iso8859_2" msgid "iso-8859-2, latin2, L2" -msgstr "" +msgstr "iso-8859-2, latin2, L2" msgid "iso8859_3" -msgstr "" +msgstr "iso8859_3" msgid "iso-8859-3, latin3, L3" -msgstr "" +msgstr "iso-8859-3, latin3, L3" msgid "Esperanto, Maltese" msgstr "" msgid "iso8859_4" -msgstr "" +msgstr "iso8859_4" msgid "iso-8859-4, latin4, L4" +msgstr "iso-8859-4, latin4, L4" + +msgid "Northern Europe" msgstr "" msgid "iso8859_5" -msgstr "" +msgstr "iso8859_5" msgid "iso-8859-5, cyrillic" -msgstr "" +msgstr "iso-8859-5, cyrillic" msgid "iso8859_6" -msgstr "" +msgstr "iso8859_6" msgid "iso-8859-6, arabic" -msgstr "" +msgstr "iso-8859-6, arabic" msgid "iso8859_7" -msgstr "" +msgstr "iso8859_7" msgid "iso-8859-7, greek, greek8" -msgstr "" +msgstr "iso-8859-7, greek, greek8" msgid "iso8859_8" -msgstr "" +msgstr "iso8859_8" msgid "iso-8859-8, hebrew" -msgstr "" +msgstr "iso-8859-8, hebrew" msgid "iso8859_9" -msgstr "" +msgstr "iso8859_9" msgid "iso-8859-9, latin5, L5" -msgstr "" +msgstr "iso-8859-9, latin5, L5" msgid "iso8859_10" -msgstr "" +msgstr "iso8859_10" msgid "iso-8859-10, latin6, L6" -msgstr "" +msgstr "iso-8859-10, latin6, L6" msgid "Nordic languages" msgstr "" msgid "iso8859_11" -msgstr "" +msgstr "iso8859_11" msgid "iso-8859-11, thai" -msgstr "" +msgstr "iso-8859-11, thai" msgid "Thai languages" msgstr "" msgid "iso8859_13" -msgstr "" +msgstr "iso8859_13" msgid "iso-8859-13, latin7, L7" -msgstr "" +msgstr "iso-8859-13, latin7, L7" msgid "iso8859_14" -msgstr "" +msgstr "iso8859_14" msgid "iso-8859-14, latin8, L8" -msgstr "" +msgstr "iso-8859-14, latin8, L8" msgid "Celtic languages" msgstr "" msgid "iso8859_15" -msgstr "" +msgstr "iso8859_15" msgid "iso-8859-15, latin9, L9" -msgstr "" +msgstr "iso-8859-15, latin9, L9" msgid "iso8859_16" -msgstr "" +msgstr "iso8859_16" msgid "iso-8859-16, latin10, L10" -msgstr "" +msgstr "iso-8859-16, latin10, L10" msgid "South-Eastern Europe" msgstr "" msgid "johab" -msgstr "" +msgstr "johab" msgid "cp1361, ms1361" -msgstr "" +msgstr "cp1361, ms1361" msgid "koi8_r" -msgstr "" +msgstr "koi8_r" msgid "koi8_t" -msgstr "" +msgstr "koi8_t" msgid "Tajik" msgstr "" msgid "koi8_u" -msgstr "" +msgstr "koi8_u" msgid "kz1048" -msgstr "" +msgstr "kz1048" msgid "kz_1048, strk1048_2002, rk1048" -msgstr "" +msgstr "kz_1048, strk1048_2002, rk1048" msgid "Kazakh" msgstr "" msgid "mac_cyrillic" -msgstr "" +msgstr "mac_cyrillic" msgid "maccyrillic" -msgstr "" +msgstr "maccyrillic" msgid "mac_greek" -msgstr "" +msgstr "mac_greek" msgid "macgreek" msgstr "" msgid "mac_iceland" -msgstr "" +msgstr "mac_iceland" msgid "maciceland" -msgstr "" +msgstr "maciceland" msgid "mac_latin2" -msgstr "" +msgstr "mac_latin2" msgid "maclatin2, maccentraleurope, mac_centeuro" -msgstr "" +msgstr "maclatin2, maccentraleurope, mac_centeuro" msgid "mac_roman" -msgstr "" +msgstr "mac_roman" msgid "macroman, macintosh" -msgstr "" +msgstr "macroman, macintosh" msgid "mac_turkish" -msgstr "" +msgstr "mac_turkish" msgid "macturkish" -msgstr "" +msgstr "macturkish" msgid "ptcp154" -msgstr "" +msgstr "ptcp154" msgid "csptcp154, pt154, cp154, cyrillic-asian" -msgstr "" +msgstr "csptcp154, pt154, cp154, cyrillic-asian" msgid "shift_jis" -msgstr "" +msgstr "shift_jis" msgid "csshiftjis, shiftjis, sjis, s_jis" -msgstr "" +msgstr "csshiftjis, shiftjis, sjis, s_jis" msgid "shift_jis_2004" -msgstr "" +msgstr "shift_jis_2004" msgid "shiftjis2004, sjis_2004, sjis2004" -msgstr "" +msgstr "shiftjis2004, sjis_2004, sjis2004" msgid "shift_jisx0213" -msgstr "" +msgstr "shift_jisx0213" msgid "shiftjisx0213, sjisx0213, s_jisx0213" -msgstr "" +msgstr "shiftjisx0213, sjisx0213, s_jisx0213" msgid "utf_32" -msgstr "" +msgstr "utf_32" msgid "U32, utf32" -msgstr "" +msgstr "U32, utf32" msgid "all languages" msgstr "" msgid "utf_32_be" -msgstr "" +msgstr "utf_32_be" msgid "UTF-32BE" -msgstr "" +msgstr "UTF-32BE" msgid "utf_32_le" -msgstr "" +msgstr "utf_32_le" msgid "UTF-32LE" -msgstr "" +msgstr "UTF-32LE" msgid "utf_16" -msgstr "" +msgstr "utf_16" msgid "U16, utf16" -msgstr "" +msgstr "U16, utf16" msgid "utf_16_be" -msgstr "" +msgstr "utf_16_be" msgid "UTF-16BE" -msgstr "" +msgstr "UTF-16BE" msgid "utf_16_le" -msgstr "" +msgstr "utf_16_le" msgid "UTF-16LE" -msgstr "" +msgstr "UTF-16LE" msgid "utf_7" -msgstr "" +msgstr "utf_7" msgid "U7, unicode-1-1-utf-7" -msgstr "" +msgstr "U7, unicode-1-1-utf-7" msgid "utf_8" -msgstr "" +msgstr "utf_8" msgid "U8, UTF, utf8, cp65001" -msgstr "" +msgstr "U8, UTF, utf8, cp65001" msgid "utf_8_sig" -msgstr "" +msgstr "utf_8_sig" msgid "" "The utf-16\\* and utf-32\\* encoders no longer allow surrogate code points " @@ -1863,7 +1902,7 @@ msgid "" msgstr "" msgid "idna" -msgstr "" +msgstr "idna" msgid "" "Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " @@ -1871,36 +1910,36 @@ msgid "" msgstr "" msgid "mbcs" -msgstr "" +msgstr "mbcs" msgid "ansi, dbcs" -msgstr "" +msgstr "ansi, dbcs" msgid "" "Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." msgstr "" msgid "oem" -msgstr "" +msgstr "oem" msgid "" "Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." msgstr "" msgid "palmos" -msgstr "" +msgstr "palmos" msgid "Encoding of PalmOS 3.5." msgstr "" msgid "punycode" -msgstr "" +msgstr "punycode" msgid "Implement :rfc:`3492`. Stateful codecs are not supported." msgstr "" msgid "raw_unicode_escape" -msgstr "" +msgstr "raw_unicode_escape" msgid "" "Latin-1 encoding with :samp:`\\\\u{XXXX}` and :samp:`\\\\U{XXXXXXXX}` for " @@ -1911,13 +1950,16 @@ msgstr "" msgid "undefined" msgstr "" +msgid "This Codec should only be used for testing purposes." +msgstr "" + msgid "" "Raise an exception for all conversions, even empty strings. The error " "handler is ignored." msgstr "" msgid "unicode_escape" -msgstr "" +msgstr "unicode_escape" msgid "" "Encoding suitable as the contents of a Unicode literal in ASCII-encoded " @@ -1941,10 +1983,10 @@ msgid "Encoder / decoder" msgstr "" msgid "base64_codec [#b64]_" -msgstr "" +msgstr "base64_codec [#b64]_" msgid "base64, base_64" -msgstr "" +msgstr "base64, base_64" msgid "" "Convert the operand to multiline MIME base64 (the result always includes a " @@ -1956,38 +1998,38 @@ msgid "" msgstr "" msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" -msgstr "" +msgstr ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" msgid "bz2_codec" -msgstr "" +msgstr "bz2_codec" msgid "bz2" -msgstr "" +msgstr "bz2" msgid "Compress the operand using bz2." msgstr "" msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" -msgstr "" +msgstr ":meth:`bz2.compress` / :meth:`bz2.decompress`" msgid "hex_codec" -msgstr "" +msgstr "hex_codec" msgid "hex" -msgstr "" +msgstr "hex" msgid "" "Convert the operand to hexadecimal representation, with two digits per byte." msgstr "" msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" -msgstr "" +msgstr ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" msgid "quopri_codec" -msgstr "" +msgstr "quopri_codec" msgid "quopri, quotedprintable, quoted_printable" -msgstr "" +msgstr "quopri, quotedprintable, quoted_printable" msgid "Convert the operand to MIME quoted printable." msgstr "" @@ -1996,25 +2038,25 @@ msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" msgstr "" msgid "uu_codec" -msgstr "" +msgstr "uu_codec" msgid "uu" -msgstr "" +msgstr "uu" msgid "Convert the operand using uuencode." msgstr "" msgid "zlib_codec" -msgstr "" +msgstr "zlib_codec" msgid "zip, zlib" -msgstr "" +msgstr "zip, zlib" msgid "Compress the operand using gzip." msgstr "" msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" -msgstr "" +msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" msgid "" "In addition to :term:`bytes-like objects `, " @@ -2028,6 +2070,36 @@ msgstr "" msgid "Restoration of the aliases for the binary transforms." msgstr "" +msgid "Standalone Codec Functions" +msgstr "" + +msgid "" +"The following functions provide encoding and decoding functionality similar " +"to codecs, but are not available as named codecs through :func:`codecs." +"encode` or :func:`codecs.decode`. They are used internally (for example, by :" +"mod:`pickle`) and behave similarly to the ``string_escape`` codec that was " +"removed in Python 3." +msgstr "" + +msgid "" +"Encode *input* using escape sequences. Similar to how :func:`repr` on bytes " +"produces escaped byte values." +msgstr "" + +msgid "*input* must be a :class:`bytes` object." +msgstr "" + +msgid "" +"Returns a tuple ``(output, length)`` where *output* is a :class:`bytes` " +"object and *length* is the number of bytes consumed." +msgstr "" + +msgid "Decode *input* from escape sequences back to the original bytes." +msgstr "" + +msgid "*input* must be a :term:`bytes-like object`." +msgstr "" + msgid "Text Transforms" msgstr "" @@ -2038,10 +2110,10 @@ msgid "" msgstr "" msgid "rot_13" -msgstr "" +msgstr "rot_13" msgid "rot13" -msgstr "" +msgstr "rot13" msgid "Return the Caesar-cypher encryption of the operand." msgstr "" @@ -2052,8 +2124,69 @@ msgstr "" msgid "Restoration of the ``rot13`` alias." msgstr "" +msgid ":mod:`!encodings` --- Encodings package" +msgstr "" + +msgid "This module implements the following functions:" +msgstr "" + +msgid "Normalize encoding name *encoding*." +msgstr "" + msgid "" -":mod:`encodings.idna` --- Internationalized Domain Names in Applications" +"Normalization works as follows: all non-alphanumeric characters except the " +"dot used for Python package names are collapsed and replaced with a single " +"underscore, leading and trailing underscores are removed. For example, ``' " +"-;#'`` becomes ``'_'``." +msgstr "" + +msgid "Note that *encoding* should be ASCII only." +msgstr "" + +msgid "" +"The following functions should not be used directly, except for testing " +"purposes; :func:`codecs.lookup` should be used instead." +msgstr "" + +msgid "" +"Search for the codec module corresponding to the given encoding name " +"*encoding*." +msgstr "" + +msgid "" +"This function first normalizes the *encoding* using :func:" +"`normalize_encoding`, then looks for a corresponding alias. It attempts to " +"import a codec module from the encodings package using either the alias or " +"the normalized name. If the module is found and defines a valid " +"``getregentry()`` function that returns a :class:`codecs.CodecInfo` object, " +"the codec is cached and returned." +msgstr "" + +msgid "" +"If the codec module defines a ``getaliases()`` function any returned aliases " +"are registered for future use." +msgstr "" + +msgid "" +"Search for a Windows code page encoding *encoding* of the form ``cpXXXX``." +msgstr "" + +msgid "" +"If the code page is valid and supported, return a :class:`codecs.CodecInfo` " +"object for it." +msgstr "" + +msgid "Availability" +msgstr "Dostępność" + +msgid "This module implements the following exception:" +msgstr "" + +msgid "Raised when a codec is invalid or incompatible." +msgstr "" + +msgid "" +":mod:`!encodings.idna` --- Internationalized Domain Names in Applications" msgstr "" msgid "" @@ -2104,7 +2237,7 @@ msgid "" msgstr "" msgid "" -"The module :mod:`encodings.idna` also implements the nameprep procedure, " +"The module :mod:`!encodings.idna` also implements the nameprep procedure, " "which performs certain normalizations on host names, to achieve case-" "insensitivity of international domain names, and to unify similar " "characters. The nameprep functions can be used directly if desired." @@ -2123,15 +2256,12 @@ msgstr "" msgid "Convert a label to Unicode, as specified in :rfc:`3490`." msgstr "" -msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" +msgid ":mod:`!encodings.mbcs` --- Windows ANSI codepage" msgstr "" msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "" -msgid "Availability" -msgstr "Dostępność" - msgid "" "Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " "to encode, and ``'ignore'`` to decode." @@ -2140,7 +2270,7 @@ msgstr "" msgid "Support any error handler." msgstr "" -msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" +msgid ":mod:`!encodings.utf_8_sig` --- UTF-8 codec with BOM signature" msgstr "" msgid "" @@ -2197,13 +2327,13 @@ msgid "escape sequence" msgstr "" msgid "\\x" -msgstr "" +msgstr "\\x" msgid "\\u" -msgstr "" +msgstr "\\u" msgid "\\U" -msgstr "" +msgstr "\\U" msgid "xmlcharrefreplace" msgstr "" diff --git a/library/codeop.po b/library/codeop.po index f50ebfa8c4..ab71934469 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +30,7 @@ msgid "**Source code:** :source:`Lib/codeop.py`" msgstr "**Kod źródłowy:** :source:`Lib/codeop.py`" msgid "" -"The :mod:`codeop` module provides utilities upon which the Python read-eval-" +"The :mod:`!codeop` module provides utilities upon which the Python read-eval-" "print loop can be emulated, as is done in the :mod:`code` module. As a " "result, you probably don't want to use the module directly; if you want to " "include such a loop in your program you probably want to use the :mod:`code` " @@ -51,8 +51,8 @@ msgid "" msgstr "" msgid "" -"The :mod:`codeop` module provides a way of doing each of these things, and a " -"way of doing them both." +"The :mod:`!codeop` module provides a way of doing each of these things, and " +"a way of doing them both." msgstr "" msgid "To do just the former:" diff --git a/library/collections.abc.po b/library/collections.abc.po index 937265e949..506c439f60 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -169,13 +168,13 @@ msgid "Mixin Methods" msgstr "" msgid ":class:`Container` [1]_" -msgstr "" +msgstr ":class:`Container` [1]_" msgid "``__contains__``" msgstr "``__contains__``" msgid ":class:`Hashable` [1]_" -msgstr "" +msgstr ":class:`Hashable` [1]_" msgid "``__hash__``" msgstr "``__hash__``" @@ -187,7 +186,7 @@ msgid "``__iter__``" msgstr "``__iter__``" msgid ":class:`Iterator` [1]_" -msgstr "" +msgstr ":class:`Iterator` [1]_" msgid ":class:`Iterable`" msgstr ":class:`Iterable`" @@ -196,13 +195,13 @@ msgid "``__next__``" msgstr "``__next__``" msgid ":class:`Reversible` [1]_" -msgstr "" +msgstr ":class:`Reversible` [1]_" msgid "``__reversed__``" msgstr "``__reversed__``" msgid ":class:`Generator` [1]_" -msgstr "" +msgstr ":class:`Generator` [1]_" msgid ":class:`Iterator`" msgstr ":class:`Iterator`" @@ -214,22 +213,22 @@ msgid "``close``, ``__iter__``, ``__next__``" msgstr "``close``, ``__iter__``, ``__next__``" msgid ":class:`Sized` [1]_" -msgstr "" +msgstr ":class:`Sized` [1]_" msgid "``__len__``" msgstr "``__len__``" msgid ":class:`Callable` [1]_" -msgstr "" +msgstr ":class:`Callable` [1]_" msgid "``__call__``" msgstr "``__call__``" msgid ":class:`Collection` [1]_" -msgstr "" +msgstr ":class:`Collection` [1]_" msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`" -msgstr "" +msgstr ":class:`Sized`, :class:`Iterable`, :class:`Container`" msgid "``__contains__``, ``__iter__``, ``__len__``" msgstr "``__contains__``, ``__iter__``, ``__len__``" @@ -259,6 +258,12 @@ msgid "" "``extend``, ``pop``, ``remove``, and ``__iadd__``" msgstr "" +msgid ":class:`ByteString`" +msgstr ":class:`ByteString`" + +msgid "Inherited :class:`Sequence` methods" +msgstr "" + msgid ":class:`Set`" msgstr ":class:`Set`" @@ -333,13 +338,13 @@ msgid ":class:`MappingView`, :class:`Collection`" msgstr ":class:`MappingView`, :class:`Collection`" msgid ":class:`Awaitable` [1]_" -msgstr "" +msgstr ":class:`Awaitable` [1]_" msgid "``__await__``" msgstr "``__await__``" msgid ":class:`Coroutine` [1]_" -msgstr "" +msgstr ":class:`Coroutine` [1]_" msgid ":class:`Awaitable`" msgstr ":class:`Awaitable`" @@ -348,13 +353,13 @@ msgid "``close``" msgstr "``close``" msgid ":class:`AsyncIterable` [1]_" -msgstr "" +msgstr ":class:`AsyncIterable` [1]_" msgid "``__aiter__``" msgstr "``__aiter__``" msgid ":class:`AsyncIterator` [1]_" -msgstr "" +msgstr ":class:`AsyncIterator` [1]_" msgid ":class:`AsyncIterable`" msgstr ":class:`AsyncIterable`" @@ -363,7 +368,7 @@ msgid "``__anext__``" msgstr "``__anext__``" msgid ":class:`AsyncGenerator` [1]_" -msgstr "" +msgstr ":class:`AsyncGenerator` [1]_" msgid ":class:`AsyncIterator`" msgstr ":class:`AsyncIterator`" @@ -375,7 +380,7 @@ msgid "``aclose``, ``__aiter__``, ``__anext__``" msgstr "``aclose``, ``__aiter__``, ``__anext__``" msgid ":class:`Buffer` [1]_" -msgstr "" +msgstr ":class:`Buffer` [1]_" msgid "``__buffer__``" msgstr "``__buffer__``" @@ -459,15 +464,51 @@ msgstr "" msgid "" "Implementation note: Some of the mixin methods, such as :meth:`~container." -"__iter__`, :meth:`~object.__reversed__` and :meth:`index`, make repeated " -"calls to the underlying :meth:`~object.__getitem__` method. Consequently, " -"if :meth:`~object.__getitem__` is implemented with constant access speed, " -"the mixin methods will have linear performance; however, if the underlying " -"method is linear (as it would be with a linked list), the mixins will have " -"quadratic performance and will likely need to be overridden." +"__iter__`, :meth:`~object.__reversed__`, and :meth:`~sequence.index` make " +"repeated calls to the underlying :meth:`~object.__getitem__` method. " +"Consequently, if :meth:`~object.__getitem__` is implemented with constant " +"access speed, the mixin methods will have linear performance; however, if " +"the underlying method is linear (as it would be with a linked list), the " +"mixins will have quadratic performance and will likely need to be overridden." +msgstr "" + +msgid "Return first index of *value*." +msgstr "" + +msgid "Raises :exc:`ValueError` if the value is not present." +msgstr "" + +msgid "" +"Supporting the *start* and *stop* arguments is optional, but recommended." +msgstr "" + +msgid "" +"The :meth:`~sequence.index` method gained support for the *stop* and *start* " +"arguments." +msgstr "" + +msgid "The :class:`ByteString` ABC has been deprecated." +msgstr "" + +msgid "" +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`Buffer` or a union that explicitly " +"specifies the types your code supports (e.g., ``bytes | bytearray | " +"memoryview``)." +msgstr "" + +msgid "" +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." msgstr "" -msgid "The index() method added support for *stop* and *start* arguments." +msgid "See :pep:`PEP 688 <688#current-options>` for more details." msgstr "" msgid "ABCs for read-only and mutable :ref:`sets `." @@ -493,10 +534,10 @@ msgstr "" msgid "" "In CPython, generator-based coroutines (:term:`generators ` " -"decorated with :func:`@types.coroutine `) are *awaitables*, " -"even though they do not have an :meth:`~object.__await__` method. Using " -"``isinstance(gencoro, Awaitable)`` for them will return ``False``. Use :func:" -"`inspect.isawaitable` to detect them." +"decorated with :deco:`types.coroutine`) are *awaitables*, even though they " +"do not have an :meth:`~object.__await__` method. Using ``isinstance(gencoro, " +"Awaitable)`` for them will return ``False``. Use :func:`inspect.isawaitable` " +"to detect them." msgstr "" msgid "" @@ -509,10 +550,10 @@ msgstr "" msgid "" "In CPython, generator-based coroutines (:term:`generators ` " -"decorated with :func:`@types.coroutine `) are *awaitables*, " -"even though they do not have an :meth:`~object.__await__` method. Using " -"``isinstance(gencoro, Coroutine)`` for them will return ``False``. Use :func:" -"`inspect.isawaitable` to detect them." +"decorated with :deco:`types.coroutine`) are *awaitables*, even though they " +"do not have an :meth:`~object.__await__` method. Using ``isinstance(gencoro, " +"Coroutine)`` for them will return ``False``. Use :func:`inspect.isawaitable` " +"to detect them." msgstr "" msgid "" diff --git a/library/collections.po b/library/collections.po index 74c9d3d797..37a29cb908 100644 --- a/library/collections.po +++ b/library/collections.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -586,10 +586,10 @@ msgstr "" msgid "Deque objects support the following methods:" msgstr "" -msgid "Add *x* to the right side of the deque." +msgid "Add *item* to the right side of the deque." msgstr "" -msgid "Add *x* to the left side of the deque." +msgid "Add *item* to the left side of the deque." msgstr "" msgid "Remove all elements from the deque leaving it with length 0." @@ -598,7 +598,7 @@ msgstr "" msgid "Create a shallow copy of the deque." msgstr "" -msgid "Count the number of deque elements equal to *x*." +msgid "Count the number of deque elements equal to *value*." msgstr "" msgid "" @@ -613,12 +613,12 @@ msgid "" msgstr "" msgid "" -"Return the position of *x* in the deque (at or after index *start* and " +"Return the position of *value* in the deque (at or after index *start* and " "before index *stop*). Returns the first match or raises :exc:`ValueError` " "if not found." msgstr "" -msgid "Insert *x* into the deque at position *i*." +msgid "Insert *value* into the deque at position *index*." msgstr "" msgid "" @@ -870,9 +870,9 @@ msgid ":class:`defaultdict` objects support the following instance variable:" msgstr "" msgid "" -"This attribute is used by the :meth:`__missing__` method; it is initialized " -"from the first argument to the constructor, if present, or to ``None``, if " -"absent." +"This attribute is used by the :meth:`~defaultdict.__missing__` method; it is " +"initialized from the first argument to the constructor, if present, or to " +"``None``, if absent." msgstr "" msgid "" @@ -890,10 +890,10 @@ msgstr "" msgid "" "When each key is encountered for the first time, it is not already in the " "mapping; so an entry is automatically created using the :attr:`~defaultdict." -"default_factory` function which returns an empty :class:`list`. The :meth:`!" -"list.append` operation then attaches the value to the new list. When keys " +"default_factory` function which returns an empty :class:`list`. The :meth:" +"`list.append` operation then attaches the value to the new list. When keys " "are encountered again, the look-up proceeds normally (returning the list for " -"that key) and the :meth:`!list.append` operation adds another value to the " +"that key) and the :meth:`list.append` operation adds another value to the " "list. This technique is simpler and faster than an equivalent technique " "using :meth:`dict.setdefault`:" msgstr "" @@ -1445,14 +1445,13 @@ msgstr "" msgid "" "Class that simulates a dictionary. The instance's contents are kept in a " "regular dictionary, which is accessible via the :attr:`data` attribute of :" -"class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is " -"initialized with its contents; note that a reference to *initialdata* will " -"not be kept, allowing it to be used for other purposes." +"class:`!UserDict` instances. If arguments are provided, they are used to " +"initialize :attr:`data`, like a regular dictionary." msgstr "" msgid "" -"In addition to supporting the methods and operations of mappings, :class:" -"`UserDict` instances provide the following attribute:" +"In addition to supporting the methods and operations of mappings, :class:`!" +"UserDict` instances provide the following attribute:" msgstr "" msgid "" diff --git a/library/colorsys.po b/library/colorsys.po index 05e8a8725b..4a61d29790 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,9 +30,9 @@ msgid "**Source code:** :source:`Lib/colorsys.py`" msgstr "**Kod źródłowy:** :source:`Lib/colorsys.py`" msgid "" -"The :mod:`colorsys` module defines bidirectional conversions of color values " -"between colors expressed in the RGB (Red Green Blue) color space used in " -"computer monitors and three other coordinate systems: YIQ, HLS (Hue " +"The :mod:`!colorsys` module defines bidirectional conversions of color " +"values between colors expressed in the RGB (Red Green Blue) color space used " +"in computer monitors and three other coordinate systems: YIQ, HLS (Hue " "Lightness Saturation) and HSV (Hue Saturation Value). Coordinates in all of " "these color spaces are floating-point values. In the YIQ space, the Y " "coordinate is between 0 and 1, but the I and Q coordinates can be positive " @@ -45,7 +45,7 @@ msgid "" "htm." msgstr "" -msgid "The :mod:`colorsys` module defines the following functions:" +msgid "The :mod:`!colorsys` module defines the following functions:" msgstr "" msgid "Convert the color from RGB coordinates to YIQ coordinates." diff --git a/library/compileall.po b/library/compileall.po index 159ff4c7a6..c0dca07e95 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -81,8 +81,19 @@ msgid "" msgstr "" msgid "" -"Remove (``-s``) or append (``-p``) the given prefix of paths recorded in the " -"``.pyc`` files. Cannot be combined with ``-d``." +"Remove the given prefix from paths recorded in the ``.pyc`` files. Paths are " +"made relative to the prefix." +msgstr "" + +msgid "This option can be used with ``-p`` but not with ``-d``." +msgstr "" + +msgid "" +"Prepend the given prefix to paths recorded in the ``.pyc`` files. Use ``-p /" +"`` to make the paths absolute." +msgstr "" + +msgid "This option can be used with ``-s`` but not with ``-d``." msgstr "" msgid "" diff --git a/library/compression.zstd.po b/library/compression.zstd.po new file mode 100644 index 0000000000..860bf2c102 --- /dev/null +++ b/library/compression.zstd.po @@ -0,0 +1,978 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# Maciej Olko , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "" +":mod:`!compression.zstd` --- Compression compatible with the Zstandard format" +msgstr "" + +msgid "**Source code:** :source:`Lib/compression/zstd/__init__.py`" +msgstr "**Kod źródłowy:** :source:`Lib/compression/zstd/__init__.py`" + +msgid "" +"This module provides classes and functions for compressing and decompressing " +"data using the Zstandard (or *zstd*) compression algorithm. The `zstd manual " +"`__ describes " +"Zstandard as \"a fast lossless compression algorithm, targeting real-time " +"compression scenarios at zlib-level and better compression ratios.\" Also " +"included is a file interface that supports reading and writing the contents " +"of ``.zst`` files created by the :program:`zstd` utility, as well as raw " +"zstd compressed streams." +msgstr "" + +msgid "The :mod:`!compression.zstd` module contains:" +msgstr "" + +msgid "" +"The :func:`.open` function and :class:`ZstdFile` class for reading and " +"writing compressed files." +msgstr "" + +msgid "" +"The :class:`ZstdCompressor` and :class:`ZstdDecompressor` classes for " +"incremental (de)compression." +msgstr "" + +msgid "" +"The :func:`compress` and :func:`decompress` functions for one-shot " +"(de)compression." +msgstr "" + +msgid "" +"The :func:`train_dict` and :func:`finalize_dict` functions and the :class:" +"`ZstdDict` class to train and manage Zstandard dictionaries." +msgstr "" + +msgid "" +"The :class:`CompressionParameter`, :class:`DecompressionParameter`, and :" +"class:`Strategy` classes for setting advanced (de)compression parameters." +msgstr "" + +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + +msgid "Exceptions" +msgstr "Wyjątki" + +msgid "" +"This exception is raised when an error occurs during compression or " +"decompression, or while initializing the (de)compressor state." +msgstr "" + +msgid "Reading and writing compressed files" +msgstr "" + +msgid "" +"Open a Zstandard-compressed file in binary or text mode, returning a :term:" +"`file object`." +msgstr "" + +msgid "" +"The *file* argument can be either a file name (given as a :class:`str`, :" +"class:`bytes` or :term:`path-like ` object), in which case " +"the named file is opened, or it can be an existing file object to read from " +"or write to." +msgstr "" + +msgid "" +"The mode argument can be either ``'rb'`` for reading (default), ``'wb'`` for " +"overwriting, ``'ab'`` for appending, or ``'xb'`` for exclusive creation. " +"These can equivalently be given as ``'r'``, ``'w'``, ``'a'``, and ``'x'`` " +"respectively. You may also open in text mode with ``'rt'``, ``'wt'``, " +"``'at'``, and ``'xt'`` respectively." +msgstr "" + +msgid "" +"When reading, the *options* argument can be a dictionary providing advanced " +"decompression parameters; see :class:`DecompressionParameter` for detailed " +"information about supported parameters. The *zstd_dict* argument is a :class:" +"`ZstdDict` instance to be used during decompression. When reading, if the " +"*level* argument is not None, a :exc:`!TypeError` will be raised." +msgstr "" + +msgid "" +"When writing, the *options* argument can be a dictionary providing advanced " +"compression parameters; see :class:`CompressionParameter` for detailed " +"information about supported parameters. The *level* argument is the " +"compression level to use when writing compressed data. Only one of *level* " +"or *options* may be non-None. The *zstd_dict* argument is a :class:" +"`ZstdDict` instance to be used during compression." +msgstr "" + +msgid "" +"In binary mode, this function is equivalent to the :class:`ZstdFile` " +"constructor: ``ZstdFile(file, mode, ...)``. In this case, the *encoding*, " +"*errors*, and *newline* parameters must not be provided." +msgstr "" + +msgid "" +"In text mode, a :class:`ZstdFile` object is created, and wrapped in an :" +"class:`io.TextIOWrapper` instance with the specified encoding, error " +"handling behavior, and line endings." +msgstr "" + +msgid "Open a Zstandard-compressed file in binary mode." +msgstr "" + +msgid "" +"A :class:`ZstdFile` can wrap an already-open :term:`file object`, or operate " +"directly on a named file. The *file* argument specifies either the file " +"object to wrap, or the name of the file to open (as a :class:`str`, :class:" +"`bytes` or :term:`path-like ` object). If wrapping an " +"existing file object, the wrapped file will not be closed when the :class:" +"`ZstdFile` is closed." +msgstr "" + +msgid "" +"The *mode* argument can be either ``'rb'`` for reading (default), ``'wb'`` " +"for overwriting, ``'xb'`` for exclusive creation, or ``'ab'`` for appending. " +"These can equivalently be given as ``'r'``, ``'w'``, ``'x'`` and ``'a'`` " +"respectively." +msgstr "" + +msgid "" +"If *file* is a file object (rather than an actual file name), a mode of " +"``'w'`` does not truncate the file, and is instead equivalent to ``'a'``." +msgstr "" + +msgid "" +"When writing, the *options* argument can be a dictionary providing advanced " +"compression parameters; see :class:`CompressionParameter` for detailed " +"information about supported parameters. The *level* argument is the " +"compression level to use when writing compressed data. Only one of *level* " +"or *options* may be passed. The *zstd_dict* argument is a :class:`ZstdDict` " +"instance to be used during compression." +msgstr "" + +msgid "" +":class:`!ZstdFile` supports all the members specified by :class:`io." +"BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` and :meth:`~io." +"IOBase.truncate`. Iteration and the :keyword:`with` statement are supported." +msgstr "" + +msgid "The following method and attributes are also provided:" +msgstr "" + +msgid "" +"Return buffered data without advancing the file position. At least one byte " +"of data will be returned, unless EOF has been reached. The exact number of " +"bytes returned is unspecified (the *size* argument is ignored)." +msgstr "" + +msgid "" +"While calling :meth:`peek` does not change the file position of the :class:" +"`ZstdFile`, it may change the position of the underlying file object (for " +"example, if the :class:`ZstdFile` was constructed by passing a file object " +"for *file*)." +msgstr "" + +msgid "``'rb'`` for reading and ``'wb'`` for writing." +msgstr "" + +msgid "" +"The name of the Zstandard file. Equivalent to the :attr:`~io.FileIO.name` " +"attribute of the underlying :term:`file object`." +msgstr "" + +msgid "Compressing and decompressing data in memory" +msgstr "" + +msgid "" +"Compress *data* (a :term:`bytes-like object`), returning the compressed data " +"as a :class:`bytes` object." +msgstr "" + +msgid "" +"The *level* argument is an integer controlling the level of compression. " +"*level* is an alternative to setting :attr:`CompressionParameter." +"compression_level` in *options*. Use :meth:`~CompressionParameter.bounds` " +"on :attr:`~CompressionParameter.compression_level` to get the values that " +"can be passed for *level*. If advanced compression options are needed, the " +"*level* argument must be omitted and in the *options* dictionary the :attr:`!" +"CompressionParameter.compression_level` parameter should be set." +msgstr "" + +msgid "" +"The *options* argument is a Python dictionary containing advanced " +"compression parameters. The valid keys and values for compression parameters " +"are documented as part of the :class:`CompressionParameter` documentation." +msgstr "" + +msgid "" +"The *zstd_dict* argument is an instance of :class:`ZstdDict` containing " +"trained data to improve compression efficiency. The function :func:" +"`train_dict` can be used to generate a Zstandard dictionary." +msgstr "" + +msgid "" +"Decompress *data* (a :term:`bytes-like object`), returning the uncompressed " +"data as a :class:`bytes` object." +msgstr "" + +msgid "" +"The *options* argument is a Python dictionary containing advanced " +"decompression parameters. The valid keys and values for compression " +"parameters are documented as part of the :class:`DecompressionParameter` " +"documentation." +msgstr "" + +msgid "" +"The *zstd_dict* argument is an instance of :class:`ZstdDict` containing " +"trained data used during compression. This must be the same Zstandard " +"dictionary used during compression." +msgstr "" + +msgid "" +"If *data* is the concatenation of multiple distinct compressed frames, " +"decompress all of these frames, and return the concatenation of the results." +msgstr "" + +msgid "" +"Create a compressor object, which can be used to compress data incrementally." +msgstr "" + +msgid "" +"For a more convenient way of compressing a single chunk of data, see the " +"module-level function :func:`compress`." +msgstr "" + +msgid "" +"The *zstd_dict* argument is an optional instance of :class:`ZstdDict` " +"containing trained data to improve compression efficiency. The function :" +"func:`train_dict` can be used to generate a Zstandard dictionary." +msgstr "" + +msgid "" +"Compress *data* (a :term:`bytes-like object`), returning a :class:`bytes` " +"object with compressed data if possible, or otherwise an empty :class:`!" +"bytes` object. Some of *data* may be buffered internally, for use in later " +"calls to :meth:`!compress` and :meth:`~.flush`. The returned data should be " +"concatenated with the output of any previous calls to :meth:`~.compress`." +msgstr "" + +msgid "" +"The *mode* argument is a :class:`ZstdCompressor` attribute, either :attr:`~." +"CONTINUE`, :attr:`~.FLUSH_BLOCK`, or :attr:`~.FLUSH_FRAME`." +msgstr "" + +msgid "" +"When all data has been provided to the compressor, call the :meth:`~.flush` " +"method to finish the compression process. If :meth:`~.compress` is called " +"with *mode* set to :attr:`~.FLUSH_FRAME`, :meth:`~.flush` should not be " +"called, as it would write out a new empty frame." +msgstr "" + +msgid "" +"Finish the compression process, returning a :class:`bytes` object containing " +"any data stored in the compressor's internal buffers." +msgstr "" + +msgid "" +"The *mode* argument is a :class:`ZstdCompressor` attribute, either :attr:`~." +"FLUSH_BLOCK`, or :attr:`~.FLUSH_FRAME`." +msgstr "" + +msgid "" +"Specify the amount of uncompressed data *size* that will be provided for the " +"next frame. *size* will be written into the frame header of the next frame " +"unless :attr:`CompressionParameter.content_size_flag` is ``False`` or ``0``. " +"A size of ``0`` means that the frame is empty. If *size* is ``None``, the " +"frame header will omit the frame size. Frames that include the uncompressed " +"data size require less memory to decompress, especially at higher " +"compression levels." +msgstr "" + +msgid "" +"If :attr:`last_mode` is not :attr:`FLUSH_FRAME`, a :exc:`ValueError` is " +"raised as the compressor is not at the start of a frame. If the pledged size " +"does not match the actual size of data provided to :meth:`.compress`, future " +"calls to :meth:`!compress` or :meth:`flush` may raise :exc:`ZstdError` and " +"the last chunk of data may be lost." +msgstr "" + +msgid "" +"After :meth:`flush` or :meth:`.compress` are called with mode :attr:" +"`FLUSH_FRAME`, the next frame will not include the frame size into the " +"header unless :meth:`!set_pledged_input_size` is called again." +msgstr "" + +msgid "" +"Collect more data for compression, which may or may not generate output " +"immediately. This mode optimizes the compression ratio by maximizing the " +"amount of data per block and frame." +msgstr "" + +msgid "" +"Complete and write a block to the data stream. The data returned so far can " +"be immediately decompressed. Past data can still be referenced in future " +"blocks generated by calls to :meth:`~.compress`, improving compression." +msgstr "" + +msgid "" +"Complete and write out a frame. Future data provided to :meth:`~.compress` " +"will be written into a new frame and *cannot* reference past data." +msgstr "" + +msgid "" +"The last mode passed to either :meth:`~.compress` or :meth:`~.flush`. The " +"value can be one of :attr:`~.CONTINUE`, :attr:`~.FLUSH_BLOCK`, or :attr:`~." +"FLUSH_FRAME`. The initial value is :attr:`~.FLUSH_FRAME`, signifying that " +"the compressor is at the start of a new frame." +msgstr "" + +msgid "" +"Create a decompressor object, which can be used to decompress data " +"incrementally." +msgstr "" + +msgid "" +"For a more convenient way of decompressing an entire compressed stream at " +"once, see the module-level function :func:`decompress`." +msgstr "" + +msgid "" +"This class does not transparently handle inputs containing multiple " +"compressed frames, unlike the :func:`decompress` function and :class:" +"`ZstdFile` class. To decompress a multi-frame input, you should use :func:" +"`decompress`, :class:`ZstdFile` if working with a :term:`file object`, or " +"multiple :class:`!ZstdDecompressor` instances." +msgstr "" + +msgid "" +"Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " +"as bytes. Some of *data* may be buffered internally, for use in later calls " +"to :meth:`!decompress`. The returned data should be concatenated with the " +"output of any previous calls to :meth:`!decompress`." +msgstr "" + +msgid "" +"If *max_length* is non-negative, the method returns at most *max_length* " +"bytes of decompressed data. If this limit is reached and further output can " +"be produced, the :attr:`~.needs_input` attribute will be set to ``False``. " +"In this case, the next call to :meth:`~.decompress` may provide *data* as " +"``b''`` to obtain more of the output." +msgstr "" + +msgid "" +"If all of the input data was decompressed and returned (either because this " +"was less than *max_length* bytes, or because *max_length* was negative), " +"the :attr:`~.needs_input` attribute will be set to ``True``." +msgstr "" + +msgid "" +"Attempting to decompress data after the end of a frame will raise a :exc:" +"`ZstdError`. Any data found after the end of the frame is ignored and saved " +"in the :attr:`~.unused_data` attribute." +msgstr "" + +msgid "``True`` if the end-of-stream marker has been reached." +msgstr "" + +msgid "Data found after the end of the compressed stream." +msgstr "" + +msgid "Before the end of the stream is reached, this will be ``b''``." +msgstr "" + +msgid "" +"``False`` if the :meth:`.decompress` method can provide more decompressed " +"data before requiring new compressed input." +msgstr "" + +msgid "Zstandard dictionaries" +msgstr "" + +msgid "" +"Train a Zstandard dictionary, returning a :class:`ZstdDict` instance. " +"Zstandard dictionaries enable more efficient compression of smaller sizes of " +"data, which is traditionally difficult to compress due to less repetition. " +"If you are compressing multiple similar groups of data (such as similar " +"files), Zstandard dictionaries can improve compression ratios and speed " +"significantly." +msgstr "" + +msgid "" +"The *samples* argument (an iterable of :class:`bytes` objects), is the " +"population of samples used to train the Zstandard dictionary." +msgstr "" + +msgid "" +"The *dict_size* argument, an integer, is the maximum size (in bytes) the " +"Zstandard dictionary should be. The Zstandard documentation suggests an " +"absolute maximum of no more than 100 KB, but the maximum can often be " +"smaller depending on the data. Larger dictionaries generally slow down " +"compression, but improve compression ratios. Smaller dictionaries lead to " +"faster compression, but reduce the compression ratio." +msgstr "" + +msgid "" +"An advanced function for converting a \"raw content\" Zstandard dictionary " +"into a regular Zstandard dictionary. \"Raw content\" dictionaries are a " +"sequence of bytes that do not need to follow the structure of a normal " +"Zstandard dictionary." +msgstr "" + +msgid "" +"The *zstd_dict* argument is a :class:`ZstdDict` instance with the :attr:" +"`~ZstdDict.dict_content` containing the raw dictionary contents." +msgstr "" + +msgid "" +"The *samples* argument (an iterable of :class:`bytes` objects), contains " +"sample data for generating the Zstandard dictionary." +msgstr "" + +msgid "" +"The *dict_size* argument, an integer, is the maximum size (in bytes) the " +"Zstandard dictionary should be. See :func:`train_dict` for suggestions on " +"the maximum dictionary size." +msgstr "" + +msgid "" +"The *level* argument (an integer) is the compression level expected to be " +"passed to the compressors using this dictionary. The dictionary information " +"varies for each compression level, so tuning for the proper compression " +"level can make compression more efficient." +msgstr "" + +msgid "" +"A wrapper around Zstandard dictionaries. Dictionaries can be used to improve " +"the compression of many small chunks of data. Use :func:`train_dict` if you " +"need to train a new dictionary from sample data." +msgstr "" + +msgid "" +"The *dict_content* argument (a :term:`bytes-like object`), is the already " +"trained dictionary information." +msgstr "" + +msgid "" +"The *is_raw* argument, a boolean, is an advanced parameter controlling the " +"meaning of *dict_content*. ``True`` means *dict_content* is a \"raw " +"content\" dictionary, without any format restrictions. ``False`` means " +"*dict_content* is an ordinary Zstandard dictionary, created from Zstandard " +"functions, for example, :func:`train_dict` or the external :program:`zstd` " +"CLI." +msgstr "" + +msgid "" +"When passing a :class:`!ZstdDict` to a function, the :attr:`!" +"as_digested_dict` and :attr:`!as_undigested_dict` attributes can control how " +"the dictionary is loaded by passing them as the ``zstd_dict`` argument, for " +"example, ``compress(data, zstd_dict=zd.as_digested_dict)``. Digesting a " +"dictionary is a costly operation that occurs when loading a Zstandard " +"dictionary. When making multiple calls to compression or decompression, " +"passing a digested dictionary will reduce the overhead of loading the " +"dictionary." +msgstr "" + +msgid "Difference for compression" +msgstr "" + +msgid "Digested dictionary" +msgstr "" + +msgid "Undigested dictionary" +msgstr "" + +msgid "" +"Advanced parameters of the compressor which may be overridden by the " +"dictionary's parameters" +msgstr "" + +msgid "" +"``window_log``, ``hash_log``, ``chain_log``, ``search_log``, ``min_match``, " +"``target_length``, ``strategy``, ``enable_long_distance_matching``, " +"``ldm_hash_log``, ``ldm_min_match``, ``ldm_bucket_size_log``, " +"``ldm_hash_rate_log``, and some non-public parameters." +msgstr "" + +msgid "None" +msgstr "" + +msgid ":class:`!ZstdDict` internally caches the dictionary" +msgstr "" + +msgid "" +"Yes. It's faster when loading a digested dictionary again with the same " +"compression level." +msgstr "" + +msgid "" +"No. If you wish to load an undigested dictionary multiple times, consider " +"reusing a compressor object." +msgstr "" + +msgid "" +"If passing a :class:`!ZstdDict` without any attribute, an undigested " +"dictionary is passed by default when compressing and a digested dictionary " +"is generated if necessary and passed by default when decompressing." +msgstr "" + +msgid "" +"The content of the Zstandard dictionary, a ``bytes`` object. It's the same " +"as the *dict_content* argument in the ``__init__`` method. It can be used " +"with other programs, such as the ``zstd`` CLI program." +msgstr "" + +msgid "Identifier of the Zstandard dictionary, a non-negative int value." +msgstr "" + +msgid "" +"Non-zero means the dictionary is ordinary, created by Zstandard functions " +"and following the Zstandard format." +msgstr "" + +msgid "" +"``0`` means a \"raw content\" dictionary, free of any format restriction, " +"used for advanced users." +msgstr "" + +msgid "" +"The meaning of ``0`` for :attr:`!ZstdDict.dict_id` is different from the " +"``dictionary_id`` attribute to the :func:`get_frame_info` function." +msgstr "" + +msgid "Load as a digested dictionary." +msgstr "" + +msgid "Load as an undigested dictionary." +msgstr "" + +msgid "Advanced parameter control" +msgstr "" + +msgid "" +"An :class:`~enum.IntEnum` containing the advanced compression parameter keys " +"that can be used when compressing data." +msgstr "" + +msgid "" +"The :meth:`~.bounds` method can be used on any attribute to get the valid " +"values for that parameter." +msgstr "" + +msgid "" +"Parameters are optional; any omitted parameter will have it's value selected " +"automatically." +msgstr "" + +msgid "" +"Example getting the lower and upper bound of :attr:`~.compression_level`::" +msgstr "" + +msgid "lower, upper = CompressionParameter.compression_level.bounds()" +msgstr "" + +msgid "Example setting the :attr:`~.window_log` to the maximum size::" +msgstr "" + +msgid "" +"_lower, upper = CompressionParameter.window_log.bounds()\n" +"options = {CompressionParameter.window_log: upper}\n" +"compress(b'venezuelan beaver cheese', options=options)" +msgstr "" + +msgid "" +"Return the tuple of int bounds, ``(lower, upper)``, of a compression " +"parameter. This method should be called on the attribute you wish to " +"retrieve the bounds of. For example, to get the valid values for :attr:`~." +"compression_level`, one may check the result of ``CompressionParameter." +"compression_level.bounds()``." +msgstr "" + +msgid "Both the lower and upper bounds are inclusive." +msgstr "" + +msgid "" +"A high-level means of setting other compression parameters that affect the " +"speed and ratio of compressing data." +msgstr "" + +msgid "" +"Regular compression levels are greater than ``0``. Values greater than " +"``20`` are considered \"ultra\" compression and require more memory than " +"other levels. Negative values can be used to trade off faster compression " +"for worse compression ratios." +msgstr "" + +msgid "Setting the level to zero uses :attr:`COMPRESSION_LEVEL_DEFAULT`." +msgstr "" + +msgid "" +"Maximum allowed back-reference distance the compressor can use when " +"compressing data, expressed as power of two, ``1 << window_log`` bytes. This " +"parameter greatly influences the memory usage of compression. Higher values " +"require more memory but gain better compression values." +msgstr "" + +msgid "A value of zero causes the value to be selected automatically." +msgstr "" + +msgid "" +"Size of the initial probe table, as a power of two. The resulting memory " +"usage is ``1 << (hash_log+2)`` bytes. Larger tables improve compression " +"ratio of strategies <= :attr:`~Strategy.dfast`, and improve compression " +"speed of strategies > :attr:`~Strategy.dfast`." +msgstr "" + +msgid "" +"Size of the multi-probe search table, as a power of two. The resulting " +"memory usage is ``1 << (chain_log+2)`` bytes. Larger tables result in better " +"and slower compression. This parameter has no effect for the :attr:" +"`~Strategy.fast` strategy. It's still useful when using :attr:`~Strategy." +"dfast` strategy, in which case it defines a secondary probe table." +msgstr "" + +msgid "" +"Number of search attempts, as a power of two. More attempts result in better " +"and slower compression. This parameter is useless for :attr:`~Strategy.fast` " +"and :attr:`~Strategy.dfast` strategies." +msgstr "" + +msgid "" +"Minimum size of searched matches. Larger values increase compression and " +"decompression speed, but decrease ratio. Note that Zstandard can still find " +"matches of smaller size, it just tweaks its search algorithm to look for " +"this size and larger. For all strategies < :attr:`~Strategy.btopt`, the " +"effective minimum is ``4``; for all strategies > :attr:`~Strategy.fast`, the " +"effective maximum is ``6``." +msgstr "" + +msgid "The impact of this field depends on the selected :class:`Strategy`." +msgstr "" + +msgid "" +"For strategies :attr:`~Strategy.btopt`, :attr:`~Strategy.btultra` and :attr:" +"`~Strategy.btultra2`, the value is the length of a match considered \"good " +"enough\" to stop searching. Larger values make compression ratios better, " +"but compresses slower." +msgstr "" + +msgid "" +"For strategy :attr:`~Strategy.fast`, it is the distance between match " +"sampling. Larger values make compression faster, but with a worse " +"compression ratio." +msgstr "" + +msgid "" +"The higher the value of selected strategy, the more complex the compression " +"technique used by zstd, resulting in higher compression ratios but slower " +"compression." +msgstr "" + +msgid ":class:`Strategy`" +msgstr ":class:`Strategy`" + +msgid "" +"Long distance matching can be used to improve compression for large inputs " +"by finding large matches at greater distances. It increases memory usage and " +"window size." +msgstr "" + +msgid "" +"``True`` or ``1`` enable long distance matching while ``False`` or ``0`` " +"disable it." +msgstr "" + +msgid "" +"Enabling this parameter increases default :attr:`~CompressionParameter." +"window_log` to 128 MiB except when expressly set to a different value. This " +"setting is enabled by default if :attr:`!window_log` >= 128 MiB and the " +"compression strategy >= :attr:`~Strategy.btopt` (compression level 16+)." +msgstr "" + +msgid "" +"Size of the table for long distance matching, as a power of two. Larger " +"values increase memory usage and compression ratio, but decrease compression " +"speed." +msgstr "" + +msgid "" +"Minimum match size for long distance matcher. Larger or too small values can " +"often decrease the compression ratio." +msgstr "" + +msgid "" +"Log size of each bucket in the long distance matcher hash table for " +"collision resolution. Larger values improve collision resolution but " +"decrease compression speed." +msgstr "" + +msgid "" +"Frequency of inserting/looking up entries into the long distance matcher " +"hash table. Larger values improve compression speed. Deviating far from the " +"default value will likely result in a compression ratio decrease." +msgstr "" + +msgid "" +"Write the size of the data to be compressed into the Zstandard frame header " +"when known prior to compressing." +msgstr "" + +msgid "This flag only takes effect under the following scenarios:" +msgstr "" + +msgid "Calling :func:`compress` for one-shot compression" +msgstr "" + +msgid "" +"Providing all of the data to be compressed in the frame in a single :meth:" +"`ZstdCompressor.compress` call, with the :attr:`ZstdCompressor.FLUSH_FRAME` " +"mode." +msgstr "" + +msgid "" +"Calling :meth:`ZstdCompressor.set_pledged_input_size` with the exact amount " +"of data that will be provided to the compressor prior to any calls to :meth:" +"`ZstdCompressor.compress` for the current frame. :meth:`!ZstdCompressor." +"set_pledged_input_size` must be called for each new frame." +msgstr "" + +msgid "" +"All other compression calls may not write the size information into the " +"frame header." +msgstr "" + +msgid "" +"``True`` or ``1`` enable the content size flag while ``False`` or ``0`` " +"disable it." +msgstr "" + +msgid "" +"A four-byte checksum using XXHash64 of the uncompressed content is written " +"at the end of each frame. Zstandard's decompression code verifies the " +"checksum. If there is a mismatch a :class:`ZstdError` exception is raised." +msgstr "" + +msgid "" +"``True`` or ``1`` enable checksum generation while ``False`` or ``0`` " +"disable it." +msgstr "" + +msgid "" +"When compressing with a :class:`ZstdDict`, the dictionary's ID is written " +"into the frame header." +msgstr "" + +msgid "" +"``True`` or ``1`` enable storing the dictionary ID while ``False`` or ``0`` " +"disable it." +msgstr "" + +msgid "" +"Select how many threads will be spawned to compress in parallel. When :attr:" +"`!nb_workers` > 0, enables multi-threaded compression, a value of ``1`` " +"means \"one-thread multi-threaded mode\". More workers improve speed, but " +"also increase memory usage and slightly reduce compression ratio." +msgstr "" + +msgid "A value of zero disables multi-threading." +msgstr "" + +msgid "" +"Size of a compression job, in bytes. This value is enforced only when :attr:" +"`~CompressionParameter.nb_workers` >= 1. Each compression job is completed " +"in parallel, so this value can indirectly impact the number of active " +"threads." +msgstr "" + +msgid "" +"Sets how much data is reloaded from previous jobs (threads) for new jobs to " +"be used by the look behind window during compression. This value is only " +"used when :attr:`~CompressionParameter.nb_workers` >= 1. Acceptable values " +"vary from 0 to 9." +msgstr "" + +msgid "0 means dynamically set the overlap amount" +msgstr "" + +msgid "1 means no overlap" +msgstr "" + +msgid "9 means use a full window size from the previous job" +msgstr "" + +msgid "" +"Each increment halves/doubles the overlap size. \"8\" means an overlap of " +"``window_size/2``, \"7\" means an overlap of ``window_size/4``, etc." +msgstr "" + +msgid "" +"An :class:`~enum.IntEnum` containing the advanced decompression parameter " +"keys that can be used when decompressing data. Parameters are optional; any " +"omitted parameter will have it's value selected automatically." +msgstr "" + +msgid "Example setting the :attr:`~.window_log_max` to the maximum size::" +msgstr "" + +msgid "" +"data = compress(b'Some very long buffer of bytes...')\n" +"\n" +"_lower, upper = DecompressionParameter.window_log_max.bounds()\n" +"\n" +"options = {DecompressionParameter.window_log_max: upper}\n" +"decompress(data, options=options)" +msgstr "" + +msgid "" +"Return the tuple of int bounds, ``(lower, upper)``, of a decompression " +"parameter. This method should be called on the attribute you wish to " +"retrieve the bounds of." +msgstr "" + +msgid "" +"The base-two logarithm of the maximum size of the window used during " +"decompression. This can be useful to limit the amount of memory used when " +"decompressing data. A larger maximum window size leads to faster " +"decompression." +msgstr "" + +msgid "" +"An :class:`~enum.IntEnum` containing strategies for compression. Higher-" +"numbered strategies correspond to more complex and slower compression." +msgstr "" + +msgid "" +"The values of attributes of :class:`!Strategy` are not necessarily stable " +"across zstd versions. Only the ordering of the attributes may be relied " +"upon. The attributes are listed below in order." +msgstr "" + +msgid "The following strategies are available:" +msgstr "" + +msgid "Miscellaneous" +msgstr "" + +msgid "" +"Retrieve a :class:`FrameInfo` object containing metadata about a Zstandard " +"frame. Frames contain metadata related to the compressed data they hold." +msgstr "" + +msgid "Metadata related to a Zstandard frame." +msgstr "" + +msgid "The size of the decompressed contents of the frame." +msgstr "" + +msgid "" +"An integer representing the Zstandard dictionary ID needed for decompressing " +"the frame. ``0`` means the dictionary ID was not recorded in the frame " +"header. This may mean that a Zstandard dictionary is not needed, or that the " +"ID of a required dictionary was not recorded." +msgstr "" + +msgid "The default compression level for Zstandard: ``3``." +msgstr "" + +msgid "" +"Version number of the runtime zstd library as a tuple of integers (major, " +"minor, release)." +msgstr "" + +msgid "Examples" +msgstr "Przykłady" + +msgid "Reading in a compressed file:" +msgstr "" + +msgid "" +"from compression import zstd\n" +"\n" +"with zstd.open(\"file.zst\") as f:\n" +" file_content = f.read()" +msgstr "" + +msgid "Creating a compressed file:" +msgstr "" + +msgid "" +"from compression import zstd\n" +"\n" +"data = b\"Insert Data Here\"\n" +"with zstd.open(\"file.zst\", \"w\") as f:\n" +" f.write(data)" +msgstr "" + +msgid "Compressing data in memory:" +msgstr "" + +msgid "" +"from compression import zstd\n" +"\n" +"data_in = b\"Insert Data Here\"\n" +"data_out = zstd.compress(data_in)" +msgstr "" + +msgid "Incremental compression:" +msgstr "" + +msgid "" +"from compression import zstd\n" +"\n" +"comp = zstd.ZstdCompressor()\n" +"out1 = comp.compress(b\"Some data\\n\")\n" +"out2 = comp.compress(b\"Another piece of data\\n\")\n" +"out3 = comp.compress(b\"Even more data\\n\")\n" +"out4 = comp.flush()\n" +"# Concatenate all the partial results:\n" +"result = b\"\".join([out1, out2, out3, out4])" +msgstr "" + +msgid "Writing compressed data to an already-open file:" +msgstr "" + +msgid "" +"from compression import zstd\n" +"\n" +"with open(\"myfile\", \"wb\") as f:\n" +" f.write(b\"This data will not be compressed\\n\")\n" +" with zstd.open(f, \"w\") as zstf:\n" +" zstf.write(b\"This *will* be compressed\\n\")\n" +" f.write(b\"Not compressed\\n\")" +msgstr "" + +msgid "Creating a compressed file using compression parameters:" +msgstr "" + +msgid "" +"from compression import zstd\n" +"\n" +"options = {\n" +" zstd.CompressionParameter.checksum_flag: 1\n" +"}\n" +"with zstd.open(\"file.zst\", \"w\", options=options) as f:\n" +" f.write(b\"Mind if I squeeze in?\")" +msgstr "" diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 1865428687..c5f316c5df 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,7 +33,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`concurrent.futures` module provides a high-level interface for " +"The :mod:`!concurrent.futures` module provides a high-level interface for " "asynchronously executing callables." msgstr "" @@ -45,6 +44,13 @@ msgid "" "interface, which is defined by the abstract :class:`Executor` class." msgstr "" +msgid "" +":class:`concurrent.futures.Future` must not be confused with :class:`asyncio." +"Future`, which is designed for use with :mod:`asyncio` tasks and coroutines. " +"See the :doc:`asyncio's Future ` documentation for a " +"detailed comparison of the two." +msgstr "" + msgid "Availability" msgstr "Dostępność" @@ -147,9 +153,10 @@ msgid "" msgstr "" msgid "" -"You can avoid having to call this method explicitly if you use the :keyword:" -"`with` statement, which will shutdown the :class:`Executor` (waiting as if :" -"meth:`Executor.shutdown` were called with *wait* set to ``True``)::" +"You can avoid having to call this method explicitly if you use the executor " +"as a :term:`context manager` via the :keyword:`with` statement, which will " +"shutdown the :class:`Executor` (waiting as if :meth:`Executor.shutdown` were " +"called with *wait* set to ``True``)::" msgstr "" msgid "" @@ -206,7 +213,9 @@ msgid "" " print(f.result())\n" "\n" "executor = ThreadPoolExecutor(max_workers=1)\n" -"executor.submit(wait_on_future)" +"future = executor.submit(wait_on_future)\n" +"# Note: calling future.result() would also cause a deadlock because\n" +"# the single worker thread is already waiting for wait_on_future()." msgstr "" msgid "" @@ -333,7 +342,7 @@ msgid "" "Each worker's interpreter is isolated from all the other interpreters. " "\"Isolated\" means each interpreter has its own runtime state and operates " "completely independently. For example, if you redirect :data:`sys.stdout` " -"in one interpreter, it will not be automatically redirected any other " +"in one interpreter, it will not be automatically redirected to any other " "interpreter. If you import a module in one interpreter, it is not " "automatically imported in any other. You would need to import the module " "separately in interpreter where you need it. In fact, each module imported " @@ -376,22 +385,9 @@ msgid "" "when sending them to the worker's interpreter." msgstr "" -msgid "" -"Functions defined in the ``__main__`` module cannot be pickled and thus " -"cannot be used." -msgstr "" - msgid "" "The executor may replace uncaught exceptions from *initializer* with :class:" -"`~concurrent.futures.interpreter.ExecutionFailed`." -msgstr "" - -msgid "" -"The optional *shared* argument is a :class:`dict` of objects that all " -"interpreters in the pool share. The *shared* items are added to each " -"interpreter's ``__main__`` module. Not all objects are shareable. Shareable " -"objects include the builtin singletons, :class:`str` and :class:`bytes`, " -"and :class:`memoryview`. See :pep:`734` for more info." +"`~concurrent.interpreters.ExecutionFailed`." msgstr "" msgid "Other caveats from parent :class:`ThreadPoolExecutor` apply here." @@ -407,11 +403,11 @@ msgstr "" msgid "" "When a worker's current task raises an uncaught exception, the worker always " "tries to preserve the exception as-is. If that is successful then it also " -"sets the ``__cause__`` to a corresponding :class:`~concurrent.futures." -"interpreter.ExecutionFailed` instance, which contains a summary of the " -"original exception. In the uncommon case that the worker is not able to " -"preserve the original as-is then it directly preserves the corresponding :" -"class:`~concurrent.futures.interpreter.ExecutionFailed` instance instead." +"sets the ``__cause__`` to a corresponding :class:`~concurrent.interpreters." +"ExecutionFailed` instance, which contains a summary of the original " +"exception. In the uncommon case that the worker is not able to preserve the " +"original as-is then it directly preserves the corresponding :class:" +"`~concurrent.interpreters.ExecutionFailed` instance instead." msgstr "" msgid "ProcessPoolExecutor" @@ -437,6 +433,13 @@ msgid "" "submitted to a :class:`ProcessPoolExecutor` will result in deadlock." msgstr "" +msgid "" +"Note that the restrictions on functions and arguments needing to picklable " +"as per :class:`multiprocessing.Process` apply when using :meth:`~Executor." +"submit` and :meth:`~Executor.map` on a :class:`ProcessPoolExecutor`. A " +"function defined in a REPL or a lambda should not be expected to work." +msgstr "" + msgid "" "An :class:`Executor` subclass that executes calls asynchronously using a " "pool of at most *max_workers* processes. If *max_workers* is ``None`` or " @@ -469,6 +472,12 @@ msgid "" "with the \"fork\" start method." msgstr "" +msgid "" +"Bugs have been reported when using the *max_tasks_per_child* feature that " +"can result in the :class:`ProcessPoolExecutor` hanging in some " +"circumstances. Follow its eventual resolution in :gh:`115634`." +msgstr "" + msgid "" "When one of the worker processes terminates abruptly, a :exc:`~concurrent." "futures.process.BrokenProcessPool` error is now raised. Previously, " @@ -790,12 +799,6 @@ msgid "" "futures.InterpreterPoolExecutor` has failed initializing." msgstr "" -msgid "" -"Raised from :class:`~concurrent.futures.InterpreterPoolExecutor` when the " -"given initializer fails or from :meth:`~concurrent.futures.Executor.submit` " -"when there's an uncaught exception from the submitted task." -msgstr "" - msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:" "`RuntimeError`), this exception class is raised when one of the workers of " diff --git a/library/concurrent.interpreters.po b/library/concurrent.interpreters.po new file mode 100644 index 0000000000..4d431a86d9 --- /dev/null +++ b/library/concurrent.interpreters.po @@ -0,0 +1,440 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid "" +":mod:`!concurrent.interpreters` --- Multiple interpreters in the same process" +msgstr "" + +msgid "**Source code:** :source:`Lib/concurrent/interpreters`" +msgstr "" + +msgid "" +"The :mod:`!concurrent.interpreters` module constructs higher-level " +"interfaces on top of the lower level :mod:`!_interpreters` module." +msgstr "" + +msgid "" +"The module is primarily meant to provide a basic API for managing " +"interpreters (AKA \"subinterpreters\") and running things in them. Running " +"mostly involves switching to an interpreter (in the current thread) and " +"calling a function in that execution context." +msgstr "" + +msgid "" +"For concurrency, interpreters themselves (and this module) don't provide " +"much more than isolation, which on its own isn't useful. Actual concurrency " +"is available separately through :mod:`threads ` See `below " +"`_" +msgstr "" + +msgid ":class:`~concurrent.futures.InterpreterPoolExecutor`" +msgstr "" + +msgid "Combines threads with interpreters in a familiar interface." +msgstr "" + +msgid ":ref:`isolating-extensions-howto`" +msgstr ":ref:`isolating-extensions-howto`" + +msgid "How to update an extension module to support multiple interpreters." +msgstr "" + +msgid ":pep:`554`" +msgstr ":pep:`554`" + +msgid ":pep:`734`" +msgstr ":pep:`734`" + +msgid ":pep:`684`" +msgstr ":pep:`684`" + +msgid "Availability" +msgstr "Dostępność" + +msgid "" +"This module does not work or is not available on WebAssembly. See :ref:`wasm-" +"availability` for more information." +msgstr "" + +msgid "Key details" +msgstr "" + +msgid "" +"Before we dive in further, there are a small number of details to keep in " +"mind about using multiple interpreters:" +msgstr "" + +msgid "`isolated `_, by default" +msgstr "" + +msgid "no implicit threads" +msgstr "" + +msgid "not all PyPI packages support use in multiple interpreters yet" +msgstr "" + +msgid "Introduction" +msgstr "Wprowadzenie" + +msgid "" +"An \"interpreter\" is effectively the execution context of the Python " +"runtime. It contains all of the state the runtime needs to execute a " +"program. This includes things like the import state and builtins. (Each " +"thread, even if there's only the main thread, has some extra runtime state, " +"in addition to the current interpreter, related to the current exception and " +"the bytecode eval loop.)" +msgstr "" + +msgid "" +"The concept and functionality of the interpreter have been a part of Python " +"since version 2.2, but the feature was only available through the C-API and " +"not well known, and the `isolation `_ was relatively " +"incomplete until version 3.12." +msgstr "" + +msgid "Multiple Interpreters and Isolation" +msgstr "" + +msgid "" +"A Python implementation may support using multiple interpreters in the same " +"process. CPython has this support. Each interpreter is effectively " +"isolated from the others (with a limited number of carefully managed process-" +"global exceptions to the rule)." +msgstr "" + +msgid "" +"That isolation is primarily useful as a strong separation between distinct " +"logical components of a program, where you want to have careful control of " +"how those components interact." +msgstr "" + +msgid "" +"Interpreters in the same process can technically never be strictly isolated " +"from one another since there are few restrictions on memory access within " +"the same process. The Python runtime makes a best effort at isolation but " +"extension modules may easily violate that. Therefore, do not use multiple " +"interpreters in security-sensitive situations, where they shouldn't have " +"access to each other's data." +msgstr "" + +msgid "Running in an Interpreter" +msgstr "" + +msgid "" +"Running in a different interpreter involves switching to it in the current " +"thread and then calling some function. The runtime will execute the " +"function using the current interpreter's state. The :mod:`!concurrent." +"interpreters` module provides a basic API for creating and managing " +"interpreters, as well as the switch-and-call operation." +msgstr "" + +msgid "" +"No other threads are automatically started for the operation. There is `a " +"helper `_ for that though. There is another " +"dedicated helper for calling the builtin :func:`exec` in an interpreter." +msgstr "" + +msgid "" +"When :func:`exec` (or :func:`eval`) are called in an interpreter, they run " +"using the interpreter's :mod:`!__main__` module as the \"globals\" " +"namespace. The same is true for functions that aren't associated with any " +"module. This is the same as how scripts invoked from the command-line run " +"in the :mod:`!__main__` module." +msgstr "" + +msgid "Concurrency and Parallelism" +msgstr "" + +msgid "" +"As noted earlier, interpreters do not provide any concurrency on their own. " +"They strictly represent the isolated execution context the runtime will use " +"*in the current thread*. That isolation makes them similar to processes, " +"but they still enjoy in-process efficiency, like threads." +msgstr "" + +msgid "" +"All that said, interpreters do naturally support certain flavors of " +"concurrency. There's a powerful side effect of that isolation. It enables a " +"different approach to concurrency than you can take with async or threads. " +"It's a similar concurrency model to CSP or the actor model, a model which is " +"relatively easy to reason about." +msgstr "" + +msgid "" +"You can take advantage of that concurrency model in a single thread, " +"switching back and forth between interpreters, Stackless-style. However, " +"this model is more useful when you combine interpreters with multiple " +"threads. This mostly involves starting a new thread, where you switch to " +"another interpreter and run what you want there." +msgstr "" + +msgid "" +"Each actual thread in Python, even if you're only running in the main " +"thread, has its own *current* execution context. Multiple threads can use " +"the same interpreter or different ones." +msgstr "" + +msgid "" +"At a high level, you can think of the combination of threads and " +"interpreters as threads with opt-in sharing." +msgstr "" + +msgid "" +"As a significant bonus, interpreters are sufficiently isolated that they do " +"not share the :term:`GIL`, which means combining threads with multiple " +"interpreters enables full multi-core parallelism. (This has been the case " +"since Python 3.12.)" +msgstr "" + +msgid "Communication Between Interpreters" +msgstr "" + +msgid "" +"In practice, multiple interpreters are useful only if we have a way to " +"communicate between them. This usually involves some form of message " +"passing, but can even mean sharing data in some carefully managed way." +msgstr "" + +msgid "" +"With this in mind, the :mod:`!concurrent.interpreters` module provides a :" +"class:`queue.Queue` implementation, available through :func:`create_queue`." +msgstr "" + +msgid "\"Sharing\" Objects" +msgstr "" + +msgid "" +"Any data actually shared between interpreters loses the thread-safety " +"provided by the :term:`GIL`. There are various options for dealing with " +"this in extension modules. However, from Python code the lack of thread-" +"safety means objects can't actually be shared, with a few exceptions. " +"Instead, a copy must be created, which means mutable objects won't stay in " +"sync." +msgstr "" + +msgid "" +"By default, most objects are copied with :mod:`pickle` when they are passed " +"to another interpreter. Nearly all of the immutable builtin objects are " +"either directly shared or copied efficiently. For example:" +msgstr "" + +msgid ":const:`None`" +msgstr ":const:`None`" + +msgid ":class:`bool` (:const:`True` and :const:`False`)" +msgstr "" + +msgid ":class:`bytes`" +msgstr ":class:`bytes`" + +msgid ":class:`str`" +msgstr ":class:`str`" + +msgid ":class:`int`" +msgstr ":class:`int`" + +msgid ":class:`float`" +msgstr ":class:`float`" + +msgid ":class:`tuple` (of similarly supported objects)" +msgstr "" + +msgid "" +"There is a small number of Python types that actually share mutable data " +"between interpreters:" +msgstr "" + +msgid ":class:`memoryview`" +msgstr ":class:`memoryview`" + +msgid ":class:`Queue`" +msgstr ":class:`Queue`" + +msgid "Reference" +msgstr "" + +msgid "This module defines the following functions:" +msgstr "" + +msgid "" +"Return a :class:`list` of :class:`Interpreter` objects, one for each " +"existing interpreter." +msgstr "" + +msgid "" +"Return an :class:`Interpreter` object for the currently running interpreter." +msgstr "" + +msgid "" +"Return an :class:`Interpreter` object for the main interpreter. This is the " +"interpreter the runtime created to run the :term:`REPL` or the script given " +"at the command-line. It is usually the only one." +msgstr "" + +msgid "" +"Initialize a new (idle) Python interpreter and return a :class:`Interpreter` " +"object for it." +msgstr "" + +msgid "" +"Initialize a new cross-interpreter queue and return a :class:`Queue` object " +"for it." +msgstr "" + +msgid "Interpreter objects" +msgstr "" + +msgid "A single interpreter in the current process." +msgstr "" + +msgid "" +"Generally, :class:`Interpreter` shouldn't be called directly. Instead, use :" +"func:`create` or one of the other module functions." +msgstr "" + +msgid "(read-only)" +msgstr "" + +msgid "The underlying interpreter's ID." +msgstr "" + +msgid "A string describing where the interpreter came from." +msgstr "" + +msgid "" +"Return ``True`` if the interpreter is currently executing code in its :mod:`!" +"__main__` module and ``False`` otherwise." +msgstr "" + +msgid "Finalize and destroy the interpreter." +msgstr "" + +msgid "Bind objects in the interpreter's :mod:`!__main__` module." +msgstr "" + +msgid "" +"Some objects are actually shared and some are copied efficiently, but most " +"are copied via :mod:`pickle`. See :ref:`interp-object-sharing`." +msgstr "" + +msgid "Run the given source code in the interpreter (in the current thread)." +msgstr "" + +msgid "" +"Return the result of calling running the given function in the interpreter " +"(in the current thread)." +msgstr "" + +msgid "Run the given function in the interpreter (in a new thread)." +msgstr "" + +msgid "Exceptions" +msgstr "Wyjątki" + +msgid "" +"This exception, a subclass of :exc:`Exception`, is raised when an " +"interpreter-related error happens." +msgstr "" + +msgid "" +"This exception, a subclass of :exc:`InterpreterError`, is raised when the " +"targeted interpreter no longer exists." +msgstr "" + +msgid "" +"This exception, a subclass of :exc:`InterpreterError`, is raised when the " +"running code raised an uncaught exception." +msgstr "" + +msgid "A basic snapshot of the exception raised in the other interpreter." +msgstr "" + +msgid "" +"This exception, a subclass of :exc:`TypeError`, is raised when an object " +"cannot be sent to another interpreter." +msgstr "" + +msgid "Communicating Between Interpreters" +msgstr "" + +msgid "" +"A wrapper around a low-level, cross-interpreter queue, which implements the :" +"class:`queue.Queue` interface. The underlying queue can only be created " +"through :func:`create_queue`." +msgstr "" + +msgid "The queue's ID." +msgstr "" + +msgid "" +"This exception, a subclass of :exc:`queue.Empty`, is raised from :meth:`!" +"Queue.get` and :meth:`!Queue.get_nowait` when the queue is empty." +msgstr "" + +msgid "" +"This exception, a subclass of :exc:`queue.Full`, is raised from :meth:`!" +"Queue.put` and :meth:`!Queue.put_nowait` when the queue is full." +msgstr "" + +msgid "Basic usage" +msgstr "" + +msgid "Creating an interpreter and running code in it::" +msgstr "" + +msgid "" +"from concurrent import interpreters\n" +"\n" +"interp = interpreters.create()\n" +"\n" +"# Run in the current OS thread.\n" +"\n" +"interp.exec('print(\"spam!\")')\n" +"\n" +"interp.exec(\"\"\"if True:\n" +" print('spam!')\n" +" \"\"\")\n" +"\n" +"from textwrap import dedent\n" +"interp.exec(dedent(\"\"\"\n" +" print('spam!')\n" +" \"\"\"))\n" +"\n" +"def run(arg):\n" +" return arg\n" +"\n" +"res = interp.call(run, 'spam!')\n" +"print(res)\n" +"\n" +"def run():\n" +" print('spam!')\n" +"\n" +"interp.call(run)\n" +"\n" +"# Run in new OS thread.\n" +"\n" +"t = interp.call_in_thread(run)\n" +"t.join()" +msgstr "" diff --git a/library/configparser.po b/library/configparser.po index c80748b0b0..add79be3cf 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stefan Ocetkiewicz , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +27,7 @@ msgid ":mod:`!configparser` --- Configuration file parser" msgstr "" msgid "**Source code:** :source:`Lib/configparser.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/configparser.py`" msgid "" "This module provides the :class:`ConfigParser` class which implements a " @@ -93,7 +89,7 @@ msgstr "" msgid "" "The structure of INI files is described `in the following section " "<#supported-ini-file-structure>`_. Essentially, the file consists of " -"sections, each of which contains keys with values. :mod:`configparser` " +"sections, each of which contains keys with values. :mod:`!configparser` " "classes can read and write such files. Let's start by creating the above " "configuration file programmatically." msgstr "" @@ -516,8 +512,8 @@ msgstr "" msgid "" "Mapping protocol access is a generic name for functionality that enables " -"using custom objects as if they were dictionaries. In case of :mod:" -"`configparser`, the mapping interface implementation is using the " +"using custom objects as if they were dictionaries. In case of :mod:`!" +"configparser`, the mapping interface implementation is using the " "``parser['section']['option']`` notation." msgstr "" @@ -530,7 +526,7 @@ msgid "" msgstr "" msgid "" -":mod:`configparser` objects behave as close to actual dictionaries as " +":mod:`!configparser` objects behave as close to actual dictionaries as " "possible. The mapping interface is complete and adheres to the :class:" "`~collections.abc.MutableMapping` ABC. However, there are a few differences " "that should be taken into account:" @@ -596,7 +592,7 @@ msgstr "" msgid "" "There are nearly as many INI format variants as there are applications using " -"it. :mod:`configparser` goes a long way to provide support for the largest " +"it. :mod:`!configparser` goes a long way to provide support for the largest " "sensible set of INI styles available. The default functionality is mainly " "dictated by historical background and it's very likely that you will want to " "customize some of the features." @@ -666,9 +662,9 @@ msgstr "" msgid "" "Some configuration files are known to include settings without values, but " -"which otherwise conform to the syntax supported by :mod:`configparser`. The " -"*allow_no_value* parameter to the constructor can be used to indicate that " -"such values should be accepted:" +"which otherwise conform to the syntax supported by :mod:`!configparser`. " +"The *allow_no_value* parameter to the constructor can be used to indicate " +"that such values should be accepted:" msgstr "" msgid "" @@ -731,7 +727,7 @@ msgid "" msgstr "" msgid "" -"In previous versions of :mod:`configparser` behaviour matched " +"In previous versions of :mod:`!configparser` behaviour matched " "``comment_prefixes=('#',';')`` and ``inline_comment_prefixes=(';',)``." msgstr "" @@ -796,7 +792,7 @@ msgid "" msgstr "" msgid "" -"In previous versions of :mod:`configparser` behaviour matched " +"In previous versions of :mod:`!configparser` behaviour matched " "``strict=False``." msgstr "" @@ -986,7 +982,7 @@ msgid "Legacy API Examples" msgstr "" msgid "" -"Mainly because of backwards compatibility concerns, :mod:`configparser` " +"Mainly because of backwards compatibility concerns, :mod:`!configparser` " "provides also a legacy API with explicit ``get``/``set`` methods. While " "there are valid use cases for the methods outlined below, mapping protocol " "access is preferred for new projects. The legacy API is at times more " @@ -1493,7 +1489,7 @@ msgstr "" msgid "Exceptions" msgstr "Wyjątki" -msgid "Base class for all other :mod:`configparser` exceptions." +msgid "Base class for all other :mod:`!configparser` exceptions." msgstr "" msgid "Exception raised when a specified section is not found." diff --git a/library/constants.po b/library/constants.po index 85862c062b..51a4ee73bf 100644 --- a/library/constants.po +++ b/library/constants.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Wiktor Matuszewski , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Wiktor Matuszewski , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -109,15 +109,11 @@ msgid "" msgstr "" msgid "" -"The same as the ellipsis literal \"``...``\". Special value used mostly in " -"conjunction with extended slicing syntax for user-defined container data " -"types. ``Ellipsis`` is the sole instance of the :data:`types.EllipsisType` " -"type." +"The same as the ellipsis literal \"``...``\", an object frequently used to " +"indicate that something is omitted. Assignment to ``Ellipsis`` is possible, " +"but assignment to ``...`` raises a :exc:`SyntaxError`. ``Ellipsis`` is the " +"sole instance of the :data:`types.EllipsisType` type." msgstr "" -"To samo co literalny zapis wielokropka \"``...``\". Wartość specjalna " -"używana głównie w połączeniu z rozszerzoną składnią krojenia typów danych " -"kontenerów zdefiniowanych przez użytkownika. ``Ellipsis`` jest jedyną " -"instancją typu :data:`types.EllipsisType`." msgid "" "This constant is true if Python was not started with an :option:`-O` option. " @@ -152,17 +148,15 @@ msgstr "" msgid "" "Objects that when printed, print a message like \"Use quit() or Ctrl-D (i.e. " -"EOF) to exit\", and when called, raise :exc:`SystemExit` with the specified " -"exit code." +"EOF) to exit\", and when accessed directly in the interactive interpreter or " +"called as functions, raise :exc:`SystemExit` with the specified exit code." msgstr "" -"Obiekty, które, gdy ich nazwa zostanie wpisana w powłoce - wyświetlają " -"wiadomość w formie \"Use quit() or Ctrl-D (i.e. EOF) to exit\", a gdy " -"wywołane - rzucą wyjątek :exc:`SystemExit` z podanym kodem wyjścia." msgid "" "Object that when printed, prints the message \"Type help() for interactive " -"help, or help(object) for help about object.\", and when called, acts as " -"described :func:`elsewhere `." +"help, or help(object) for help about object.\", and when accessed directly " +"in the interactive interpreter, invokes the built-in help system (see :func:" +"`help`)." msgstr "" msgid "" diff --git a/library/contextlib.po b/library/contextlib.po index c6a4221601..65e179bdb6 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Transifex Bot <>, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +28,7 @@ msgid "" msgstr "" msgid "**Source code:** :source:`Lib/contextlib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/contextlib.py`" msgid "" "This module provides utilities for common tasks involving the :keyword:" @@ -44,32 +43,33 @@ msgid "Functions and classes provided:" msgstr "" msgid "" -"An :term:`abstract base class` for classes that implement :meth:`object." -"__enter__` and :meth:`object.__exit__`. A default implementation for :meth:" -"`object.__enter__` is provided which returns ``self`` while :meth:`object." +"An :term:`abstract base class` for classes that implement :meth:`~object." +"__enter__` and :meth:`~object.__exit__`. A default implementation for :meth:" +"`~object.__enter__` is provided which returns ``self`` while :meth:`~object." "__exit__` is an abstract method which by default returns ``None``. See also " "the definition of :ref:`typecontextmanager`." msgstr "" msgid "" -"An :term:`abstract base class` for classes that implement :meth:`object." -"__aenter__` and :meth:`object.__aexit__`. A default implementation for :meth:" -"`object.__aenter__` is provided which returns ``self`` while :meth:`object." -"__aexit__` is an abstract method which by default returns ``None``. See also " -"the definition of :ref:`async-context-managers`." +"An :term:`abstract base class` for classes that implement :meth:`~object." +"__aenter__` and :meth:`~object.__aexit__`. A default implementation for :" +"meth:`~object.__aenter__` is provided which returns ``self`` while :meth:" +"`~object.__aexit__` is an abstract method which by default returns ``None``. " +"See also the definition of :ref:`async-context-managers`." msgstr "" msgid "" "This function is a :term:`decorator` that can be used to define a factory " "function for :keyword:`with` statement context managers, without needing to " -"create a class or separate :meth:`__enter__` and :meth:`__exit__` methods." +"create a class or separate :meth:`~object.__enter__` and :meth:`~object." +"__exit__` methods." msgstr "" msgid "" "While many objects natively support use in with statements, sometimes a " "resource needs to be managed that isn't a context manager in its own right, " "and doesn't implement a ``close()`` method for use with ``contextlib." -"closing``" +"closing``." msgstr "" msgid "" @@ -77,9 +77,29 @@ msgid "" "management::" msgstr "" +msgid "" +"from contextlib import contextmanager\n" +"\n" +"@contextmanager\n" +"def managed_resource(*args, **kwds):\n" +" # Code to acquire resource, e.g.:\n" +" resource = acquire_resource(*args, **kwds)\n" +" try:\n" +" yield resource\n" +" finally:\n" +" # Code to release resource, e.g.:\n" +" release_resource(resource)" +msgstr "" + msgid "The function can then be used like this::" msgstr "" +msgid "" +">>> with managed_resource(timeout=3600) as resource:\n" +"... # Resource is released at the end of this block,\n" +"... # even if code in the block raises an exception" +msgstr "" + msgid "" "The function being decorated must return a :term:`generator`-iterator when " "called. This iterator must yield exactly one value, which will be bound to " @@ -122,19 +142,52 @@ msgstr "" msgid "" "This function is a :term:`decorator` that can be used to define a factory " "function for :keyword:`async with` statement asynchronous context managers, " -"without needing to create a class or separate :meth:`__aenter__` and :meth:" -"`__aexit__` methods. It must be applied to an :term:`asynchronous generator` " -"function." +"without needing to create a class or separate :meth:`~object.__aenter__` " +"and :meth:`~object.__aexit__` methods. It must be applied to an :term:" +"`asynchronous generator` function." msgstr "" msgid "A simple example::" msgstr "" +msgid "" +"from contextlib import asynccontextmanager\n" +"\n" +"@asynccontextmanager\n" +"async def get_connection():\n" +" conn = await acquire_db_connection()\n" +" try:\n" +" yield conn\n" +" finally:\n" +" await release_db_connection(conn)\n" +"\n" +"async def get_all_users():\n" +" async with get_connection() as conn:\n" +" return conn.query('SELECT ...')" +msgstr "" + msgid "" "Context managers defined with :func:`asynccontextmanager` can be used either " "as decorators or with :keyword:`async with` statements::" msgstr "" +msgid "" +"import time\n" +"from contextlib import asynccontextmanager\n" +"\n" +"@asynccontextmanager\n" +"async def timeit():\n" +" now = time.monotonic()\n" +" try:\n" +" yield\n" +" finally:\n" +" print(f'it took {time.monotonic() - now}s to run')\n" +"\n" +"@timeit()\n" +"async def main():\n" +" # ... async code ..." +msgstr "" + msgid "" "When used as a decorator, a new generator instance is implicitly created on " "each function call. This allows the otherwise \"one-shot\" context managers " @@ -152,25 +205,73 @@ msgid "" "This is basically equivalent to::" msgstr "" +msgid "" +"from contextlib import contextmanager\n" +"\n" +"@contextmanager\n" +"def closing(thing):\n" +" try:\n" +" yield thing\n" +" finally:\n" +" thing.close()" +msgstr "" + msgid "And lets you write code like this::" msgstr "" +msgid "" +"from contextlib import closing\n" +"from urllib.request import urlopen\n" +"\n" +"with closing(urlopen('https://www.python.org')) as page:\n" +" for line in page:\n" +" print(line)" +msgstr "" + msgid "" "without needing to explicitly close ``page``. Even if an error occurs, " "``page.close()`` will be called when the :keyword:`with` block is exited." msgstr "" +msgid "" +"Most types managing resources support the :term:`context manager` protocol, " +"which closes *thing* on leaving the :keyword:`with` statement. As such, :" +"func:`!closing` is most useful for third party types that don't support " +"context managers. This example is purely for illustration purposes, as :func:" +"`~urllib.request.urlopen` would normally be used in a context manager." +msgstr "" + msgid "" "Return an async context manager that calls the ``aclose()`` method of " "*thing* upon completion of the block. This is basically equivalent to::" msgstr "" +msgid "" +"from contextlib import asynccontextmanager\n" +"\n" +"@asynccontextmanager\n" +"async def aclosing(thing):\n" +" try:\n" +" yield thing\n" +" finally:\n" +" await thing.aclose()" +msgstr "" + msgid "" "Significantly, ``aclosing()`` supports deterministic cleanup of async " "generators when they happen to exit early by :keyword:`break` or an " "exception. For example::" msgstr "" +msgid "" +"from contextlib import aclosing\n" +"\n" +"async with aclosing(my_generator()) as values:\n" +" async for value in values:\n" +" if value == 42:\n" +" break" +msgstr "" + msgid "" "This pattern ensures that the generator's async exit code is executed in the " "same context as its iterations (so that exceptions and context variables " @@ -179,19 +280,57 @@ msgid "" msgstr "" msgid "" -"Return a context manager that returns *enter_result* from ``__enter__``, but " -"otherwise does nothing. It is intended to be used as a stand-in for an " -"optional context manager, for example::" +"Return a context manager that returns *enter_result* from :meth:`~object." +"__enter__`, but otherwise does nothing. It is intended to be used as a stand-" +"in for an optional context manager, for example::" +msgstr "" + +msgid "" +"def myfunction(arg, ignore_exceptions=False):\n" +" if ignore_exceptions:\n" +" # Use suppress to ignore all exceptions.\n" +" cm = contextlib.suppress(Exception)\n" +" else:\n" +" # Do not ignore any exceptions, cm has no effect.\n" +" cm = contextlib.nullcontext()\n" +" with cm:\n" +" # Do something" msgstr "" msgid "An example using *enter_result*::" msgstr "" +msgid "" +"def process_file(file_or_path):\n" +" if isinstance(file_or_path, str):\n" +" # If string, open file\n" +" cm = open(file_or_path)\n" +" else:\n" +" # Caller is responsible for closing file\n" +" cm = nullcontext(file_or_path)\n" +"\n" +" with cm as file:\n" +" # Perform processing on the file" +msgstr "" + msgid "" "It can also be used as a stand-in for :ref:`asynchronous context managers " "`::" msgstr "" +msgid "" +"async def send_http(session=None):\n" +" if not session:\n" +" # If no http session, create it with aiohttp\n" +" cm = aiohttp.ClientSession()\n" +" else:\n" +" # Caller is responsible for closing the session\n" +" cm = nullcontext(session)\n" +"\n" +" async with cm as session:\n" +" # Send http requests with session" +msgstr "" + msgid ":term:`asynchronous context manager` support was added." msgstr "" @@ -212,12 +351,47 @@ msgstr "" msgid "For example::" msgstr "Dla przykładu::" +msgid "" +"from contextlib import suppress\n" +"\n" +"with suppress(FileNotFoundError):\n" +" os.remove('somefile.tmp')\n" +"\n" +"with suppress(FileNotFoundError):\n" +" os.remove('someotherfile.tmp')" +msgstr "" + msgid "This code is equivalent to::" msgstr "" +msgid "" +"try:\n" +" os.remove('somefile.tmp')\n" +"except FileNotFoundError:\n" +" pass\n" +"\n" +"try:\n" +" os.remove('someotherfile.tmp')\n" +"except FileNotFoundError:\n" +" pass" +msgstr "" + msgid "This context manager is :ref:`reentrant `." msgstr "" +msgid "" +"If the code within the :keyword:`!with` block raises a :exc:" +"`BaseExceptionGroup`, suppressed exceptions are removed from the group. Any " +"exceptions of the group which are not suppressed are re-raised in a new " +"group which is created using the original group's :meth:`~BaseExceptionGroup." +"derive` method." +msgstr "" + +msgid "" +"``suppress`` now supports suppressing exceptions raised as part of a :exc:" +"`BaseExceptionGroup`." +msgstr "" + msgid "" "Context manager for temporarily redirecting :data:`sys.stdout` to another " "file or file-like object." @@ -231,9 +405,15 @@ msgstr "" msgid "" "For example, the output of :func:`help` normally is sent to *sys.stdout*. " "You can capture that output in a string by redirecting the output to an :" -"class:`io.StringIO` object. The replacement stream is returned from the " -"``__enter__`` method and so is available as the target of the :keyword:" -"`with` statement::" +"class:`io.StringIO` object. The replacement stream is returned from the :" +"meth:`~object.__enter__` method and so is available as the target of the :" +"keyword:`with` statement::" +msgstr "" + +msgid "" +"with redirect_stdout(io.StringIO()) as f:\n" +" help(pow)\n" +"s = f.getvalue()" msgstr "" msgid "" @@ -241,9 +421,20 @@ msgid "" "a regular file::" msgstr "" +msgid "" +"with open('help.txt', 'w') as f:\n" +" with redirect_stdout(f):\n" +" help(pow)" +msgstr "" + msgid "To send the output of :func:`help` to *sys.stderr*::" msgstr "" +msgid "" +"with redirect_stdout(sys.stderr):\n" +" help(pow)" +msgstr "" + msgid "" "Note that the global side effect on :data:`sys.stdout` means that this " "context manager is not suitable for use in library code and most threaded " @@ -275,9 +466,10 @@ msgid "" msgstr "" msgid "" -"Context managers inheriting from ``ContextDecorator`` have to implement " -"``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional " -"exception handling even when used as a decorator." +"Context managers inheriting from ``ContextDecorator`` have to implement :" +"meth:`~object.__enter__` and :meth:`~object.__exit__` as normal. " +"``__exit__`` retains its optional exception handling even when used as a " +"decorator." msgstr "" msgid "" @@ -288,16 +480,59 @@ msgstr "" msgid "Example of ``ContextDecorator``::" msgstr "" +msgid "" +"from contextlib import ContextDecorator\n" +"\n" +"class mycontext(ContextDecorator):\n" +" def __enter__(self):\n" +" print('Starting')\n" +" return self\n" +"\n" +" def __exit__(self, *exc):\n" +" print('Finishing')\n" +" return False" +msgstr "" + msgid "The class can then be used like this::" msgstr "" +msgid "" +">>> @mycontext()\n" +"... def function():\n" +"... print('The bit in the middle')\n" +"...\n" +">>> function()\n" +"Starting\n" +"The bit in the middle\n" +"Finishing\n" +"\n" +">>> with mycontext():\n" +"... print('The bit in the middle')\n" +"...\n" +"Starting\n" +"The bit in the middle\n" +"Finishing" +msgstr "" + msgid "" "This change is just syntactic sugar for any construct of the following form::" msgstr "" +msgid "" +"def f():\n" +" with cm():\n" +" # Do stuff" +msgstr "" + msgid "``ContextDecorator`` lets you instead write::" msgstr "" +msgid "" +"@cm()\n" +"def f():\n" +" # Do stuff" +msgstr "" + msgid "" "It makes it clear that the ``cm`` applies to the whole function, rather than " "just a piece of it (and saving an indentation level is nice, too)." @@ -308,6 +543,17 @@ msgid "" "using ``ContextDecorator`` as a mixin class::" msgstr "" +msgid "" +"from contextlib import ContextDecorator\n" +"\n" +"class mycontext(ContextBaseClass, ContextDecorator):\n" +" def __enter__(self):\n" +" return self\n" +"\n" +" def __exit__(self, *exc):\n" +" return False" +msgstr "" + msgid "" "As the decorated function must be able to be called multiple times, the " "underlying context manager must support use in multiple :keyword:`with` " @@ -322,6 +568,40 @@ msgstr "" msgid "Example of ``AsyncContextDecorator``::" msgstr "" +msgid "" +"from asyncio import run\n" +"from contextlib import AsyncContextDecorator\n" +"\n" +"class mycontext(AsyncContextDecorator):\n" +" async def __aenter__(self):\n" +" print('Starting')\n" +" return self\n" +"\n" +" async def __aexit__(self, *exc):\n" +" print('Finishing')\n" +" return False" +msgstr "" + +msgid "" +">>> @mycontext()\n" +"... async def function():\n" +"... print('The bit in the middle')\n" +"...\n" +">>> run(function())\n" +"Starting\n" +"The bit in the middle\n" +"Finishing\n" +"\n" +">>> async def function():\n" +"... async with mycontext():\n" +"... print('The bit in the middle')\n" +"...\n" +">>> run(function())\n" +"Starting\n" +"The bit in the middle\n" +"Finishing" +msgstr "" + msgid "" "A context manager that is designed to make it easy to programmatically " "combine other context managers and cleanup functions, especially those that " @@ -334,8 +614,16 @@ msgid "" msgstr "" msgid "" -"The :meth:`__enter__` method returns the :class:`ExitStack` instance, and " -"performs no additional operations." +"with ExitStack() as stack:\n" +" files = [stack.enter_context(open(fname)) for fname in filenames]\n" +" # All opened files will automatically be closed at the end of\n" +" # the with statement, even if attempts to open files later\n" +" # in the list raise an exception" +msgstr "" + +msgid "" +"The :meth:`~object.__enter__` method returns the :class:`ExitStack` " +"instance, and performs no additional operations." msgstr "" msgid "" @@ -368,9 +656,9 @@ msgid "" msgstr "" msgid "" -"Enters a new context manager and adds its :meth:`__exit__` method to the " -"callback stack. The return value is the result of the context manager's own :" -"meth:`__enter__` method." +"Enters a new context manager and adds its :meth:`~object.__exit__` method to " +"the callback stack. The return value is the result of the context manager's " +"own :meth:`~object.__enter__` method." msgstr "" msgid "" @@ -383,24 +671,26 @@ msgid "" "context manager." msgstr "" -msgid "Adds a context manager's :meth:`__exit__` method to the callback stack." +msgid "" +"Adds a context manager's :meth:`~object.__exit__` method to the callback " +"stack." msgstr "" msgid "" "As ``__enter__`` is *not* invoked, this method can be used to cover part of " -"an :meth:`__enter__` implementation with a context manager's own :meth:" -"`__exit__` method." +"an :meth:`~object.__enter__` implementation with a context manager's own :" +"meth:`~object.__exit__` method." msgstr "" msgid "" "If passed an object that is not a context manager, this method assumes it is " -"a callback with the same signature as a context manager's :meth:`__exit__` " -"method and adds it directly to the callback stack." +"a callback with the same signature as a context manager's :meth:`~object." +"__exit__` method and adds it directly to the callback stack." msgstr "" msgid "" "By returning true values, these callbacks can suppress exceptions the same " -"way context manager :meth:`__exit__` methods can." +"way context manager :meth:`~object.__exit__` methods can." msgstr "" msgid "" @@ -435,6 +725,17 @@ msgid "" "operation as follows::" msgstr "" +msgid "" +"with ExitStack() as stack:\n" +" files = [stack.enter_context(open(fname)) for fname in filenames]\n" +" # Hold onto the close method, but don't call it yet.\n" +" close_files = stack.pop_all().close\n" +" # If opening any file fails, all previously opened files will be\n" +" # closed automatically. If all files are opened successfully,\n" +" # they will remain open even after the with statement ends.\n" +" # close_files() can then be invoked explicitly to close them all." +msgstr "" + msgid "" "Immediately unwinds the callback stack, invoking callbacks in the reverse " "order of registration. For any context managers and exit callbacks " @@ -448,12 +749,13 @@ msgid "" msgstr "" msgid "" -"The :meth:`close` method is not implemented, :meth:`aclose` must be used " -"instead." +"The :meth:`~ExitStack.close` method is not implemented; :meth:`aclose` must " +"be used instead." msgstr "" msgid "" -"Similar to :meth:`enter_context` but expects an asynchronous context manager." +"Similar to :meth:`ExitStack.enter_context` but expects an asynchronous " +"context manager." msgstr "" msgid "" @@ -462,25 +764,34 @@ msgid "" msgstr "" msgid "" -"Similar to :meth:`push` but expects either an asynchronous context manager " -"or a coroutine function." +"Similar to :meth:`ExitStack.push` but expects either an asynchronous context " +"manager or a coroutine function." msgstr "" -msgid "Similar to :meth:`callback` but expects a coroutine function." +msgid "Similar to :meth:`ExitStack.callback` but expects a coroutine function." msgstr "" -msgid "Similar to :meth:`close` but properly handles awaitables." +msgid "Similar to :meth:`ExitStack.close` but properly handles awaitables." msgstr "" msgid "Continuing the example for :func:`asynccontextmanager`::" msgstr "" +msgid "" +"async with AsyncExitStack() as stack:\n" +" connections = [await stack.enter_async_context(get_connection())\n" +" for i in range(5)]\n" +" # All opened connections will automatically be released at the end of\n" +" # the async with statement, even if attempts to open a connection\n" +" # later in the list raise an exception." +msgstr "" + msgid "Examples and Recipes" msgstr "" msgid "" "This section describes some examples and recipes for making effective use of " -"the tools provided by :mod:`contextlib`." +"the tools provided by :mod:`!contextlib`." msgstr "" msgid "Supporting a variable number of context managers" @@ -495,6 +806,16 @@ msgid "" "of the context managers being optional::" msgstr "" +msgid "" +"with ExitStack() as stack:\n" +" for resource in resources:\n" +" stack.enter_context(resource)\n" +" if need_special_resource():\n" +" special = acquire_special_resource()\n" +" stack.callback(release_special_resource, special)\n" +" # Perform operations that use the acquired resources" +msgstr "" + msgid "" "As shown, :class:`ExitStack` also makes it quite easy to use :keyword:`with` " "statements to manage arbitrary resources that don't natively support the " @@ -505,11 +826,23 @@ msgid "Catching exceptions from ``__enter__`` methods" msgstr "" msgid "" -"It is occasionally desirable to catch exceptions from an ``__enter__`` " -"method implementation, *without* inadvertently catching exceptions from the :" -"keyword:`with` statement body or the context manager's ``__exit__`` method. " -"By using :class:`ExitStack` the steps in the context management protocol can " -"be separated slightly in order to allow this::" +"It is occasionally desirable to catch exceptions from an :meth:`~object." +"__enter__` method implementation, *without* inadvertently catching " +"exceptions from the :keyword:`with` statement body or the context manager's :" +"meth:`~object.__exit__` method. By using :class:`ExitStack` the steps in the " +"context management protocol can be separated slightly in order to allow " +"this::" +msgstr "" + +msgid "" +"stack = ExitStack()\n" +"try:\n" +" x = stack.enter_context(cm)\n" +"except Exception:\n" +" # handle __enter__ exception\n" +"else:\n" +" with stack:\n" +" # Handle normal case" msgstr "" msgid "" @@ -528,7 +861,7 @@ msgstr "" msgid "" "As noted in the documentation of :meth:`ExitStack.push`, this method can be " "useful in cleaning up an already allocated resource if later steps in the :" -"meth:`__enter__` implementation fail." +"meth:`~object.__enter__` implementation fail." msgstr "" msgid "" @@ -537,6 +870,43 @@ msgid "" "function, and maps them to the context management protocol::" msgstr "" +msgid "" +"from contextlib import contextmanager, AbstractContextManager, ExitStack\n" +"\n" +"class ResourceManager(AbstractContextManager):\n" +"\n" +" def __init__(self, acquire_resource, release_resource, " +"check_resource_ok=None):\n" +" self.acquire_resource = acquire_resource\n" +" self.release_resource = release_resource\n" +" if check_resource_ok is None:\n" +" def check_resource_ok(resource):\n" +" return True\n" +" self.check_resource_ok = check_resource_ok\n" +"\n" +" @contextmanager\n" +" def _cleanup_on_error(self):\n" +" with ExitStack() as stack:\n" +" stack.push(self)\n" +" yield\n" +" # The validation check passed and didn't raise an exception\n" +" # Accordingly, we want to keep the resource, and pass it\n" +" # back to our caller\n" +" stack.pop_all()\n" +"\n" +" def __enter__(self):\n" +" resource = self.acquire_resource()\n" +" with self._cleanup_on_error():\n" +" if not self.check_resource_ok(resource):\n" +" msg = \"Failed validation for {!r}\"\n" +" raise RuntimeError(msg.format(resource))\n" +" return resource\n" +"\n" +" def __exit__(self, *exc_details):\n" +" # We don't need to duplicate any of our resource release logic\n" +" self.release_resource()" +msgstr "" + msgid "Replacing any use of ``try-finally`` and flag variables" msgstr "" @@ -547,6 +917,17 @@ msgid "" "by using an ``except`` clause instead), it looks something like this::" msgstr "" +msgid "" +"cleanup_needed = True\n" +"try:\n" +" result = perform_operation()\n" +" if result:\n" +" cleanup_needed = False\n" +"finally:\n" +" if cleanup_needed:\n" +" cleanup_resources()" +msgstr "" + msgid "" "As with any ``try`` statement based code, this can cause problems for " "development and review, because the setup code and the cleanup code can end " @@ -560,7 +941,17 @@ msgid "" msgstr "" msgid "" -"This allows the intended cleanup up behaviour to be made explicit up front, " +"from contextlib import ExitStack\n" +"\n" +"with ExitStack() as stack:\n" +" stack.callback(cleanup_resources)\n" +" result = perform_operation()\n" +" if result:\n" +" stack.pop_all()" +msgstr "" + +msgid "" +"This allows the intended cleanup behaviour to be made explicit up front, " "rather than requiring a separate flag variable." msgstr "" @@ -569,12 +960,41 @@ msgid "" "even further by means of a small helper class::" msgstr "" +msgid "" +"from contextlib import ExitStack\n" +"\n" +"class Callback(ExitStack):\n" +" def __init__(self, callback, /, *args, **kwds):\n" +" super().__init__()\n" +" self.callback(callback, *args, **kwds)\n" +"\n" +" def cancel(self):\n" +" self.pop_all()\n" +"\n" +"with Callback(cleanup_resources) as cb:\n" +" result = perform_operation()\n" +" if result:\n" +" cb.cancel()" +msgstr "" + msgid "" "If the resource cleanup isn't already neatly bundled into a standalone " "function, then it is still possible to use the decorator form of :meth:" "`ExitStack.callback` to declare the resource cleanup in advance::" msgstr "" +msgid "" +"from contextlib import ExitStack\n" +"\n" +"with ExitStack() as stack:\n" +" @stack.callback\n" +" def cleanup_resources():\n" +" ...\n" +" result = perform_operation()\n" +" if result:\n" +" stack.pop_all()" +msgstr "" + msgid "" "Due to the way the decorator protocol works, a callback function declared " "this way cannot take any parameters. Instead, any resources to be released " @@ -597,17 +1017,47 @@ msgid "" "in a single definition::" msgstr "" +msgid "" +"from contextlib import ContextDecorator\n" +"import logging\n" +"\n" +"logging.basicConfig(level=logging.INFO)\n" +"\n" +"class track_entry_and_exit(ContextDecorator):\n" +" def __init__(self, name):\n" +" self.name = name\n" +"\n" +" def __enter__(self):\n" +" logging.info('Entering: %s', self.name)\n" +"\n" +" def __exit__(self, exc_type, exc, exc_tb):\n" +" logging.info('Exiting: %s', self.name)" +msgstr "" + msgid "Instances of this class can be used as both a context manager::" msgstr "" +msgid "" +"with track_entry_and_exit('widget loader'):\n" +" print('Some time consuming activity goes here')\n" +" load_widget()" +msgstr "" + msgid "And also as a function decorator::" msgstr "" +msgid "" +"@track_entry_and_exit('widget loader')\n" +"def activity():\n" +" print('Some time consuming activity goes here')\n" +" load_widget()" +msgstr "" + msgid "" "Note that there is one additional limitation when using context managers as " "function decorators: there's no way to access the return value of :meth:" -"`__enter__`. If that value is needed, then it is still necessary to use an " -"explicit ``with`` statement." +"`~object.__enter__`. If that value is needed, then it is still necessary to " +"use an explicit ``with`` statement." msgstr "" msgid ":pep:`343` - The \"with\" statement" @@ -646,6 +1096,28 @@ msgid "" "to yield if an attempt is made to use them a second time::" msgstr "" +msgid "" +">>> from contextlib import contextmanager\n" +">>> @contextmanager\n" +"... def singleuse():\n" +"... print(\"Before\")\n" +"... yield\n" +"... print(\"After\")\n" +"...\n" +">>> cm = singleuse()\n" +">>> with cm:\n" +"... pass\n" +"...\n" +"Before\n" +"After\n" +">>> with cm:\n" +"... pass\n" +"...\n" +"Traceback (most recent call last):\n" +" ...\n" +"RuntimeError: generator didn't yield" +msgstr "" + msgid "Reentrant context managers" msgstr "" @@ -662,6 +1134,23 @@ msgid "" "very simple example of reentrant use::" msgstr "" +msgid "" +">>> from contextlib import redirect_stdout\n" +">>> from io import StringIO\n" +">>> stream = StringIO()\n" +">>> write_to_stream = redirect_stdout(stream)\n" +">>> with write_to_stream:\n" +"... print(\"This is written to the stream rather than stdout\")\n" +"... with write_to_stream:\n" +"... print(\"This is also written to the stream\")\n" +"...\n" +">>> print(\"This is written directly to stdout\")\n" +"This is written directly to stdout\n" +">>> print(stream.getvalue())\n" +"This is written to the stream rather than stdout\n" +"This is also written to the stream" +msgstr "" + msgid "" "Real world examples of reentrancy are more likely to involve multiple " "functions calling each other and hence be far more complicated than this " @@ -699,6 +1188,34 @@ msgid "" "any with statement, regardless of where those callbacks were added::" msgstr "" +msgid "" +">>> from contextlib import ExitStack\n" +">>> stack = ExitStack()\n" +">>> with stack:\n" +"... stack.callback(print, \"Callback: from first context\")\n" +"... print(\"Leaving first context\")\n" +"...\n" +"Leaving first context\n" +"Callback: from first context\n" +">>> with stack:\n" +"... stack.callback(print, \"Callback: from second context\")\n" +"... print(\"Leaving second context\")\n" +"...\n" +"Leaving second context\n" +"Callback: from second context\n" +">>> with stack:\n" +"... stack.callback(print, \"Callback: from outer context\")\n" +"... with stack:\n" +"... stack.callback(print, \"Callback: from inner context\")\n" +"... print(\"Leaving inner context\")\n" +"... print(\"Leaving outer context\")\n" +"...\n" +"Leaving inner context\n" +"Callback: from inner context\n" +"Callback: from outer context\n" +"Leaving outer context" +msgstr "" + msgid "" "As the output from the example shows, reusing a single stack object across " "multiple with statements works correctly, but attempting to nest them will " @@ -710,3 +1227,18 @@ msgid "" "Using separate :class:`ExitStack` instances instead of reusing a single " "instance avoids that problem::" msgstr "" + +msgid "" +">>> from contextlib import ExitStack\n" +">>> with ExitStack() as outer_stack:\n" +"... outer_stack.callback(print, \"Callback: from outer context\")\n" +"... with ExitStack() as inner_stack:\n" +"... inner_stack.callback(print, \"Callback: from inner context\")\n" +"... print(\"Leaving inner context\")\n" +"... print(\"Leaving outer context\")\n" +"...\n" +"Leaving inner context\n" +"Callback: from inner context\n" +"Leaving outer context\n" +"Callback: from outer context" +msgstr "" diff --git a/library/contextvars.po b/library/contextvars.po index 1bdba6d85d..f205990f23 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -106,6 +105,38 @@ msgid "" "variable to its previous value via the :meth:`ContextVar.reset` method." msgstr "" +msgid "" +"For convenience, the token object can be used as a context manager to avoid " +"calling :meth:`ContextVar.reset` manually::" +msgstr "" + +msgid "" +"var = ContextVar('var', default='default value')\n" +"\n" +"with var.set('new value'):\n" +" assert var.get() == 'new value'\n" +"\n" +"assert var.get() == 'default value'" +msgstr "" + +msgid "It is a shorthand for::" +msgstr "" + +msgid "" +"var = ContextVar('var', default='default value')\n" +"\n" +"token = var.set('new value')\n" +"try:\n" +" assert var.get() == 'new value'\n" +"finally:\n" +" var.reset(token)\n" +"\n" +"assert var.get() == 'default value'" +msgstr "" + +msgid "Added support for using tokens as context managers." +msgstr "" + msgid "" "Reset the context variable to the value it had before the :meth:`ContextVar." "set` that created the *token* was used." @@ -125,25 +156,19 @@ msgid "" "# var.get() would raise a LookupError." msgstr "" -msgid "" -"*Token* objects are returned by the :meth:`ContextVar.set` method. They can " -"be passed to the :meth:`ContextVar.reset` method to revert the value of the " -"variable to what it was before the corresponding *set*." +msgid "The same *token* cannot be used twice." msgstr "" msgid "" -"The token supports :ref:`context manager protocol ` to " -"restore the corresponding context variable value at the exit from :keyword:" -"`with` block::" +"*Token* objects are returned by the :meth:`ContextVar.set` method. They can " +"be passed to the :meth:`ContextVar.reset` method to revert the value of the " +"variable to what it was before the corresponding *set*. A single token " +"cannot reset a context variable more than once." msgstr "" msgid "" -"var = ContextVar('var', default='default value')\n" -"\n" -"with var.set('new value'):\n" -" assert var.get() == 'new value'\n" -"\n" -"assert var.get() == 'default value'" +"Tokens support the :ref:`context manager protocol ` to " +"automatically reset context variables. See :meth:`ContextVar.set`." msgstr "" msgid "Added support for usage as a context manager." diff --git a/library/copy.po b/library/copy.po index 44f5d05eb1..578e72ae3d 100644 --- a/library/copy.po +++ b/library/copy.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!copy` --- Shallow and deep copy operations" msgstr "" msgid "**Source code:** :source:`Lib/copy.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/copy.py`" msgid "" "Assignment statements in Python do not copy objects, they create bindings " @@ -116,7 +115,7 @@ msgstr "" msgid "" "Classes can use the same interfaces to control copying that they use to " "control pickling. See the description of module :mod:`pickle` for " -"information on these methods. In fact, the :mod:`copy` module uses the " +"information on these methods. In fact, the :mod:`!copy` module uses the " "registered pickle functions from the :mod:`copyreg` module." msgstr "" diff --git a/library/copyreg.po b/library/copyreg.po index e9b4f809f1..1811f82718 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!copyreg` --- Register :mod:`!pickle` support functions" msgstr "" msgid "**Source code:** :source:`Lib/copyreg.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/copyreg.py`" msgid "" -"The :mod:`copyreg` module offers a way to define functions used while " +"The :mod:`!copyreg` module offers a way to define functions used while " "pickling specific objects. The :mod:`pickle` and :mod:`copy` modules use " "those functions when pickling/copying those objects. The module provides " "configuration information about object constructors which are not classes. " diff --git a/library/csv.po b/library/csv.po index 43927b19d8..e82847c1ed 100644 --- a/library/csv.po +++ b/library/csv.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!csv` --- CSV File Reading and Writing" msgstr "" msgid "**Source code:** :source:`Lib/csv.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/csv.py`" msgid "" "The so-called CSV (Comma Separated Values) format is the most common import " @@ -44,7 +43,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`csv` module implements classes to read and write tabular data in " +"The :mod:`!csv` module implements classes to read and write tabular data in " "CSV format. It allows programmers to say, \"write this data in the format " "preferred by Excel,\" or \"read data from this file which was generated by " "Excel,\" without knowing the precise details of the CSV format used by " @@ -53,8 +52,8 @@ msgid "" msgstr "" msgid "" -"The :mod:`csv` module's :class:`reader` and :class:`writer` objects read and " -"write sequences. Programmers can also read and write data in dictionary " +"The :mod:`!csv` module's :class:`reader` and :class:`writer` objects read " +"and write sequences. Programmers can also read and write data in dictionary " "form using the :class:`DictReader` and :class:`DictWriter` classes." msgstr "" @@ -67,7 +66,7 @@ msgstr "" msgid "Module Contents" msgstr "" -msgid "The :mod:`csv` module defines the following functions:" +msgid "The :mod:`!csv` module defines the following functions:" msgstr "" msgid "" @@ -86,9 +85,9 @@ msgstr "" msgid "" "Each row read from the csv file is returned as a list of strings. No " -"automatic data type conversion is performed unless the ``QUOTE_NONNUMERIC`` " -"format option is specified (in which case unquoted fields are transformed " -"into floats)." +"automatic data type conversion is performed unless the :data:" +"`QUOTE_NONNUMERIC` format option is specified (in which case unquoted fields " +"are transformed into floats)." msgstr "" msgid "A short usage example::" @@ -159,7 +158,7 @@ msgid "" "is given, this becomes the new limit." msgstr "" -msgid "The :mod:`csv` module defines the following classes:" +msgid "The :mod:`!csv` module defines the following classes:" msgstr "" msgid "" @@ -314,8 +313,8 @@ msgid "" msgstr "" msgid "" -"Twenty rows after the first row are sampled; if more than half of columns + " -"rows meet the criteria, :const:`True` is returned." +"Twenty-one rows after the header are sampled; if more than half of the " +"columns + rows meet the criteria, :const:`True` is returned." msgstr "" msgid "" @@ -334,7 +333,7 @@ msgid "" " # ... process CSV file contents here ..." msgstr "" -msgid "The :mod:`csv` module defines the following constants:" +msgid "The :mod:`!csv` module defines the following constants:" msgstr "" msgid "Instructs :class:`writer` objects to quote all fields." @@ -342,23 +341,32 @@ msgstr "" msgid "" "Instructs :class:`writer` objects to only quote those fields which contain " -"special characters such as *delimiter*, *quotechar* or any of the characters " -"in *lineterminator*." +"special characters such as *delimiter*, *quotechar*, ``'\\r'``, ``'\\n'`` or " +"any of the characters in *lineterminator*." msgstr "" msgid "Instructs :class:`writer` objects to quote all non-numeric fields." msgstr "" msgid "" -"Instructs :class:`reader` objects to convert all non-quoted fields to type " -"*float*." +"Instructs :class:`reader` objects to convert all non-quoted fields to type :" +"class:`float`." +msgstr "" + +msgid "" +"Some numeric types, such as :class:`bool`, :class:`~fractions.Fraction`, or :" +"class:`~enum.IntEnum`, have a string representation that cannot be converted " +"to :class:`float`. They cannot be read in the :data:`QUOTE_NONNUMERIC` and :" +"data:`QUOTE_STRINGS` modes." msgstr "" msgid "" -"Instructs :class:`writer` objects to never quote fields. When the current " -"*delimiter* occurs in output data it is preceded by the current *escapechar* " -"character. If *escapechar* is not set, the writer will raise :exc:`Error` " -"if any characters that require escaping are encountered." +"Instructs :class:`writer` objects to never quote fields. When the current " +"*delimiter*, *quotechar*, *escapechar*, ``'\\r'``, ``'\\n'`` or any of the " +"characters in *lineterminator* occurs in output data it is preceded by the " +"current *escapechar* character. If *escapechar* is not set, the writer will " +"raise :exc:`Error` if any characters that require escaping are encountered. " +"Set *quotechar* to ``None`` to prevent its escaping." msgstr "" msgid "" @@ -388,7 +396,7 @@ msgid "" "``None`` and to otherwise behave as :data:`QUOTE_NONNUMERIC`." msgstr "" -msgid "The :mod:`csv` module defines the following exception:" +msgid "The :mod:`!csv` module defines the following exception:" msgstr "" msgid "Raised by any of the functions when an error is detected." @@ -429,11 +437,25 @@ msgid "" msgstr "" msgid "" -"A one-character string used by the writer to escape the *delimiter* if " -"*quoting* is set to :const:`QUOTE_NONE` and the *quotechar* if *doublequote* " -"is :const:`False`. On reading, the *escapechar* removes any special meaning " -"from the following character. It defaults to :const:`None`, which disables " -"escaping." +"A one-character string used by the writer to escape characters that require " +"escaping:" +msgstr "" + +msgid "" +"the *delimiter*, the *quotechar*, ``'\\r'``, ``'\\n'`` and any of the " +"characters in *lineterminator* are escaped if *quoting* is set to :const:" +"`QUOTE_NONE`;" +msgstr "" + +msgid "the *quotechar* is escaped if *doublequote* is :const:`False`;" +msgstr "" + +msgid "the *escapechar* itself." +msgstr "" + +msgid "" +"On reading, the *escapechar* removes any special meaning from the following " +"character. It defaults to :const:`None`, which disables escaping." msgstr "" msgid "An empty *escapechar* is not allowed." @@ -452,8 +474,10 @@ msgstr "" msgid "" "A one-character string used to quote fields containing special characters, " -"such as the *delimiter* or *quotechar*, or which contain new-line " -"characters. It defaults to ``'\"'``." +"such as the *delimiter* or the *quotechar*, or which contain new-line " +"characters (``'\\r'``, ``'\\n'`` or any of the characters in " +"*lineterminator*). It defaults to ``'\"'``. Can be set to ``None`` to " +"prevent escaping ``'\"'`` if *quoting* is set to :const:`QUOTE_NONE`." msgstr "" msgid "An empty *quotechar* is not allowed." @@ -462,12 +486,14 @@ msgstr "" msgid "" "Controls when quotes should be generated by the writer and recognised by the " "reader. It can take on any of the :ref:`QUOTE_\\* constants ` and defaults to :const:`QUOTE_MINIMAL`." +"constants>` and defaults to :const:`QUOTE_MINIMAL` if *quotechar* is not " +"``None``, and :const:`QUOTE_NONE` otherwise." msgstr "" msgid "" "When :const:`True`, spaces immediately following the *delimiter* are " -"ignored. The default is :const:`False`." +"ignored. The default is :const:`False`. When combining ``delimiter=' '`` " +"with ``skipinitialspace=True``, unquoted empty fields are not allowed." msgstr "" msgid "" @@ -637,7 +663,7 @@ msgid "" " for row in reader:\n" " print(row)\n" " except csv.Error as e:\n" -" sys.exit('file {}, line {}: {}'.format(filename, reader.line_num, e))" +" sys.exit(f'file {filename}, line {reader.line_num}: {e}')" msgstr "" msgid "" @@ -656,9 +682,9 @@ msgstr "Przypisy" msgid "" "If ``newline=''`` is not specified, newlines embedded inside quoted fields " -"will not be interpreted correctly, and on platforms that use ``\\r\\n`` " -"linendings on write an extra ``\\r`` will be added. It should always be " -"safe to specify ``newline=''``, since the csv module does its own (:term:" +"will not be interpreted correctly, and on platforms that use ``\\r\\n`` line " +"endings on write an extra ``\\r`` will be added. It should always be safe " +"to specify ``newline=''``, since the csv module does its own (:term:" "`universal `) newline handling." msgstr "" diff --git a/library/ctypes.po b/library/ctypes.po index c0a4ce7166..9089dec0e1 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -4,18 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 -# Rafael Fontenelle , 2025 +# Maciej Olko , 2025 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,21 +28,26 @@ msgid ":mod:`!ctypes` --- A foreign function library for Python" msgstr "" msgid "**Source code:** :source:`Lib/ctypes`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/ctypes`" msgid "" -":mod:`ctypes` is a foreign function library for Python. It provides C " +":mod:`!ctypes` is a foreign function library for Python. It provides C " "compatible data types, and allows calling functions in DLLs or shared " "libraries. It can be used to wrap these libraries in pure Python." msgstr "" -msgid "ctypes tutorial" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." -msgid "" -"Note: The code samples in this tutorial use :mod:`doctest` to make sure that " -"they actually work. Since some code samples behave differently under Linux, " -"Windows, or macOS, they contain doctest directives in comments." +msgid "ctypes tutorial" msgstr "" msgid "" @@ -57,18 +61,20 @@ msgid "Loading dynamic link libraries" msgstr "" msgid "" -":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* " -"objects, for loading dynamic link libraries." +":mod:`!ctypes` exports the :py:data:`~ctypes.cdll`, and on Windows :py:data:" +"`~ctypes.windll` and :py:data:`~ctypes.oledll` objects, for loading dynamic " +"link libraries." msgstr "" msgid "" -"You load libraries by accessing them as attributes of these objects. *cdll* " -"loads libraries which export functions using the standard ``cdecl`` calling " -"convention, while *windll* libraries call functions using the ``stdcall`` " -"calling convention. *oledll* also uses the ``stdcall`` calling convention, " -"and assumes the functions return a Windows :c:type:`!HRESULT` error code. " -"The error code is used to automatically raise an :class:`OSError` exception " -"when the function call fails." +"You load libraries by accessing them as attributes of these objects. :py:" +"data:`!cdll` loads libraries which export functions using the standard " +"``cdecl`` calling convention, while :py:data:`!windll` libraries call " +"functions using the ``stdcall`` calling convention. :py:data:`~oledll` also " +"uses the ``stdcall`` calling convention, and assumes the functions return a " +"Windows :c:type:`!HRESULT` error code. The error code is used to " +"automatically raise an :class:`OSError` exception when the function call " +"fails." msgstr "" msgid "" @@ -103,11 +109,14 @@ msgid "" msgstr "" msgid "" -"On Linux, it is required to specify the filename *including* the extension " -"to load a library, so attribute access can not be used to load libraries. " -"Either the :meth:`~LibraryLoader.LoadLibrary` method of the dll loaders " -"should be used, or you should load the library by creating an instance of " -"CDLL by calling the constructor::" +"Other systems require the filename *including* the extension to load a " +"library, so attribute access can not be used to load libraries. Either the :" +"meth:`~LibraryLoader.LoadLibrary` method of the dll loaders should be used, " +"or you should load the library by creating an instance of :py:class:`CDLL` " +"by calling the constructor." +msgstr "" + +msgid "For example, on Linux::" msgstr "" msgid "" @@ -119,6 +128,17 @@ msgid "" ">>>" msgstr "" +msgid "On macOS::" +msgstr "" + +msgid "" +">>> cdll.LoadLibrary(\"libc.dylib\")\n" +"\n" +">>> libc = CDLL(\"libc.dylib\")\n" +">>> libc\n" +"" +msgstr "" + msgid "Accessing functions from loaded dlls" msgstr "" @@ -245,7 +265,7 @@ msgid "" msgstr "" msgid "" -"On Windows, :mod:`ctypes` uses win32 structured exception handling to " +"On Windows, :mod:`!ctypes` uses win32 structured exception handling to " "prevent crashes from general protection faults when functions are called " "with invalid argument values::" msgstr "" @@ -259,7 +279,7 @@ msgid "" msgstr "" msgid "" -"There are, however, enough ways to crash Python with :mod:`ctypes`, so you " +"There are, however, enough ways to crash Python with :mod:`!ctypes`, so you " "should be careful anyway. The :mod:`faulthandler` module can be helpful in " "debugging crashes (e.g. from segmentation faults produced by erroneous C " "library calls)." @@ -277,13 +297,13 @@ msgstr "" msgid "" "Before we move on calling functions with other parameter types, we have to " -"learn more about :mod:`ctypes` data types." +"learn more about :mod:`!ctypes` data types." msgstr "" msgid "Fundamental data types" msgstr "" -msgid ":mod:`ctypes` defines a number of primitive C compatible data types:" +msgid ":mod:`!ctypes` defines a number of primitive C compatible data types:" msgstr "" msgid "ctypes type" @@ -295,13 +315,19 @@ msgstr "" msgid "Python type" msgstr "" +msgid ":py:attr:`~_SimpleCData._type_`" +msgstr "" + msgid ":class:`c_bool`" msgstr ":class:`c_bool`" msgid ":c:expr:`_Bool`" msgstr ":c:expr:`_Bool`" -msgid "bool (1)" +msgid ":py:class:`bool`" +msgstr ":py:class:`bool`" + +msgid "``'?'``" msgstr "" msgid ":class:`c_char`" @@ -310,29 +336,41 @@ msgstr ":class:`c_char`" msgid ":c:expr:`char`" msgstr ":c:expr:`char`" -msgid "1-character bytes object" +msgid "1-character :py:class:`bytes`" msgstr "" +msgid "``'c'``" +msgstr "``'c'``" + msgid ":class:`c_wchar`" msgstr ":class:`c_wchar`" msgid ":c:type:`wchar_t`" msgstr ":c:type:`wchar_t`" -msgid "1-character string" +msgid "1-character :py:class:`str`" msgstr "" +msgid "``'u'``" +msgstr "``'u'``" + msgid ":class:`c_byte`" msgstr ":class:`c_byte`" -msgid "int" -msgstr "int" +msgid ":py:class:`int`" +msgstr ":py:class:`int`" + +msgid "``'b'``" +msgstr "``'b'``" msgid ":class:`c_ubyte`" msgstr ":class:`c_ubyte`" msgid ":c:expr:`unsigned char`" -msgstr "" +msgstr ":c:expr:`unsigned char`" + +msgid "``'B'``" +msgstr "``'B'``" msgid ":class:`c_short`" msgstr ":class:`c_short`" @@ -340,11 +378,17 @@ msgstr ":class:`c_short`" msgid ":c:expr:`short`" msgstr ":c:expr:`short`" +msgid "``'h'``" +msgstr "``'h'``" + msgid ":class:`c_ushort`" msgstr ":class:`c_ushort`" msgid ":c:expr:`unsigned short`" -msgstr "" +msgstr ":c:expr:`unsigned short`" + +msgid "``'H'``" +msgstr "``'H'``" msgid ":class:`c_int`" msgstr ":class:`c_int`" @@ -352,10 +396,67 @@ msgstr ":class:`c_int`" msgid ":c:expr:`int`" msgstr ":c:expr:`int`" +msgid "``'i'`` \\*" +msgstr "" + +msgid ":class:`c_int8`" +msgstr "" + +msgid ":c:type:`int8_t`" +msgstr "" + +msgid "\\*" +msgstr "" + +msgid ":class:`c_int16`" +msgstr "" + +msgid ":c:type:`int16_t`" +msgstr "" + +msgid ":class:`c_int32`" +msgstr "" + +msgid ":c:type:`int32_t`" +msgstr "" + +msgid ":class:`c_int64`" +msgstr "" + +msgid ":c:type:`int64_t`" +msgstr "" + msgid ":class:`c_uint`" msgstr ":class:`c_uint`" msgid ":c:expr:`unsigned int`" +msgstr ":c:expr:`unsigned int`" + +msgid "``'I'`` \\*" +msgstr "" + +msgid ":class:`c_uint8`" +msgstr "" + +msgid ":c:type:`uint8_t`" +msgstr "" + +msgid ":class:`c_uint16`" +msgstr "" + +msgid ":c:type:`uint16_t`" +msgstr "" + +msgid ":class:`c_uint32`" +msgstr "" + +msgid ":c:type:`uint32_t`" +msgstr "" + +msgid ":class:`c_uint64`" +msgstr "" + +msgid ":c:type:`uint64_t`" msgstr "" msgid ":class:`c_long`" @@ -364,22 +465,34 @@ msgstr ":class:`c_long`" msgid ":c:expr:`long`" msgstr ":c:expr:`long`" +msgid "``'l'``" +msgstr "``'I'``" + msgid ":class:`c_ulong`" msgstr ":class:`c_ulong`" msgid ":c:expr:`unsigned long`" -msgstr "" +msgstr ":c:expr:`unsigned long`" + +msgid "``'L'``" +msgstr "``'L'``" msgid ":class:`c_longlong`" msgstr ":class:`c_longlong`" -msgid ":c:expr:`__int64` or :c:expr:`long long`" +msgid ":c:expr:`long long`" +msgstr ":c:expr:`long long`" + +msgid "``'q'`` \\*" msgstr "" msgid ":class:`c_ulonglong`" msgstr ":class:`c_ulonglong`" -msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" +msgid ":c:expr:`unsigned long long`" +msgstr "" + +msgid "``'Q'`` \\*" msgstr "" msgid ":class:`c_size_t`" @@ -391,8 +504,8 @@ msgstr ":c:type:`size_t`" msgid ":class:`c_ssize_t`" msgstr ":class:`c_ssize_t`" -msgid ":c:type:`ssize_t` or :c:expr:`Py_ssize_t`" -msgstr "" +msgid ":c:type:`Py_ssize_t`" +msgstr ":c:type:`Py_ssize_t`" msgid ":class:`c_time_t`" msgstr ":class:`c_time_t`" @@ -406,8 +519,11 @@ msgstr ":class:`c_float`" msgid ":c:expr:`float`" msgstr ":c:expr:`float`" -msgid "float" -msgstr "typ (float) zmiennoprzecinkowy pojedynczej precyzji" +msgid ":py:class:`float`" +msgstr ":py:class:`float`" + +msgid "``'f'``" +msgstr "``'f'``" msgid ":class:`c_double`" msgstr ":class:`c_double`" @@ -415,10 +531,16 @@ msgstr ":class:`c_double`" msgid ":c:expr:`double`" msgstr ":c:expr:`double`" +msgid "``'d'``" +msgstr "``'d'``" + msgid ":class:`c_longdouble`" msgstr ":class:`c_longdouble`" msgid ":c:expr:`long double`" +msgstr ":c:expr:`long double`" + +msgid "``'g'`` \\*" msgstr "" msgid ":class:`c_char_p`" @@ -427,7 +549,10 @@ msgstr ":class:`c_char_p`" msgid ":c:expr:`char *` (NUL terminated)" msgstr "" -msgid "bytes object or ``None``" +msgid ":py:class:`bytes` or ``None``" +msgstr "" + +msgid "``'z'``" msgstr "" msgid ":class:`c_wchar_p`" @@ -436,19 +561,43 @@ msgstr ":class:`c_wchar_p`" msgid ":c:expr:`wchar_t *` (NUL terminated)" msgstr "" -msgid "string or ``None``" +msgid ":py:class:`str` or ``None``" +msgstr "" + +msgid "``'Z'``" msgstr "" msgid ":class:`c_void_p`" msgstr ":class:`c_void_p`" msgid ":c:expr:`void *`" +msgstr ":c:expr:`void *`" + +msgid ":py:class:`int` or ``None``" +msgstr "" + +msgid "``'P'``" +msgstr "" + +msgid ":class:`py_object`" +msgstr "" + +msgid ":c:expr:`PyObject *`" +msgstr ":c:expr:`PyObject *`" + +msgid ":py:class:`object`" msgstr "" -msgid "int or ``None``" +msgid "``'O'``" msgstr "" -msgid "The constructor accepts any object with a truth value." +msgid ":ref:`VARIANT_BOOL `" +msgstr "" + +msgid ":c:expr:`short int`" +msgstr "" + +msgid "``'v'``" msgstr "" msgid "" @@ -458,26 +607,35 @@ msgid "" msgstr "" msgid ":class:`c_float_complex`" -msgstr "" +msgstr ":class:`c_float_complex`" msgid ":c:expr:`float complex`" -msgstr "" +msgstr ":c:expr:`float complex`" -msgid "complex" +msgid ":py:class:`complex`" msgstr "" +msgid "``'F'``" +msgstr "``'F'``" + msgid ":class:`c_double_complex`" -msgstr "" +msgstr ":class:`c_double_complex`" msgid ":c:expr:`double complex`" -msgstr "" +msgstr ":c:expr:`double complex`" + +msgid "``'D'``" +msgstr "``'D'``" msgid ":class:`c_longdouble_complex`" -msgstr "" +msgstr ":class:`c_longdouble_complex`" msgid ":c:expr:`long double complex`" msgstr "" +msgid "``'G'``" +msgstr "``'G'``" + msgid "" "All these types can be created by calling them with an optional initializer " "of the correct type and value::" @@ -500,6 +658,19 @@ msgstr "" "c_ushort(65533)\n" ">>>" +msgid "" +"The constructors for numeric types will convert input using :py:meth:" +"`~object.__bool__`, :py:meth:`~object.__index__` (for ``int``), :py:meth:" +"`~object.__float__` or :py:meth:`~object.__complex__`. This means :py:class:" +"`~ctypes.c_bool` accepts any object with a truth value::" +msgstr "" + +msgid "" +">>> empty_list = []\n" +">>> c_bool(empty_list)\n" +"c_bool(False)" +msgstr "" + msgid "" "Since these types are mutable, their value can also be changed afterwards::" msgstr "" @@ -607,7 +778,7 @@ msgstr "" msgid "" "As has been mentioned before, all Python types except integers, strings, and " -"bytes objects have to be wrapped in their corresponding :mod:`ctypes` type, " +"bytes objects have to be wrapped in their corresponding :mod:`!ctypes` type, " "so that they can be converted to the required C data type::" msgstr "" @@ -646,10 +817,10 @@ msgid "Calling functions with your own custom data types" msgstr "" msgid "" -"You can also customize :mod:`ctypes` argument conversion to allow instances " -"of your own classes be used as function arguments. :mod:`ctypes` looks for " +"You can also customize :mod:`!ctypes` argument conversion to allow instances " +"of your own classes be used as function arguments. :mod:`!ctypes` looks for " "an :attr:`!_as_parameter_` attribute and uses this as the function argument. " -"The attribute must be an integer, string, bytes, a :mod:`ctypes` instance, " +"The attribute must be an integer, string, bytes, a :mod:`!ctypes` instance, " "or an object with an :attr:`!_as_parameter_` attribute::" msgstr "" @@ -722,7 +893,7 @@ msgid "" "this object is acceptable, and then return the object itself, its :attr:`!" "_as_parameter_` attribute, or whatever you want to pass as the C function " "argument in this case. Again, the result should be an integer, string, " -"bytes, a :mod:`ctypes` instance, or an object with an :attr:`!" +"bytes, a :mod:`!ctypes` instance, or an object with an :attr:`!" "_as_parameter_` attribute." msgstr "" @@ -851,7 +1022,7 @@ msgid "" msgstr "" msgid "" -":mod:`ctypes` exports the :func:`byref` function which is used to pass " +":mod:`!ctypes` exports the :func:`byref` function which is used to pass " "parameters by reference. The same effect can be achieved with the :func:" "`pointer` function, although :func:`pointer` does a lot more work since it " "constructs a real pointer object, so it is faster to use :func:`byref` if " @@ -877,15 +1048,15 @@ msgstr "" msgid "" "Structures and unions must derive from the :class:`Structure` and :class:" -"`Union` base classes which are defined in the :mod:`ctypes` module. Each " +"`Union` base classes which are defined in the :mod:`!ctypes` module. Each " "subclass must define a :attr:`~Structure._fields_` attribute. :attr:`!" "_fields_` must be a list of *2-tuples*, containing a *field name* and a " "*field type*." msgstr "" msgid "" -"The field type must be a :mod:`ctypes` type like :class:`c_int`, or any " -"other derived :mod:`ctypes` type: structure, union, array, pointer." +"The field type must be a :mod:`!ctypes` type like :class:`c_int`, or any " +"other derived :mod:`!ctypes` type: structure, union, array, pointer." msgstr "" msgid "" @@ -961,7 +1132,7 @@ msgid "" msgstr "" msgid "" -":mod:`ctypes` does not support passing unions or structures with bit-fields " +":mod:`!ctypes` does not support passing unions or structures with bit-fields " "to functions by value. While this may work on 32-bit x86, it's not " "guaranteed by the library to work in the general case. Unions and " "structures with bit-fields should always be passed to functions by pointer." @@ -978,20 +1149,14 @@ msgid "" msgstr "" msgid "" -"It is possible to specify the maximum alignment for the fields by setting " -"the :attr:`~Structure._pack_` class attribute to a positive integer. This " -"matches what ``#pragma pack(n)`` does in MSVC." +"It is possible to specify the maximum alignment for the fields and/or for " +"the structure itself by setting the class attributes :attr:`~Structure." +"_pack_` and/or :attr:`~Structure._align_`, respectively. See the attribute " +"documentation for details." msgstr "" msgid "" -"It is also possible to set a minimum alignment for how the subclass itself " -"is packed in the same way ``#pragma align(n)`` works in MSVC. This can be " -"achieved by specifying a :attr:`~Structure._align_` class attribute in the " -"subclass definition." -msgstr "" - -msgid "" -":mod:`ctypes` uses the native byte order for Structures and Unions. To " +":mod:`!ctypes` uses the native byte order for Structures and Unions. To " "build structures with non-native byte order, you can use one of the :class:" "`BigEndianStructure`, :class:`LittleEndianStructure`, :class:" "`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. These " @@ -1013,10 +1178,17 @@ msgid "" "... (\"second_16\", c_int, 16)]\n" "...\n" ">>> print(Int.first_16)\n" -"\n" +"\n" ">>> print(Int.second_16)\n" -"\n" -">>>" +"" +msgstr "" + +msgid "" +"It is important to note that bit field allocation and layout in memory are " +"not defined as a C standard; their implementation is compiler-specific. By " +"default, Python will attempt to match the behavior of a \"native\" compiler " +"for the current platform. See the :attr:`~Structure._layout_` attribute for " +"details on the default behavior and how to change it." msgstr "" msgid "Arrays" @@ -1089,7 +1261,7 @@ msgstr "" msgid "" "Pointer instances are created by calling the :func:`pointer` function on a :" -"mod:`ctypes` type::" +"mod:`!ctypes` type::" msgstr "" msgid "" @@ -1114,7 +1286,7 @@ msgstr "" ">>>" msgid "" -"Note that :mod:`ctypes` does not have OOR (original object return), it " +"Note that :mod:`!ctypes` does not have OOR (original object return), it " "constructs a new, equivalent object each time you retrieve an attribute::" msgstr "" @@ -1191,7 +1363,7 @@ msgstr "" msgid "" "Behind the scenes, the :func:`pointer` function does more than simply create " "pointer instances, it has to create pointer *types* first. This is done with " -"the :func:`POINTER` function, which accepts any :mod:`ctypes` type, and " +"the :func:`POINTER` function, which accepts any :mod:`!ctypes` type, and " "returns a new type::" msgstr "" @@ -1225,7 +1397,7 @@ msgstr "" ">>>" msgid "" -":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but " +":mod:`!ctypes` checks for ``NULL`` when dereferencing pointers (but " "dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" msgstr "" @@ -1247,9 +1419,9 @@ msgid "Thread safety without the GIL" msgstr "" msgid "" -"In Python 3.13, the :term:`GIL` may be disabled on :term:`experimental free " -"threaded ` builds. In ctypes, reads and writes to a single " -"object concurrently is safe, but not across multiple objects:" +"From Python 3.13 onward, the :term:`GIL` can be disabled on the :term:`free-" +"threaded build`. In ctypes, reads and writes to a single object concurrently " +"is safe, but not across multiple objects:" msgstr "" msgid "" @@ -1326,7 +1498,7 @@ msgstr "" msgid "" "Sometimes you have instances of incompatible types. In C, you can cast one " -"type into another type. :mod:`ctypes` provides a :func:`cast` function " +"type into another type. :mod:`!ctypes` provides a :func:`cast` function " "which can be used in the same way. The ``Bar`` structure defined above " "accepts ``POINTER(c_int)`` pointers or :class:`c_int` arrays for its " "``values`` field, but not instances of other types::" @@ -1409,8 +1581,8 @@ msgstr "" msgid "" "because the new ``class cell`` is not available in the class statement " -"itself. In :mod:`ctypes`, we can define the ``cell`` class and set the :attr:" -"`~Structure._fields_` attribute later, after the class statement::" +"itself. In :mod:`!ctypes`, we can define the ``cell`` class and set the :" +"attr:`~Structure._fields_` attribute later, after the class statement::" msgstr "" msgid "" @@ -1448,7 +1620,7 @@ msgid "Callback functions" msgstr "" msgid "" -":mod:`ctypes` allows creating C callable function pointers from Python " +":mod:`!ctypes` allows creating C callable function pointers from Python " "callables. These are sometimes called *callback functions*." msgstr "" @@ -1583,7 +1755,7 @@ msgstr "" msgid "" "Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " -"are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " +"are used from C code. :mod:`!ctypes` doesn't, and if you don't, they may be " "garbage collected, crashing your program when a callback is made." msgstr "" @@ -1606,7 +1778,7 @@ msgid "" msgstr "" msgid "" -":mod:`ctypes` can access values like this with the :meth:`~_CData.in_dll` " +":mod:`!ctypes` can access values like this with the :meth:`~_CData.in_dll` " "class methods of the type. *pythonapi* is a predefined symbol giving access " "to the Python C api::" msgstr "" @@ -1638,7 +1810,7 @@ msgstr "" msgid "" "So manipulating this pointer could even prove useful. To restrict the " -"example size, we show only how this table can be read with :mod:`ctypes`::" +"example size, we show only how this table can be read with :mod:`!ctypes`::" msgstr "" msgid "" @@ -1698,8 +1870,8 @@ msgid "Surprises" msgstr "" msgid "" -"There are some edges in :mod:`ctypes` where you might expect something other " -"than what actually happens." +"There are some edges in :mod:`!ctypes` where you might expect something " +"other than what actually happens." msgstr "" msgid "Consider the following example::" @@ -1783,7 +1955,8 @@ msgid "Variable-sized data types" msgstr "" msgid "" -":mod:`ctypes` provides some support for variable-sized arrays and structures." +":mod:`!ctypes` provides some support for variable-sized arrays and " +"structures." msgstr "" msgid "" @@ -1827,7 +2000,7 @@ msgid "" msgstr "" msgid "" -"Another way to use variable-sized data types with :mod:`ctypes` is to use " +"Another way to use variable-sized data types with :mod:`!ctypes` is to use " "the dynamic nature of Python, and (re-)define the data type after the " "required size is already known, on a case by case basis." msgstr "" @@ -1872,6 +2045,11 @@ msgid "" "file. It returns the filename of the library file." msgstr "" +msgid "" +"Note that if the output of these programs does not correspond to the dynamic " +"linker used by Python, the result of this function may be misleading." +msgstr "" + msgid "" "On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " "when searching for libraries, if a library cannot be found by any other " @@ -1919,7 +2097,7 @@ msgid "" msgstr "" msgid "" -"If wrapping a shared library with :mod:`ctypes`, it *may* be better to " +"If wrapping a shared library with :mod:`!ctypes`, it *may* be better to " "determine the shared library name at development time, and hardcode that " "into the wrapper module instead of using :func:`~ctypes.util.find_library` " "to locate the library at runtime." @@ -1960,79 +2138,66 @@ msgstr "" msgid "" "There are several ways to load shared libraries into the Python process. " -"One way is to instantiate one of the following classes:" +"One way is to instantiate :py:class:`CDLL` or one of its subclasses:" msgstr "" -msgid "" -"Instances of this class represent loaded shared libraries. Functions in " -"these libraries use the standard C calling convention, and are assumed to " -"return :c:expr:`int`." +msgid "Represents a loaded shared library." msgstr "" msgid "" -"On Windows creating a :class:`CDLL` instance may fail even if the DLL name " -"exists. When a dependent DLL of the loaded DLL is not found, a :exc:" -"`OSError` error is raised with the message *\"[WinError 126] The specified " -"module could not be found\".* This error message does not contain the name " -"of the missing DLL because the Windows API does not return this information " -"making this error hard to diagnose. To resolve this error and determine " -"which DLL is not found, you need to find the list of dependent DLLs and " -"determine which one is not found using Windows debugging and tracing tools." -msgstr "" - -msgid "The *name* parameter can now be a :term:`path-like object`." +"Functions in this library use the standard C calling convention, and are " +"assumed to return :c:expr:`int`. The Python :term:`global interpreter lock` " +"is released before calling any function exported by these libraries, and " +"reacquired afterwards. For different function behavior, use a subclass: :py:" +"class:`~ctypes.OleDLL`, :py:class:`~ctypes.WinDLL`, or :py:class:`~ctypes." +"PyDLL`." msgstr "" msgid "" -"`Microsoft DUMPBIN tool `_ -- A tool to find DLL dependents." +"If you have an existing :py:attr:`handle ` to an " +"already loaded shared library, it can be passed as the *handle* argument to " +"wrap the opened library in a new :py:class:`!CDLL` object. In this case, " +"*name* is only used to set the :py:attr:`~ctypes.CDLL._name` attribute, but " +"it may be adjusted and/or validated." msgstr "" msgid "" -"Instances of this class represent loaded shared libraries, functions in " -"these libraries use the ``stdcall`` calling convention, and are assumed to " -"return the windows specific :class:`HRESULT` code. :class:`HRESULT` values " -"contain information specifying whether the function call failed or " -"succeeded, together with additional error code. If the return value signals " -"a failure, an :class:`OSError` is automatically raised." +"If *handle* is ``None``, the underlying platform's :manpage:`dlopen(3)` or :" +"c:func:`!LoadLibrary` function is used to load the library into the process, " +"and to get a handle to it." msgstr "" -msgid "Availability" -msgstr "Dostępność" - msgid "" -":exc:`WindowsError` used to be raised, which is now an alias of :exc:" -"`OSError`." +"*name* is the pathname of the shared library to open. If *name* does not " +"contain a path separator, the library is found in a platform-specific way." msgstr "" msgid "" -"Instances of this class represent loaded shared libraries, functions in " -"these libraries use the ``stdcall`` calling convention, and are assumed to " -"return :c:expr:`int` by default." +"On non-Windows systems, *name* can be ``None``. In this case, :c:func:`!" +"dlopen` is called with ``NULL``, which opens the main program as a " +"\"library\". (Some systems do the same is *name* is empty; ``None``/``NULL`` " +"is more portable.)" msgstr "" -msgid "" -"The Python :term:`global interpreter lock` is released before calling any " -"function exported by these libraries, and reacquired afterwards." +msgid "CPython implementation detail" msgstr "" msgid "" -"Instances of this class behave like :class:`CDLL` instances, except that the " -"Python GIL is *not* released during the function call, and after the " -"function execution the Python error flag is checked. If the error flag is " -"set, a Python exception is raised." +"Since CPython is linked to ``libc``, a ``None`` *name* is often used to " +"access the C standard library::" msgstr "" -msgid "Thus, this is only useful to call Python C api functions directly." +msgid "" +">>> printf = ctypes.CDLL(None).printf\n" +">>> printf.argtypes = [ctypes.c_char_p]\n" +">>> printf(b\"hello\\n\")\n" +"hello\n" +"6" msgstr "" msgid "" -"All these classes can be instantiated by calling them with at least one " -"argument, the pathname of the shared library. If you have an existing " -"handle to an already loaded shared library, it can be passed as the " -"``handle`` named parameter, otherwise the underlying platform's :c:func:`!" -"dlopen` or :c:func:`!LoadLibrary` function is used to load the library into " -"the process, and to get a handle to it." +"To access the Python C API, prefer :py:data:`ctypes.pythonapi` which works " +"across platforms." msgstr "" msgid "" @@ -2044,8 +2209,8 @@ msgstr "" msgid "" "The *use_errno* parameter, when set to true, enables a ctypes mechanism that " -"allows accessing the system :data:`errno` error number in a safe way. :mod:" -"`ctypes` maintains a thread-local copy of the system's :data:`errno` " +"allows accessing the system :data:`errno` error number in a safe way. :mod:`!" +"ctypes` maintains a thread-local copy of the system's :data:`errno` " "variable; if you call foreign functions created with ``use_errno=True`` then " "the :data:`errno` value before the function call is swapped with the ctypes " "private copy, the same happens immediately after the function call." @@ -2074,30 +2239,35 @@ msgid "" "ensure the correct library and dependencies are loaded." msgstr "" -msgid "Added *winmode* parameter." +msgid "" +"On Windows creating a :class:`CDLL` instance may fail even if the DLL name " +"exists. When a dependent DLL of the loaded DLL is not found, a :exc:" +"`OSError` error is raised with the message *\"[WinError 126] The specified " +"module could not be found\".* This error message does not contain the name " +"of the missing DLL because the Windows API does not return this information " +"making this error hard to diagnose. To resolve this error and determine " +"which DLL is not found, you need to find the list of dependent DLLs and " +"determine which one is not found using Windows debugging and tracing tools." msgstr "" msgid "" -"Flag to use as *mode* parameter. On platforms where this flag is not " -"available, it is defined as the integer zero." +"`Microsoft DUMPBIN tool `_ -- A tool to find DLL " +"dependents." msgstr "" -msgid "" -"Flag to use as *mode* parameter. On platforms where this is not available, " -"it is the same as *RTLD_GLOBAL*." +msgid "Added *winmode* parameter." msgstr "" -msgid "" -"The default mode which is used to load shared libraries. On OSX 10.3, this " -"is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." +msgid "The *name* parameter can now be a :term:`path-like object`." msgstr "" msgid "" -"Instances of these classes have no public methods. Functions exported by " -"the shared library can be accessed as attributes or by index. Please note " -"that accessing the function through an attribute caches the result and " -"therefore accessing it repeatedly returns the same object each time. On the " -"other hand, accessing it through an index returns a new object each time::" +"Instances of this class have no public methods. Functions exported by the " +"shared library can be accessed as attributes or by index. Please note that " +"accessing the function through an attribute caches the result and therefore " +"accessing it repeatedly returns the same object each time. On the other " +"hand, accessing it through an index returns a new object each time::" msgstr "" msgid "" @@ -2110,7 +2280,7 @@ msgid "" msgstr "" msgid "" -"The following public attributes are available, their name starts with an " +"The following public attributes are available. Their name starts with an " "underscore to not clash with exported function names:" msgstr "" @@ -2120,6 +2290,54 @@ msgstr "" msgid "The name of the library passed in the constructor." msgstr "" +msgid "See :py:class:`~ctypes.CDLL`, the superclass, for common information." +msgstr "" + +msgid "" +"Functions in this library use the ``stdcall`` calling convention, and are " +"assumed to return the windows specific :class:`HRESULT` code. :class:" +"`HRESULT` values contain information specifying whether the function call " +"failed or succeeded, together with additional error code. If the return " +"value signals a failure, an :class:`OSError` is automatically raised." +msgstr "" + +msgid "Availability" +msgstr "Dostępność" + +msgid "" +":exc:`WindowsError` used to be raised, which is now an alias of :exc:" +"`OSError`." +msgstr "" + +msgid "" +"Functions in these libraries use the ``stdcall`` calling convention, and are " +"assumed to return :c:expr:`int` by default." +msgstr "" + +msgid "" +"When functions in this library are called, the Python GIL is *not* released " +"during the function call, and after the function execution the Python error " +"flag is checked. If the error flag is set, a Python exception is raised." +msgstr "" + +msgid "Thus, this is only useful to call Python C API functions directly." +msgstr "" + +msgid "" +"Flag to use as *mode* parameter. On platforms where this flag is not " +"available, it is defined as the integer zero." +msgstr "" + +msgid "" +"Flag to use as *mode* parameter. On platforms where this is not available, " +"it is the same as *RTLD_GLOBAL*." +msgstr "" + +msgid "" +"The default mode which is used to load shared libraries. On OSX 10.3, this " +"is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." +msgstr "" + msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -2438,7 +2656,7 @@ msgid "" " UINT uType);" msgstr "" -msgid "Here is the wrapping with :mod:`ctypes`::" +msgid "Here is the wrapping with :mod:`!ctypes`::" msgstr "" msgid "" @@ -2513,10 +2731,11 @@ msgstr "" msgid "" "If the :attr:`~_CFuncPtr.errcheck` function returns the argument tuple it " -"receives unchanged, :mod:`ctypes` continues the normal processing it does on " -"the output parameters. If you want to return a tuple of window coordinates " -"instead of a ``RECT`` instance, you can retrieve the fields in the function " -"and return them instead, the normal processing will no longer take place::" +"receives unchanged, :mod:`!ctypes` continues the normal processing it does " +"on the output parameters. If you want to return a tuple of window " +"coordinates instead of a ``RECT`` instance, you can retrieve the fields in " +"the function and return them instead, the normal processing will no longer " +"take place::" msgstr "" msgid "" @@ -2595,16 +2814,46 @@ msgid "" msgstr "" msgid "" -"*init_or_size* must be an integer which specifies the size of the array, or " -"a bytes object which will be used to initialize the array items." +"If *size* is given (and not ``None``), it must be an :class:`int`. It " +"specifies the size of the returned array." +msgstr "" + +msgid "" +"If the *init* argument is given, it must be :class:`bytes`. It is used to " +"initialize the array items. Bytes not initialized this way are set to zero " +"(NUL)." +msgstr "" + +msgid "" +"If *size* is not given (or if it is ``None``), the buffer is made one " +"element larger than *init*, effectively adding a NUL terminator." +msgstr "" + +msgid "" +"If both arguments are given, *size* must not be less than ``len(init)``." +msgstr "" + +msgid "" +"If *size* is equal to ``len(init)``, a NUL terminator is not added. Do not " +"treat such a buffer as a C string." msgstr "" +msgid "For example::" +msgstr "Dla przykładu::" + msgid "" -"If a bytes object is specified as first argument, the buffer is made one " -"item larger than its length so that the last element in the array is a NUL " -"termination character. An integer can be passed as second argument which " -"allows specifying the size of the array if the length of the bytes should " -"not be used." +">>> bytes(create_string_buffer(2))\n" +"b'\\x00\\x00'\n" +">>> bytes(create_string_buffer(b'ab'))\n" +"b'ab\\x00'\n" +">>> bytes(create_string_buffer(b'ab', 2))\n" +"b'ab'\n" +">>> bytes(create_string_buffer(b'ab', 4))\n" +"b'ab\\x00\\x00'\n" +">>> bytes(create_string_buffer(b'abcdef', 2))\n" +"Traceback (most recent call last):\n" +" ...\n" +"ValueError: byte string too long" msgstr "" msgid "" @@ -2618,16 +2867,8 @@ msgid "" msgstr "" msgid "" -"*init_or_size* must be an integer which specifies the size of the array, or " -"a string which will be used to initialize the array items." -msgstr "" - -msgid "" -"If a string is specified as first argument, the buffer is made one item " -"larger than the length of the string so that the last element in the array " -"is a NUL termination character. An integer can be passed as second argument " -"which allows specifying the size of the array if the length of the string " -"should not be used." +"The function takes the same arguments as :func:`~create_string_buffer` " +"except *init* must be a string and *size* counts :class:`c_wchar`." msgstr "" msgid "" @@ -2654,6 +2895,9 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" +msgid "See :ref:`ctypes-finding-shared-libraries` for complete documentation." +msgstr "" + msgid "" "Returns the filename of the VC runtime library used by Python, and by the " "extension modules. If the name of the library cannot be determined, " @@ -2954,11 +3198,36 @@ msgstr "" msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " -"new object is returned each time. :mod:`ctypes` does *not* implement " +"new object is returned each time. :mod:`!ctypes` does *not* implement " "original object return, always a new object is constructed. The same is " "true for all other ctypes object instances." msgstr "" +msgid "Each subclass has a class attribute:" +msgstr "" + +msgid "" +"Class attribute that contains an internal type code, as a single-character " +"string. See :ref:`ctypes-fundamental-data-types` for a summary." +msgstr "" + +msgid "" +"Types marked \\* in the summary may be (or always are) aliases of a " +"different :class:`_SimpleCData` subclass, and will not necessarily use the " +"listed type code. For example, if the platform's :c:expr:`long`, :c:expr:" +"`long long` and :c:expr:`time_t` C types are the same, then :class:" +"`c_long`, :class:`c_longlong` and :class:`c_time_t` all refer to a single " +"class, :class:`c_long`, whose :attr:`_type_` code is ``'l'``. The ``'L'`` " +"code will be unused." +msgstr "" + +msgid "" +"The :mod:`array` and :ref:`struct ` modules, as well as " +"third-party modules like `numpy `__, use similar -- but " +"slightly different -- type codes." +msgstr "" + msgid "" "Fundamental data types, when returned as foreign function call results, or, " "for example, by retrieving structure field members or array items, are " @@ -3035,7 +3304,7 @@ msgid "" msgstr "" msgid "" -"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :" +"Represents the C 8-bit :c:expr:`signed int` datatype. It is an alias for :" "class:`c_byte`." msgstr "" @@ -3061,7 +3330,9 @@ msgstr "" msgid "" "Represents the C :c:expr:`signed long long` datatype. The constructor " -"accepts an optional integer initializer; no overflow checking is done." +"accepts an optional integer initializer; no overflow checking is done. On " +"platforms where ``sizeof(long long) == sizeof(long)`` it is an alias to :" +"class:`c_long`." msgstr "" msgid "" @@ -3069,13 +3340,20 @@ msgid "" "an optional integer initializer; no overflow checking is done." msgstr "" -msgid "Represents the C :c:type:`size_t` datatype." +msgid "" +"Represents the C :c:type:`size_t` datatype. Usually an alias for another " +"unsigned integer type." msgstr "" -msgid "Represents the C :c:type:`ssize_t` datatype." +msgid "" +"Represents the :c:type:`Py_ssize_t` datatype. This is a signed version of :c:" +"type:`size_t`; that is, the POSIX :c:type:`ssize_t` type. Usually an alias " +"for another integer type." msgstr "" -msgid "Represents the C :c:type:`time_t` datatype." +msgid "" +"Represents the C :c:type:`time_t` datatype. Usually an alias for another " +"integer type." msgstr "" msgid "" @@ -3091,8 +3369,8 @@ msgid "" msgstr "" msgid "" -"Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " -"for :class:`c_ubyte`." +"Represents the C 8-bit :c:expr:`unsigned int` datatype. It is an alias for :" +"class:`c_ubyte`." msgstr "" msgid "" @@ -3117,7 +3395,9 @@ msgstr "" msgid "" "Represents the C :c:expr:`unsigned long long` datatype. The constructor " -"accepts an optional integer initializer; no overflow checking is done." +"accepts an optional integer initializer; no overflow checking is done. On " +"platforms where ``sizeof(long long) == sizeof(long)`` it is an alias to :" +"class:`c_long`." msgstr "" msgid "" @@ -3163,9 +3443,9 @@ msgstr "" msgid "" "The :mod:`!ctypes.wintypes` module provides quite some other Windows " -"specific data types, for example :c:type:`!HWND`, :c:type:`!WPARAM`, or :c:" -"type:`!DWORD`. Some useful structures like :c:type:`!MSG` or :c:type:`!RECT` " -"are also defined." +"specific data types, for example :c:type:`!HWND`, :c:type:`!WPARAM`, :c:type:" +"`!VARIANT_BOOL` or :c:type:`!DWORD`. Some useful structures like :c:type:`!" +"MSG` or :c:type:`!RECT` are also defined." msgstr "" msgid "Structured data types" @@ -3201,8 +3481,8 @@ msgstr "" msgid "" "Concrete structure and union types must be created by subclassing one of " -"these types, and at least define a :attr:`_fields_` class variable. :mod:" -"`ctypes` will create :term:`descriptor`\\s which allow reading and writing " +"these types, and at least define a :attr:`_fields_` class variable. :mod:`!" +"ctypes` will create :term:`descriptor`\\s which allow reading and writing " "the fields by direct attribute accesses. These are the" msgstr "" @@ -3258,12 +3538,24 @@ msgstr "" msgid "" "An optional small integer that allows overriding the alignment of structure " -"fields in the instance. :attr:`_pack_` must already be defined when :attr:" -"`_fields_` is assigned, otherwise it will have no effect. Setting this " -"attribute to 0 is the same as not setting it at all." +"fields in the instance." msgstr "" -msgid "This is only implemented for the MSVC-compatible memory layout." +msgid "" +"This is only implemented for the MSVC-compatible memory layout (see :attr:" +"`_layout_`)." +msgstr "" + +msgid "" +"Setting :attr:`!_pack_` to 0 is the same as not setting it at all. " +"Otherwise, the value must be a positive power of two. The effect is " +"equivalent to ``#pragma pack(N)`` in C, except :mod:`!ctypes` may allow " +"larger *n* than what the compiler accepts." +msgstr "" + +msgid "" +":attr:`!_pack_` must already be defined when :attr:`_fields_` is assigned, " +"otherwise it will have no effect." msgstr "" msgid "" @@ -3274,9 +3566,29 @@ msgid "" msgstr "" msgid "" -"An optional small integer that allows overriding the alignment of the " -"structure when being packed or unpacked to/from memory. Setting this " -"attribute to 0 is the same as not setting it at all." +"An optional small integer that allows increasing the alignment of the " +"structure when being packed or unpacked to/from memory." +msgstr "" + +msgid "" +"The value must not be negative. The effect is equivalent to " +"``__attribute__((aligned(N)))`` on GCC or ``#pragma align(N)`` on MSVC, " +"except :mod:`!ctypes` may allow values that the compiler would reject." +msgstr "" + +msgid "" +":attr:`!_align_` can only *increase* a structure's alignment requirements. " +"Setting it to 0 or 1 has no effect." +msgstr "" + +msgid "" +"Using values that are not powers of two is discouraged and may lead to " +"surprising behavior." +msgstr "" + +msgid "" +":attr:`!_align_` must already be defined when :attr:`_fields_` is assigned, " +"otherwise it will have no effect." msgstr "" msgid "" @@ -3326,7 +3638,7 @@ msgstr "" msgid "" "The fields listed in this variable must be structure or union type fields. :" -"mod:`ctypes` will create descriptors in the structure type that allows " +"mod:`!ctypes` will create descriptors in the structure type that allows " "accessing the nested fields directly, without the need to create the " "structure or union field." msgstr "" @@ -3471,7 +3783,7 @@ msgstr "" msgid "" "True if this field is anonymous, that is, it contains nested sub-fields that " -"should be be merged into a containing structure or union." +"should be merged into a containing structure or union." msgstr "" msgid "Arrays and pointers" @@ -3482,7 +3794,7 @@ msgstr "" msgid "" "The recommended way to create concrete array types is by multiplying any :" -"mod:`ctypes` data type with a non-negative integer. Alternatively, you can " +"mod:`!ctypes` data type with a non-negative integer. Alternatively, you can " "subclass this type and define :attr:`_length_` and :attr:`_type_` class " "variables. Array elements can be read and written using standard subscript " "and slice accesses; for slice reads, the resulting object is *not* itself " @@ -3504,8 +3816,8 @@ msgid "" msgstr "" msgid "" -"Create an array. Equivalent to ``type * length``, where *type* is a :mod:" -"`ctypes` data type and *length* an integer." +"Create an array. Equivalent to ``type * length``, where *type* is a :mod:`!" +"ctypes` data type and *length* an integer." msgstr "" msgid "" diff --git a/library/curses.ascii.po b/library/curses.ascii.po index e523a7bcb4..2132ed2699 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!curses.ascii` --- Utilities for ASCII characters" msgstr "" msgid "**Source code:** :source:`Lib/curses/ascii.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/curses/ascii.py`" msgid "" -"The :mod:`curses.ascii` module supplies name constants for ASCII characters " +"The :mod:`!curses.ascii` module supplies name constants for ASCII characters " "and functions to test membership in various ASCII character classes. The " "constants supplied are names for control characters as follows:" msgstr "" diff --git a/library/curses.panel.po b/library/curses.panel.po index bdbfcf7181..1aaf9614c8 100644 --- a/library/curses.panel.po +++ b/library/curses.panel.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,7 +35,7 @@ msgstr "" msgid "Functions" msgstr "Zadania" -msgid "The module :mod:`curses.panel` defines the following functions:" +msgid "The module :mod:`!curses.panel` defines the following functions:" msgstr "" msgid "Returns the bottom panel in the panel stack." diff --git a/library/curses.po b/library/curses.po index 775ac067d0..815e137145 100644 --- a/library/curses.po +++ b/library/curses.po @@ -4,18 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Biliński , 2021 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,11 +28,11 @@ msgid ":mod:`!curses` --- Terminal handling for character-cell displays" msgstr "" msgid "**Source code:** :source:`Lib/curses`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/curses`" msgid "" -"The :mod:`curses` module provides an interface to the curses library, the de-" -"facto standard for portable advanced terminal handling." +"The :mod:`!curses` module provides an interface to the curses library, the " +"de-facto standard for portable advanced terminal handling." msgstr "" msgid "" @@ -51,6 +50,17 @@ msgid "" "availability>` or :ref:`WebAssembly platforms `." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "" "Whenever the documentation mentions a *character* it can be specified as an " "integer, a one-character Unicode string or a one-byte byte string." @@ -94,7 +104,7 @@ msgstr "" msgid "Functions" msgstr "Zadania" -msgid "The module :mod:`curses` defines the following exception:" +msgid "The module :mod:`!curses` defines the following exception:" msgstr "" msgid "Exception raised when a curses library function returns an error." @@ -106,7 +116,7 @@ msgid "" "defaults to :const:`A_NORMAL`." msgstr "" -msgid "The module :mod:`curses` defines the following functions:" +msgid "The module :mod:`!curses` defines the following functions:" msgstr "" msgid "" @@ -567,7 +577,7 @@ msgstr "" msgid "" ":func:`start_color` initializes eight basic colors (black, red, green, " "yellow, blue, magenta, cyan, and white), and two global variables in the :" -"mod:`curses` module, :const:`COLORS` and :const:`COLOR_PAIRS`, containing " +"mod:`!curses` module, :const:`COLORS` and :const:`COLOR_PAIRS`, containing " "the maximum number of colors and color-pairs the terminal can support. It " "also restores the colors on the terminal to the values they had when the " "terminal was just turned on." @@ -731,8 +741,8 @@ msgid "" msgstr "" msgid "" -"Add attribute *attr* from the \"background\" set applied to all writes to " -"the current window." +"Add attribute *attr* to the \"background\" set applied to all writes to the " +"current window." msgstr "" msgid "" @@ -967,7 +977,11 @@ msgid "" msgstr "" msgid "" -"Read a bytes object from the user, with primitive line editing capacity." +"Read a bytes object from the user, with primitive line editing capacity. The " +"maximum value for *n* is 2047." +msgstr "" + +msgid "The maximum value for *n* was increased from 1023 to 2047." msgstr "" msgid "" @@ -988,7 +1002,7 @@ msgid "" msgstr "" msgid "" -"If *flag* is ``True``, :mod:`curses` will try and use hardware line editing " +"If *flag* is ``True``, :mod:`!curses` will try and use hardware line editing " "facilities. Otherwise, line insertion/deletion are disabled." msgstr "" @@ -1043,7 +1057,8 @@ msgid "" "Return a bytes object of characters, extracted from the window starting at " "the current cursor position, or at *y*, *x* if specified. Attributes are " "stripped from the characters. If *n* is specified, :meth:`instr` returns a " -"string at most *n* characters long (exclusive of the trailing NUL)." +"string at most *n* characters long (exclusive of the trailing NUL). The " +"maximum value for *n* is 2047." msgstr "" msgid "" @@ -1059,8 +1074,8 @@ msgstr "" msgid "" "If *flag* is ``True``, escape sequences generated by some keys (keypad, " -"function keys) will be interpreted by :mod:`curses`. If *flag* is ``False``, " -"escape sequences will be left as is in the input stream." +"function keys) will be interpreted by :mod:`!curses`. If *flag* is " +"``False``, escape sequences will be left as is in the input stream." msgstr "" msgid "" @@ -1257,7 +1272,7 @@ msgstr "" msgid "Constants" msgstr "Stały" -msgid "The :mod:`curses` module defines the following data members:" +msgid "The :mod:`!curses` module defines the following data members:" msgstr "" msgid "" @@ -1933,11 +1948,11 @@ msgstr "" msgid "Yellow" msgstr "" -msgid ":mod:`curses.textpad` --- Text input widget for curses programs" +msgid ":mod:`!curses.textpad` --- Text input widget for curses programs" msgstr "" msgid "" -"The :mod:`curses.textpad` module provides a :class:`Textbox` class that " +"The :mod:`!curses.textpad` module provides a :class:`Textbox` class that " "handles elementary text editing in a curses window, supporting a set of " "keybindings resembling those of Emacs (thus, also of Netscape Navigator, " "BBedit 6.x, FrameMaker, and many other programs). The module also provides " @@ -1945,7 +1960,7 @@ msgid "" "purposes." msgstr "" -msgid "The module :mod:`curses.textpad` defines the following function:" +msgid "The module :mod:`!curses.textpad` defines the following function:" msgstr "" msgid "" diff --git a/library/dataclasses.po b/library/dataclasses.po index f111b8c8bc..34c6a80b73 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-06-13 14:21+0000\n" +"PO-Revision-Date: 2025-07-18 18:48+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,55 +23,80 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`dataclasses` --- Data Classes" +msgid ":mod:`!dataclasses` --- Data Classes" msgstr "" msgid "**Source code:** :source:`Lib/dataclasses.py`" -msgstr "" +msgstr "**Вихідний код:** :source:`Lib/dataclasses.py`" msgid "" "This module provides a decorator and functions for automatically adding " -"generated :term:`special method`\\s such as :meth:`~object.__init__` and :" -"meth:`~object.__repr__` to user-defined classes. It was originally " -"described in :pep:`557`." +"generated :term:`special methods ` such as :meth:`~object." +"__init__` and :meth:`~object.__repr__` to user-defined classes. It was " +"originally described in :pep:`557`." msgstr "" msgid "" "The member variables to use in these generated methods are defined using :" "pep:`526` type annotations. For example, this code::" msgstr "" +"Змінні-члени для використання в цих згенерованих методах визначаються за " +"допомогою анотацій типу :pep:`526`. Наприклад, цей код::" msgid "" -"will add, among other things, a :meth:`~object.__init__` that looks like::" +"from dataclasses import dataclass\n" +"\n" +"@dataclass\n" +"class InventoryItem:\n" +" \"\"\"Class for keeping track of an item in inventory.\"\"\"\n" +" name: str\n" +" unit_price: float\n" +" quantity_on_hand: int = 0\n" +"\n" +" def total_cost(self) -> float:\n" +" return self.unit_price * self.quantity_on_hand" +msgstr "" + +msgid "will add, among other things, a :meth:`!__init__` that looks like::" +msgstr "" + +msgid "" +"def __init__(self, name: str, unit_price: float, quantity_on_hand: int = " +"0):\n" +" self.name = name\n" +" self.unit_price = unit_price\n" +" self.quantity_on_hand = quantity_on_hand" msgstr "" msgid "" "Note that this method is automatically added to the class: it is not " -"directly specified in the ``InventoryItem`` definition shown above." +"directly specified in the :class:`!InventoryItem` definition shown above." msgstr "" msgid "Module contents" -msgstr "" +msgstr "Зміст модуля" msgid "" "This function is a :term:`decorator` that is used to add generated :term:" -"`special method`\\s to classes, as described below." +"`special methods ` to classes, as described below." msgstr "" msgid "" -"The :func:`dataclass` decorator examines the class to find ``field``\\s. A " +"The ``@dataclass`` decorator examines the class to find ``field``\\s. A " "``field`` is defined as a class variable that has a :term:`type annotation " -"`. With two exceptions described below, nothing in :" -"func:`dataclass` examines the type specified in the variable annotation." +"`. With two exceptions described below, nothing in " +"``@dataclass`` examines the type specified in the variable annotation." msgstr "" msgid "" "The order of the fields in all of the generated methods is the order in " "which they appear in the class definition." msgstr "" +"Порядок полів у всіх згенерованих методах – це порядок, у якому вони " +"з’являються у визначенні класу." msgid "" -"The :func:`dataclass` decorator will add various \"dunder\" methods to the " +"The ``@dataclass`` decorator will add various \"dunder\" methods to the " "class, described below. If any of the added methods already exist in the " "class, the behavior depends on the parameter, as documented below. The " "decorator returns the same class that it is called on; no new class is " @@ -79,26 +104,41 @@ msgid "" msgstr "" msgid "" -"If :func:`dataclass` is used just as a simple decorator with no parameters, " -"it acts as if it has the default values documented in this signature. That " -"is, these three uses of :func:`dataclass` are equivalent::" +"If ``@dataclass`` is used just as a simple decorator with no parameters, it " +"acts as if it has the default values documented in this signature. That is, " +"these three uses of ``@dataclass`` are equivalent::" msgstr "" -msgid "The parameters to :func:`dataclass` are:" +msgid "" +"@dataclass\n" +"class C:\n" +" ...\n" +"\n" +"@dataclass()\n" +"class C:\n" +" ...\n" +"\n" +"@dataclass(init=True, repr=True, eq=True, order=False, unsafe_hash=False, " +"frozen=False,\n" +" match_args=True, kw_only=False, slots=False, weakref_slot=False)\n" +"class C:\n" +" ..." +msgstr "" + +msgid "The parameters to ``@dataclass`` are:" msgstr "" msgid "" -"``init``: If true (the default), a :meth:`~object.__init__` method will be " +"*init*: If true (the default), a :meth:`~object.__init__` method will be " "generated." msgstr "" msgid "" -"If the class already defines :meth:`~object.__init__`, this parameter is " -"ignored." +"If the class already defines :meth:`!__init__`, this parameter is ignored." msgstr "" msgid "" -"``repr``: If true (the default), a :meth:`~object.__repr__` method will be " +"*repr*: If true (the default), a :meth:`~object.__repr__` method will be " "generated. The generated repr string will have the class name and the name " "and repr of each field, in the order they are defined in the class. Fields " "that are marked as being excluded from the repr are not included. For " @@ -107,143 +147,161 @@ msgid "" msgstr "" msgid "" -"If the class already defines :meth:`~object.__repr__`, this parameter is " -"ignored." +"If the class already defines :meth:`!__repr__`, this parameter is ignored." msgstr "" msgid "" -"``eq``: If true (the default), an :meth:`~object.__eq__` method will be " +"*eq*: If true (the default), an :meth:`~object.__eq__` method will be " "generated. This method compares the class as if it were a tuple of its " "fields, in order. Both instances in the comparison must be of the identical " "type." msgstr "" msgid "" -"If the class already defines :meth:`~object.__eq__`, this parameter is " -"ignored." +"If the class already defines :meth:`!__eq__`, this parameter is ignored." msgstr "" msgid "" -"``order``: If true (the default is ``False``), :meth:`~object.__lt__`, :meth:" +"*order*: If true (the default is ``False``), :meth:`~object.__lt__`, :meth:" "`~object.__le__`, :meth:`~object.__gt__`, and :meth:`~object.__ge__` methods " "will be generated. These compare the class as if it were a tuple of its " "fields, in order. Both instances in the comparison must be of the identical " -"type. If ``order`` is true and ``eq`` is false, a :exc:`ValueError` is " -"raised." +"type. If *order* is true and *eq* is false, a :exc:`ValueError` is raised." msgstr "" msgid "" -"If the class already defines any of :meth:`~object.__lt__`, :meth:`~object." -"__le__`, :meth:`~object.__gt__`, or :meth:`~object.__ge__`, then :exc:" -"`TypeError` is raised." +"If the class already defines any of :meth:`!__lt__`, :meth:`!__le__`, :meth:" +"`!__gt__`, or :meth:`!__ge__`, then :exc:`TypeError` is raised." msgstr "" msgid "" -"``unsafe_hash``: If ``False`` (the default), a :meth:`~object.__hash__` " -"method is generated according to how ``eq`` and ``frozen`` are set." +"*unsafe_hash*: If true, force ``dataclasses`` to create a :meth:`~object." +"__hash__` method, even though it may not be safe to do so. Otherwise, " +"generate a :meth:`~object.__hash__` method according to how *eq* and " +"*frozen* are set. The default value is ``False``." msgstr "" msgid "" -":meth:`~object.__hash__` is used by built-in :meth:`hash()`, and when " -"objects are added to hashed collections such as dictionaries and sets. " -"Having a :meth:`~object.__hash__` implies that instances of the class are " -"immutable. Mutability is a complicated property that depends on the " -"programmer's intent, the existence and behavior of :meth:`~object.__eq__`, " -"and the values of the ``eq`` and ``frozen`` flags in the :func:`dataclass` " -"decorator." +":meth:`!__hash__` is used by built-in :meth:`hash`, and when objects are " +"added to hashed collections such as dictionaries and sets. Having a :meth:`!" +"__hash__` implies that instances of the class are immutable. Mutability is a " +"complicated property that depends on the programmer's intent, the existence " +"and behavior of :meth:`!__eq__`, and the values of the *eq* and *frozen* " +"flags in the ``@dataclass`` decorator." msgstr "" msgid "" -"By default, :func:`dataclass` will not implicitly add a :meth:`~object." +"By default, ``@dataclass`` will not implicitly add a :meth:`~object." "__hash__` method unless it is safe to do so. Neither will it add or change " -"an existing explicitly defined :meth:`~object.__hash__` method. Setting the " -"class attribute ``__hash__ = None`` has a specific meaning to Python, as " -"described in the :meth:`~object.__hash__` documentation." +"an existing explicitly defined :meth:`!__hash__` method. Setting the class " +"attribute ``__hash__ = None`` has a specific meaning to Python, as described " +"in the :meth:`!__hash__` documentation." msgstr "" msgid "" -"If :meth:`~object.__hash__` is not explicitly defined, or if it is set to " -"``None``, then :func:`dataclass` *may* add an implicit :meth:`~object." -"__hash__` method. Although not recommended, you can force :func:`dataclass` " -"to create a :meth:`~object.__hash__` method with ``unsafe_hash=True``. This " -"might be the case if your class is logically immutable but can nonetheless " -"be mutated. This is a specialized use case and should be considered " -"carefully." +"If :meth:`!__hash__` is not explicitly defined, or if it is set to ``None``, " +"then ``@dataclass`` *may* add an implicit :meth:`!__hash__` method. Although " +"not recommended, you can force ``@dataclass`` to create a :meth:`!__hash__` " +"method with ``unsafe_hash=True``. This might be the case if your class is " +"logically immutable but can still be mutated. This is a specialized use case " +"and should be considered carefully." msgstr "" msgid "" -"Here are the rules governing implicit creation of a :meth:`~object.__hash__` " -"method. Note that you cannot both have an explicit :meth:`~object.__hash__` " -"method in your dataclass and set ``unsafe_hash=True``; this will result in " -"a :exc:`TypeError`." +"Here are the rules governing implicit creation of a :meth:`!__hash__` " +"method. Note that you cannot both have an explicit :meth:`!__hash__` method " +"in your dataclass and set ``unsafe_hash=True``; this will result in a :exc:" +"`TypeError`." msgstr "" msgid "" -"If ``eq`` and ``frozen`` are both true, by default :func:`dataclass` will " -"generate a :meth:`~object.__hash__` method for you. If ``eq`` is true and " -"``frozen`` is false, :meth:`~object.__hash__` will be set to ``None``, " -"marking it unhashable (which it is, since it is mutable). If ``eq`` is " -"false, :meth:`~object.__hash__` will be left untouched meaning the :meth:" -"`~object.__hash__` method of the superclass will be used (if the superclass " -"is :class:`object`, this means it will fall back to id-based hashing)." +"If *eq* and *frozen* are both true, by default ``@dataclass`` will generate " +"a :meth:`!__hash__` method for you. If *eq* is true and *frozen* is false, :" +"meth:`!__hash__` will be set to ``None``, marking it unhashable (which it " +"is, since it is mutable). If *eq* is false, :meth:`!__hash__` will be left " +"untouched meaning the :meth:`!__hash__` method of the superclass will be " +"used (if the superclass is :class:`object`, this means it will fall back to " +"id-based hashing)." msgstr "" msgid "" -"``frozen``: If true (the default is ``False``), assigning to fields will " +"*frozen*: If true (the default is ``False``), assigning to fields will " "generate an exception. This emulates read-only frozen instances. If :meth:" "`~object.__setattr__` or :meth:`~object.__delattr__` is defined in the " "class, then :exc:`TypeError` is raised. See the discussion below." msgstr "" msgid "" -"``match_args``: If true (the default is ``True``), the ``__match_args__`` " -"tuple will be created from the list of parameters to the generated :meth:" -"`~object.__init__` method (even if :meth:`~object.__init__` is not " -"generated, see above). If false, or if ``__match_args__`` is already " -"defined in the class, then ``__match_args__`` will not be generated." +"*match_args*: If true (the default is ``True``), the :attr:`~object." +"__match_args__` tuple will be created from the list of non keyword-only " +"parameters to the generated :meth:`~object.__init__` method (even if :meth:`!" +"__init__` is not generated, see above). If false, or if :attr:`!" +"__match_args__` is already defined in the class, then :attr:`!" +"__match_args__` will not be generated." msgstr "" msgid "" -"``kw_only``: If true (the default value is ``False``), then all fields will " -"be marked as keyword-only. If a field is marked as keyword-only, then the " -"only effect is that the :meth:`~object.__init__` parameter generated from a " -"keyword-only field must be specified with a keyword when :meth:`~object." -"__init__` is called. There is no effect on any other aspect of " -"dataclasses. See the :term:`parameter` glossary entry for details. Also " -"see the :const:`KW_ONLY` section." +"*kw_only*: If true (the default value is ``False``), then all fields will be " +"marked as keyword-only. If a field is marked as keyword-only, then the only " +"effect is that the :meth:`~object.__init__` parameter generated from a " +"keyword-only field must be specified with a keyword when :meth:`!__init__` " +"is called. See the :term:`parameter` glossary entry for details. Also see " +"the :const:`KW_ONLY` section." +msgstr "" + +msgid "Keyword-only fields are not included in :attr:`!__match_args__`." msgstr "" msgid "" -"``slots``: If true (the default is ``False``), :attr:`~object.__slots__` " +"*slots*: If true (the default is ``False``), :attr:`~object.__slots__` " "attribute will be generated and new class will be returned instead of the " -"original one. If :attr:`~object.__slots__` is already defined in the class, " -"then :exc:`TypeError` is raised." +"original one. If :attr:`!__slots__` is already defined in the class, then :" +"exc:`TypeError` is raised." msgstr "" msgid "" -"If a field name is already included in the ``__slots__`` of a base class, it " -"will not be included in the generated ``__slots__`` to prevent :ref:" -"`overriding them `. Therefore, do not use " -"``__slots__`` to retrieve the field names of a dataclass. Use :func:`fields` " -"instead. To be able to determine inherited slots, base class ``__slots__`` " -"may be any iterable, but *not* an iterator." +"Passing parameters to a base class :meth:`~object.__init_subclass__` when " +"using ``slots=True`` will result in a :exc:`TypeError`. Either use " +"``__init_subclass__`` with no parameters or use default values as a " +"workaround. See :gh:`91126` for full details." msgstr "" msgid "" -"``weakref_slot``: If true (the default is ``False``), add a slot named " -"\"__weakref__\", which is required to make an instance weakref-able. It is " -"an error to specify ``weakref_slot=True`` without also specifying " -"``slots=True``." +"If a field name is already included in the :attr:`!__slots__` of a base " +"class, it will not be included in the generated :attr:`!__slots__` to " +"prevent :ref:`overriding them `. Therefore, do not " +"use :attr:`!__slots__` to retrieve the field names of a dataclass. Use :func:" +"`fields` instead. To be able to determine inherited slots, base class :attr:" +"`!__slots__` may be any iterable, but *not* an iterator." +msgstr "" + +msgid "" +"*weakref_slot*: If true (the default is ``False``), add a slot named " +"\"__weakref__\", which is required to make an instance :func:`weakref-able " +"`. It is an error to specify ``weakref_slot=True`` without also " +"specifying ``slots=True``." msgstr "" msgid "" "``field``\\s may optionally specify a default value, using normal Python " "syntax::" msgstr "" +"``field``\\s може додатково вказати значення за замовчуванням, " +"використовуючи звичайний синтаксис Python:" msgid "" -"In this example, both ``a`` and ``b`` will be included in the added :meth:" -"`~object.__init__` method, which will be defined as::" +"@dataclass\n" +"class C:\n" +" a: int # 'a' has no default value\n" +" b: int = 0 # assign a default value for 'b'" +msgstr "" + +msgid "" +"In this example, both :attr:`!a` and :attr:`!b` will be included in the " +"added :meth:`~object.__init__` method, which will be defined as::" +msgstr "" + +msgid "def __init__(self, a: int, b: int = 0):" msgstr "" msgid "" @@ -251,15 +309,27 @@ msgid "" "field with a default value. This is true whether this occurs in a single " "class, or as a result of class inheritance." msgstr "" +":exc:`TypeError` буде викликано, якщо поле без значення за замовчуванням " +"слідує за полем зі значенням за замовчуванням. Це вірно незалежно від того, " +"чи відбувається це в одному класі, чи в результаті успадкування класу." msgid "" "For common and simple use cases, no other functionality is required. There " "are, however, some dataclass features that require additional per-field " "information. To satisfy this need for additional information, you can " -"replace the default field value with a call to the provided :func:`field` " +"replace the default field value with a call to the provided :func:`!field` " "function. For example::" msgstr "" +msgid "" +"@dataclass\n" +"class C:\n" +" mylist: list[int] = field(default_factory=list)\n" +"\n" +"c = C()\n" +"c.mylist += [1, 2, 3]" +msgstr "" + msgid "" "As shown above, the :const:`MISSING` value is a sentinel object used to " "detect if some parameters are provided by the user. This sentinel is used " @@ -267,38 +337,39 @@ msgid "" "meaning. No code should directly use the :const:`MISSING` value." msgstr "" -msgid "The parameters to :func:`field` are:" +msgid "The parameters to :func:`!field` are:" msgstr "" msgid "" -"``default``: If provided, this will be the default value for this field. " -"This is needed because the :meth:`field` call itself replaces the normal " +"*default*: If provided, this will be the default value for this field. This " +"is needed because the :func:`!field` call itself replaces the normal " "position of the default value." msgstr "" msgid "" -"``default_factory``: If provided, it must be a zero-argument callable that " +"*default_factory*: If provided, it must be a zero-argument callable that " "will be called when a default value is needed for this field. Among other " "purposes, this can be used to specify fields with mutable default values, as " -"discussed below. It is an error to specify both ``default`` and " -"``default_factory``." +"discussed below. It is an error to specify both *default* and " +"*default_factory*." msgstr "" msgid "" -"``init``: If true (the default), this field is included as a parameter to " -"the generated :meth:`~object.__init__` method." +"*init*: If true (the default), this field is included as a parameter to the " +"generated :meth:`~object.__init__` method." msgstr "" msgid "" -"``repr``: If true (the default), this field is included in the string " -"returned by the generated :meth:`~object.__repr__` method." +"*repr*: If true (the default), this field is included in the string returned " +"by the generated :meth:`~object.__repr__` method." msgstr "" msgid "" -"``hash``: This can be a bool or ``None``. If true, this field is included " -"in the generated :meth:`~object.__hash__` method. If ``None`` (the " -"default), use the value of ``compare``: this would normally be the expected " -"behavior. A field should be considered in the hash if it's used for " +"*hash*: This can be a bool or ``None``. If true, this field is included in " +"the generated :meth:`~object.__hash__` method. If false, this field is " +"excluded from the generated :meth:`~object.__hash__`. If ``None`` (the " +"default), use the value of *compare*: this would normally be the expected " +"behavior, since a field should be included in the hash if it's used for " "comparisons. Setting this value to anything other than ``None`` is " "discouraged." msgstr "" @@ -310,66 +381,96 @@ msgid "" "hash value. Even if a field is excluded from the hash, it will still be " "used for comparisons." msgstr "" +"Однією з можливих причин встановити ``hash=False``, але ``compare=True`` " +"було б, якщо поле є дорогим для обчислення хеш-значення, це поле потрібне " +"для перевірки рівності, і є інші поля, які сприяють хеш-значення типу. " +"Навіть якщо поле виключено з хешу, воно все одно використовуватиметься для " +"порівнянь." msgid "" -"``compare``: If true (the default), this field is included in the generated " +"*compare*: If true (the default), this field is included in the generated " "equality and comparison methods (:meth:`~object.__eq__`, :meth:`~object." "__gt__`, et al.)." msgstr "" msgid "" -"``metadata``: This can be a mapping or None. None is treated as an empty " -"dict. This value is wrapped in :func:`~types.MappingProxyType` to make it " -"read-only, and exposed on the :class:`Field` object. It is not used at all " -"by Data Classes, and is provided as a third-party extension mechanism. " -"Multiple third-parties can each have their own key, to use as a namespace in " -"the metadata." +"*metadata*: This can be a mapping or ``None``. ``None`` is treated as an " +"empty dict. This value is wrapped in :func:`~types.MappingProxyType` to " +"make it read-only, and exposed on the :class:`Field` object. It is not used " +"at all by Data Classes, and is provided as a third-party extension " +"mechanism. Multiple third-parties can each have their own key, to use as a " +"namespace in the metadata." msgstr "" msgid "" -"``kw_only``: If true, this field will be marked as keyword-only. This is " -"used when the generated :meth:`~object.__init__` method's parameters are " -"computed." +"*kw_only*: If true, this field will be marked as keyword-only. This is used " +"when the generated :meth:`~object.__init__` method's parameters are computed." +msgstr "" + +msgid "Keyword-only fields are also not included in :attr:`!__match_args__`." +msgstr "" + +msgid "*doc*: optional docstring for this field." msgstr "" msgid "" -"If the default value of a field is specified by a call to :func:`field()`, " +"If the default value of a field is specified by a call to :func:`!field`, " "then the class attribute for this field will be replaced by the specified " -"``default`` value. If no ``default`` is provided, then the class attribute " -"will be deleted. The intent is that after the :func:`dataclass` decorator " -"runs, the class attributes will all contain the default values for the " -"fields, just as if the default value itself were specified. For example, " -"after::" +"*default* value. If *default* is not provided, then the class attribute " +"will be deleted. The intent is that after the :func:`@dataclass " +"` decorator runs, the class attributes will all contain the " +"default values for the fields, just as if the default value itself were " +"specified. For example, after::" +msgstr "" + +msgid "" +"@dataclass\n" +"class C:\n" +" x: int\n" +" y: int = field(repr=False)\n" +" z: int = field(repr=False, default=10)\n" +" t: int = 20" msgstr "" msgid "" -"The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will " -"be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set." +"The class attribute :attr:`!C.z` will be ``10``, the class attribute :attr:`!" +"C.t` will be ``20``, and the class attributes :attr:`!C.x` and :attr:`!C.y` " +"will not be set." msgstr "" msgid "" -":class:`Field` objects describe each defined field. These objects are " +":class:`!Field` objects describe each defined field. These objects are " "created internally, and are returned by the :func:`fields` module-level " -"method (see below). Users should never instantiate a :class:`Field` object " +"method (see below). Users should never instantiate a :class:`!Field` object " "directly. Its documented attributes are:" msgstr "" -msgid "``name``: The name of the field." +msgid ":attr:`!name`: The name of the field." msgstr "" -msgid "``type``: The type of the field." +msgid ":attr:`!type`: The type of the field." msgstr "" msgid "" -"``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, " -"``metadata``, and ``kw_only`` have the identical meaning and values as they " -"do in the :func:`field` function." +":attr:`!default`, :attr:`!default_factory`, :attr:`!init`, :attr:`!repr`, :" +"attr:`!hash`, :attr:`!compare`, :attr:`!metadata`, and :attr:`!kw_only` have " +"the identical meaning and values as they do in the :func:`field` function." msgstr "" msgid "" "Other attributes may exist, but they are private and must not be inspected " "or relied on." msgstr "" +"Інші атрибути можуть існувати, але вони є приватними, і їх не можна " +"перевіряти чи покладатися на них." + +msgid "" +"``InitVar[T]`` type annotations describe variables that are :ref:`init-only " +"`. Fields annotated with :class:`!InitVar` " +"are considered pseudo-fields, and thus are neither returned by the :func:" +"`fields` function nor used in any way except adding them as parameters to :" +"meth:`~object.__init__` and an optional :meth:`__post_init__`." +msgstr "" msgid "" "Returns a tuple of :class:`Field` objects that define the fields for this " @@ -377,98 +478,168 @@ msgid "" "Raises :exc:`TypeError` if not passed a dataclass or instance of one. Does " "not return pseudo-fields which are ``ClassVar`` or ``InitVar``." msgstr "" +"Повертає кортеж об’єктів :class:`Field`, які визначають поля для цього класу " +"даних. Приймає або клас даних, або екземпляр класу даних. Викликає :exc:" +"`TypeError`, якщо не передано клас даних або його екземпляр. Не повертає " +"псевдополя, які є ``ClassVar`` або ``InitVar``." msgid "" -"Converts the dataclass ``obj`` to a dict (by using the factory function " -"``dict_factory``). Each dataclass is converted to a dict of its fields, as " +"Converts the dataclass *obj* to a dict (by using the factory function " +"*dict_factory*). Each dataclass is converted to a dict of its fields, as " "``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed " "into. Other objects are copied with :func:`copy.deepcopy`." msgstr "" -msgid "Example of using :func:`asdict` on nested dataclasses::" +msgid "Example of using :func:`!asdict` on nested dataclasses::" +msgstr "" + +msgid "" +"@dataclass\n" +"class Point:\n" +" x: int\n" +" y: int\n" +"\n" +"@dataclass\n" +"class C:\n" +" mylist: list[Point]\n" +"\n" +"p = Point(10, 20)\n" +"assert asdict(p) == {'x': 10, 'y': 20}\n" +"\n" +"c = C([Point(0, 0), Point(10, 4)])\n" +"assert asdict(c) == {'mylist': [{'x': 0, 'y': 0}, {'x': 10, 'y': 4}]}" msgstr "" msgid "To create a shallow copy, the following workaround may be used::" +msgstr "Щоб створити дрібну копію, можна використати такий обхідний шлях:" + +msgid "{field.name: getattr(obj, field.name) for field in fields(obj)}" msgstr "" msgid "" -":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " -"instance." +":func:`!asdict` raises :exc:`TypeError` if *obj* is not a dataclass instance." msgstr "" msgid "" -"Converts the dataclass ``obj`` to a tuple (by using the factory function " -"``tuple_factory``). Each dataclass is converted to a tuple of its field " +"Converts the dataclass *obj* to a tuple (by using the factory function " +"*tuple_factory*). Each dataclass is converted to a tuple of its field " "values. dataclasses, dicts, lists, and tuples are recursed into. Other " "objects are copied with :func:`copy.deepcopy`." msgstr "" msgid "Continuing from the previous example::" +msgstr "Продовжуючи попередній приклад:" + +msgid "" +"assert astuple(p) == (10, 20)\n" +"assert astuple(c) == ([(0, 0), (10, 4)],)" +msgstr "" + +msgid "tuple(getattr(obj, field.name) for field in dataclasses.fields(obj))" msgstr "" msgid "" -":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " +":func:`!astuple` raises :exc:`TypeError` if *obj* is not a dataclass " "instance." msgstr "" msgid "" -"Creates a new dataclass with name ``cls_name``, fields as defined in " -"``fields``, base classes as given in ``bases``, and initialized with a " -"namespace as given in ``namespace``. ``fields`` is an iterable whose " -"elements are each either ``name``, ``(name, type)``, or ``(name, type, " -"Field)``. If just ``name`` is supplied, ``typing.Any`` is used for " -"``type``. The values of ``init``, ``repr``, ``eq``, ``order``, " -"``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, ``slots``, and " -"``weakref_slot`` have the same meaning as they do in :func:`dataclass`." +"Creates a new dataclass with name *cls_name*, fields as defined in *fields*, " +"base classes as given in *bases*, and initialized with a namespace as given " +"in *namespace*. *fields* is an iterable whose elements are each either " +"``name``, ``(name, type)``, or ``(name, type, Field)``. If just ``name`` is " +"supplied, :data:`typing.Any` is used for ``type``. The values of *init*, " +"*repr*, *eq*, *order*, *unsafe_hash*, *frozen*, *match_args*, *kw_only*, " +"*slots*, and *weakref_slot* have the same meaning as they do in :func:" +"`@dataclass `." +msgstr "" + +msgid "" +"If *module* is defined, the :attr:`!__module__` attribute of the dataclass " +"is set to that value. By default, it is set to the module name of the caller." +msgstr "" + +msgid "" +"The *decorator* parameter is a callable that will be used to create the " +"dataclass. It should take the class object as a first argument and the same " +"keyword arguments as :func:`@dataclass `. By default, the :func:" +"`@dataclass ` function is used." msgstr "" msgid "" "This function is not strictly required, because any Python mechanism for " -"creating a new class with ``__annotations__`` can then apply the :func:" -"`dataclass` function to convert that class to a dataclass. This function is " -"provided as a convenience. For example::" +"creating a new class with :attr:`!__annotations__` can then apply the :func:" +"`@dataclass ` function to convert that class to a dataclass. " +"This function is provided as a convenience. For example::" +msgstr "" + +msgid "" +"C = make_dataclass('C',\n" +" [('x', int),\n" +" 'y',\n" +" ('z', int, field(default=5))],\n" +" namespace={'add_one': lambda self: self.x + 1})" msgstr "" msgid "Is equivalent to::" +msgstr "Еквівалентно::" + +msgid "" +"@dataclass\n" +"class C:\n" +" x: int\n" +" y: 'typing.Any'\n" +" z: int = 5\n" +"\n" +" def add_one(self):\n" +" return self.x + 1" +msgstr "" + +msgid "Added the *decorator* parameter." msgstr "" msgid "" -"Creates a new object of the same type as ``obj``, replacing fields with " -"values from ``changes``. If ``obj`` is not a Data Class, raises :exc:" -"`TypeError`. If values in ``changes`` do not specify fields, raises :exc:" +"Creates a new object of the same type as *obj*, replacing fields with values " +"from *changes*. If *obj* is not a Data Class, raises :exc:`TypeError`. If " +"keys in *changes* are not field names of the given dataclass, raises :exc:" "`TypeError`." msgstr "" msgid "" "The newly returned object is created by calling the :meth:`~object.__init__` " -"method of the dataclass. This ensures that :ref:`__post_init__ `, if present, is also called." +"method of the dataclass. This ensures that :meth:`__post_init__`, if " +"present, is also called." msgstr "" msgid "" "Init-only variables without default values, if any exist, must be specified " -"on the call to :func:`replace` so that they can be passed to :meth:`~object." -"__init__` and :ref:`__post_init__ `." +"on the call to :func:`!replace` so that they can be passed to :meth:`!" +"__init__` and :meth:`__post_init__`." msgstr "" msgid "" -"It is an error for ``changes`` to contain any fields that are defined as " +"It is an error for *changes* to contain any fields that are defined as " "having ``init=False``. A :exc:`ValueError` will be raised in this case." msgstr "" msgid "" -"Be forewarned about how ``init=False`` fields work during a call to :func:" -"`replace`. They are not copied from the source object, but rather are " -"initialized in :ref:`__post_init__ `, if they're " -"initialized at all. It is expected that ``init=False`` fields will be " -"rarely and judiciously used. If they are used, it might be wise to have " -"alternate class constructors, or perhaps a custom ``replace()`` (or " -"similarly named) method which handles instance copying." +"Be forewarned about how ``init=False`` fields work during a call to :func:`!" +"replace`. They are not copied from the source object, but rather are " +"initialized in :meth:`__post_init__`, if they're initialized at all. It is " +"expected that ``init=False`` fields will be rarely and judiciously used. If " +"they are used, it might be wise to have alternate class constructors, or " +"perhaps a custom :func:`!replace` (or similarly named) method which handles " +"instance copying." msgstr "" msgid "" -"Return ``True`` if its parameter is a dataclass or an instance of one, " -"otherwise return ``False``." +"Dataclass instances are also supported by generic function :func:`copy." +"replace`." +msgstr "" + +msgid "" +"Return ``True`` if its parameter is a dataclass (including subclasses of a " +"dataclass) or an instance of one, otherwise return ``False``." msgstr "" msgid "" @@ -476,16 +647,24 @@ msgid "" "dataclass itself), then add a further check for ``not isinstance(obj, " "type)``::" msgstr "" +"Якщо вам потрібно знати, чи є клас екземпляром класу даних (а не самим " +"класом даних), тоді додайте додаткову перевірку для ``not isinstance(obj, " +"type)``::" + +msgid "" +"def is_dataclass_instance(obj):\n" +" return is_dataclass(obj) and not isinstance(obj, type)" +msgstr "" msgid "A sentinel value signifying a missing default or default_factory." msgstr "" msgid "" "A sentinel value used as a type annotation. Any fields after a pseudo-field " -"with the type of :const:`KW_ONLY` are marked as keyword-only fields. Note " -"that a pseudo-field of type :const:`KW_ONLY` is otherwise completely " +"with the type of :const:`!KW_ONLY` are marked as keyword-only fields. Note " +"that a pseudo-field of type :const:`!KW_ONLY` is otherwise completely " "ignored. This includes the name of such a field. By convention, a name of " -"``_`` is used for a :const:`KW_ONLY` field. Keyword-only fields signify :" +"``_`` is used for a :const:`!KW_ONLY` field. Keyword-only fields signify :" "meth:`~object.__init__` parameters that must be specified as keywords when " "the class is instantiated." msgstr "" @@ -495,9 +674,20 @@ msgid "" "fields::" msgstr "" +msgid "" +"@dataclass\n" +"class Point:\n" +" x: float\n" +" _: KW_ONLY\n" +" y: float\n" +" z: float\n" +"\n" +"p = Point(0, y=1.5, z=2.0)" +msgstr "" + msgid "" "In a single dataclass, it is an error to specify more than one field whose " -"type is :const:`KW_ONLY`." +"type is :const:`!KW_ONLY`." msgstr "" msgid "" @@ -507,35 +697,60 @@ msgid "" msgstr "" msgid "Post-init processing" -msgstr "" +msgstr "Обробка після ініціалізації" msgid "" -"The generated :meth:`~object.__init__` code will call a method named :meth:`!" -"__post_init__`, if :meth:`!__post_init__` is defined on the class. It will " -"normally be called as ``self.__post_init__()``. However, if any ``InitVar`` " -"fields are defined, they will also be passed to :meth:`!__post_init__` in " -"the order they were defined in the class. If no :meth:`~object.__init__` " -"method is generated, then :meth:`!__post_init__` will not automatically be " -"called." +"When defined on the class, it will be called by the generated :meth:`~object." +"__init__`, normally as :meth:`!self.__post_init__`. However, if any " +"``InitVar`` fields are defined, they will also be passed to :meth:`!" +"__post_init__` in the order they were defined in the class. If no :meth:`!" +"__init__` method is generated, then :meth:`!__post_init__` will not " +"automatically be called." msgstr "" msgid "" "Among other uses, this allows for initializing field values that depend on " "one or more other fields. For example::" msgstr "" +"Серед іншого використання це дозволяє ініціалізувати значення полів, які " +"залежать від одного або кількох інших полів. Наприклад::" msgid "" -"The :meth:`~object.__init__` method generated by :func:`dataclass` does not " -"call base class :meth:`~object.__init__` methods. If the base class has an :" -"meth:`~object.__init__` method that has to be called, it is common to call " -"this method in a :meth:`!__post_init__` method::" +"@dataclass\n" +"class C:\n" +" a: float\n" +" b: float\n" +" c: float = field(init=False)\n" +"\n" +" def __post_init__(self):\n" +" self.c = self.a + self.b" msgstr "" msgid "" -"Note, however, that in general the dataclass-generated :meth:`~object." -"__init__` methods don't need to be called, since the derived dataclass will " -"take care of initializing all fields of any base class that is a dataclass " -"itself." +"The :meth:`~object.__init__` method generated by :func:`@dataclass " +"` does not call base class :meth:`!__init__` methods. If the base " +"class has an :meth:`!__init__` method that has to be called, it is common to " +"call this method in a :meth:`__post_init__` method::" +msgstr "" + +msgid "" +"class Rectangle:\n" +" def __init__(self, height, width):\n" +" self.height = height\n" +" self.width = width\n" +"\n" +"@dataclass\n" +"class Square(Rectangle):\n" +" side: float\n" +"\n" +" def __post_init__(self):\n" +" super().__init__(self.side, self.side)" +msgstr "" + +msgid "" +"Note, however, that in general the dataclass-generated :meth:`!__init__` " +"methods don't need to be called, since the derived dataclass will take care " +"of initializing all fields of any base class that is a dataclass itself." msgstr "" msgid "" @@ -545,49 +760,66 @@ msgid "" msgstr "" msgid "Class variables" -msgstr "" +msgstr "Змінні класу" msgid "" -"One of the few places where :func:`dataclass` actually inspects the type of " -"a field is to determine if a field is a class variable as defined in :pep:" -"`526`. It does this by checking if the type of the field is ``typing." -"ClassVar``. If a field is a ``ClassVar``, it is excluded from consideration " -"as a field and is ignored by the dataclass mechanisms. Such ``ClassVar`` " -"pseudo-fields are not returned by the module-level :func:`fields` function." +"One of the few places where :func:`@dataclass ` actually inspects " +"the type of a field is to determine if a field is a class variable as " +"defined in :pep:`526`. It does this by checking if the type of the field " +"is :data:`typing.ClassVar`. If a field is a ``ClassVar``, it is excluded " +"from consideration as a field and is ignored by the dataclass mechanisms. " +"Such ``ClassVar`` pseudo-fields are not returned by the module-level :func:" +"`fields` function." msgstr "" msgid "Init-only variables" -msgstr "" +msgstr "Змінні лише для ініціалізації" msgid "" -"Another place where :func:`dataclass` inspects a type annotation is to " -"determine if a field is an init-only variable. It does this by seeing if " -"the type of a field is of type ``dataclasses.InitVar``. If a field is an " -"``InitVar``, it is considered a pseudo-field called an init-only field. As " -"it is not a true field, it is not returned by the module-level :func:" -"`fields` function. Init-only fields are added as parameters to the " -"generated :meth:`~object.__init__` method, and are passed to the optional :" -"ref:`__post_init__ ` method. They are not otherwise " -"used by dataclasses." +"Another place where :func:`@dataclass ` inspects a type " +"annotation is to determine if a field is an init-only variable. It does " +"this by seeing if the type of a field is of type :class:`InitVar`. If a " +"field is an :class:`InitVar`, it is considered a pseudo-field called an init-" +"only field. As it is not a true field, it is not returned by the module-" +"level :func:`fields` function. Init-only fields are added as parameters to " +"the generated :meth:`~object.__init__` method, and are passed to the " +"optional :meth:`__post_init__` method. They are not otherwise used by " +"dataclasses." msgstr "" msgid "" "For example, suppose a field will be initialized from a database, if a value " "is not provided when creating the class::" msgstr "" +"Наприклад, припустимо, що поле буде ініціалізовано з бази даних, якщо під " +"час створення класу не вказано значення::" msgid "" -"In this case, :func:`fields` will return :class:`Field` objects for ``i`` " -"and ``j``, but not for ``database``." +"@dataclass\n" +"class C:\n" +" i: int\n" +" j: int | None = None\n" +" database: InitVar[DatabaseType | None] = None\n" +"\n" +" def __post_init__(self, database):\n" +" if self.j is None and database is not None:\n" +" self.j = database.lookup('j')\n" +"\n" +"c = C(10, database=my_database)" msgstr "" -msgid "Frozen instances" +msgid "" +"In this case, :func:`fields` will return :class:`Field` objects for :attr:`!" +"i` and :attr:`!j`, but not for :attr:`!database`." msgstr "" +msgid "Frozen instances" +msgstr "Заморожені екземпляри" + msgid "" "It is not possible to create truly immutable Python objects. However, by " -"passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate " -"immutability. In that case, dataclasses will add :meth:`~object." +"passing ``frozen=True`` to the :func:`@dataclass ` decorator you " +"can emulate immutability. In that case, dataclasses will add :meth:`~object." "__setattr__` and :meth:`~object.__delattr__` methods to the class. These " "methods will raise a :exc:`FrozenInstanceError` when invoked." msgstr "" @@ -595,33 +827,50 @@ msgstr "" msgid "" "There is a tiny performance penalty when using ``frozen=True``: :meth:" "`~object.__init__` cannot use simple assignment to initialize fields, and " -"must use :meth:`~object.__setattr__`." +"must use :meth:`!object.__setattr__`." msgstr "" msgid "Inheritance" +msgstr "Dziedziczenie" + +msgid "" +"When the dataclass is being created by the :func:`@dataclass ` " +"decorator, it looks through all of the class's base classes in reverse MRO " +"(that is, starting at :class:`object`) and, for each dataclass that it " +"finds, adds the fields from that base class to an ordered mapping of fields. " +"After all of the base class fields are added, it adds its own fields to the " +"ordered mapping. All of the generated methods will use this combined, " +"calculated ordered mapping of fields. Because the fields are in insertion " +"order, derived classes override base classes. An example::" msgstr "" msgid "" -"When the dataclass is being created by the :meth:`dataclass` decorator, it " -"looks through all of the class's base classes in reverse MRO (that is, " -"starting at :class:`object`) and, for each dataclass that it finds, adds the " -"fields from that base class to an ordered mapping of fields. After all of " -"the base class fields are added, it adds its own fields to the ordered " -"mapping. All of the generated methods will use this combined, calculated " -"ordered mapping of fields. Because the fields are in insertion order, " -"derived classes override base classes. An example::" +"@dataclass\n" +"class Base:\n" +" x: Any = 15.0\n" +" y: int = 0\n" +"\n" +"@dataclass\n" +"class C(Base):\n" +" z: int = 10\n" +" x: int = 15" msgstr "" msgid "" -"The final list of fields is, in order, ``x``, ``y``, ``z``. The final type " -"of ``x`` is ``int``, as specified in class ``C``." +"The final list of fields is, in order, :attr:`!x`, :attr:`!y`, :attr:`!z`. " +"The final type of :attr:`!x` is :class:`int`, as specified in class :class:`!" +"C`." msgstr "" msgid "" -"The generated :meth:`~object.__init__` method for ``C`` will look like::" +"The generated :meth:`~object.__init__` method for :class:`!C` will look " +"like::" +msgstr "" + +msgid "def __init__(self, x: int = 15, y: int = 0, z: int = 10):" msgstr "" -msgid "Re-ordering of keyword-only parameters in :meth:`~object.__init__`" +msgid "Re-ordering of keyword-only parameters in :meth:`!__init__`" msgstr "" msgid "" @@ -632,12 +881,31 @@ msgid "" msgstr "" msgid "" -"In this example, ``Base.y``, ``Base.w``, and ``D.t`` are keyword-only " -"fields, and ``Base.x`` and ``D.z`` are regular fields::" +"In this example, :attr:`!Base.y`, :attr:`!Base.w`, and :attr:`!D.t` are " +"keyword-only fields, and :attr:`!Base.x` and :attr:`!D.z` are regular " +"fields::" msgstr "" msgid "" -"The generated :meth:`~object.__init__` method for ``D`` will look like::" +"@dataclass\n" +"class Base:\n" +" x: Any = 15.0\n" +" _: KW_ONLY\n" +" y: int = 0\n" +" w: int = 1\n" +"\n" +"@dataclass\n" +"class D(Base):\n" +" z: int = 10\n" +" t: int = field(kw_only=True, default=0)" +msgstr "" + +msgid "The generated :meth:`!__init__` method for :class:`!D` will look like::" +msgstr "" + +msgid "" +"def __init__(self, x: Any = 15.0, z: int = 10, *, y: int = 0, w: int = 1, t: " +"int = 0):" msgstr "" msgid "" @@ -648,66 +916,114 @@ msgstr "" msgid "" "The relative ordering of keyword-only parameters is maintained in the re-" -"ordered :meth:`~object.__init__` parameter list." +"ordered :meth:`!__init__` parameter list." msgstr "" msgid "Default factory functions" -msgstr "" +msgstr "Стандартні заводські функції" msgid "" -"If a :func:`field` specifies a ``default_factory``, it is called with zero " +"If a :func:`field` specifies a *default_factory*, it is called with zero " "arguments when a default value for the field is needed. For example, to " "create a new instance of a list, use::" msgstr "" +msgid "mylist: list = field(default_factory=list)" +msgstr "" + msgid "" "If a field is excluded from :meth:`~object.__init__` (using ``init=False``) " -"and the field also specifies ``default_factory``, then the default factory " -"function will always be called from the generated :meth:`~object.__init__` " +"and the field also specifies *default_factory*, then the default factory " +"function will always be called from the generated :meth:`!__init__` " "function. This happens because there is no other way to give the field an " "initial value." msgstr "" msgid "Mutable default values" -msgstr "" +msgstr "Змінні значення за замовчуванням" msgid "" "Python stores default member variable values in class attributes. Consider " "this example, not using dataclasses::" msgstr "" +"Python зберігає значення змінних членів за замовчуванням в атрибутах класу. " +"Розглянемо цей приклад, не використовуючи класи даних::" msgid "" -"Note that the two instances of class ``C`` share the same class variable " -"``x``, as expected." +"class C:\n" +" x = []\n" +" def add(self, element):\n" +" self.x.append(element)\n" +"\n" +"o1 = C()\n" +"o2 = C()\n" +"o1.add(1)\n" +"o2.add(2)\n" +"assert o1.x == [1, 2]\n" +"assert o1.x is o2.x" +msgstr "" + +msgid "" +"Note that the two instances of class :class:`!C` share the same class " +"variable :attr:`!x`, as expected." msgstr "" msgid "Using dataclasses, *if* this code was valid::" +msgstr "Використання класів даних, *якщо* цей код дійсний::" + +msgid "" +"@dataclass\n" +"class D:\n" +" x: list = [] # This code raises ValueError\n" +" def add(self, element):\n" +" self.x.append(element)" msgstr "" msgid "it would generate code similar to::" +msgstr "це створить код, подібний до::" + +msgid "" +"class D:\n" +" x = []\n" +" def __init__(self, x=x):\n" +" self.x = x\n" +" def add(self, element):\n" +" self.x.append(element)\n" +"\n" +"assert D().x is D().x" msgstr "" msgid "" -"This has the same issue as the original example using class ``C``. That is, " -"two instances of class ``D`` that do not specify a value for ``x`` when " -"creating a class instance will share the same copy of ``x``. Because " -"dataclasses just use normal Python class creation they also share this " -"behavior. There is no general way for Data Classes to detect this " -"condition. Instead, the :func:`dataclass` decorator will raise a :exc:" -"`TypeError` if it detects an unhashable default parameter. The assumption " -"is that if a value is unhashable, it is mutable. This is a partial " -"solution, but it does protect against many common errors." +"This has the same issue as the original example using class :class:`!C`. " +"That is, two instances of class :class:`!D` that do not specify a value for :" +"attr:`!x` when creating a class instance will share the same copy of :attr:`!" +"x`. Because dataclasses just use normal Python class creation they also " +"share this behavior. There is no general way for Data Classes to detect " +"this condition. Instead, the :func:`@dataclass ` decorator will " +"raise a :exc:`ValueError` if it detects an unhashable default parameter. " +"The assumption is that if a value is unhashable, it is mutable. This is a " +"partial solution, but it does protect against many common errors." msgstr "" msgid "" "Using default factory functions is a way to create new instances of mutable " "types as default values for fields::" msgstr "" +"Використання заводських функцій за замовчуванням — це спосіб створення нових " +"екземплярів змінних типів як значень за замовчуванням для полів::" msgid "" -"Instead of looking for and disallowing objects of type ``list``, ``dict``, " -"or ``set``, unhashable objects are now not allowed as default values. " -"Unhashability is used to approximate mutability." +"@dataclass\n" +"class D:\n" +" x: list = field(default_factory=list)\n" +"\n" +"assert D().x is not D().x" +msgstr "" + +msgid "" +"Instead of looking for and disallowing objects of type :class:`list`, :class:" +"`dict`, or :class:`set`, unhashable objects are now not allowed as default " +"values. Unhashability is used to approximate mutability." msgstr "" msgid "Descriptor-typed fields" @@ -719,24 +1035,52 @@ msgid "" msgstr "" msgid "" -"The value for the field passed to the dataclass's ``__init__`` method is " -"passed to the descriptor's ``__set__`` method rather than overwriting the " -"descriptor object." +"The value for the field passed to the dataclass's :meth:`~object.__init__` " +"method is passed to the descriptor's :meth:`~object.__set__` method rather " +"than overwriting the descriptor object." +msgstr "" + +msgid "" +"Similarly, when getting or setting the field, the descriptor's :meth:" +"`~object.__get__` or :meth:`!__set__` method is called rather than returning " +"or overwriting the descriptor object." msgstr "" msgid "" -"Similarly, when getting or setting the field, the descriptor's ``__get__`` " -"or ``__set__`` method is called rather than returning or overwriting the " -"descriptor object." +"To determine whether a field contains a default value, :func:`@dataclass " +"` will call the descriptor's :meth:`!__get__` method using its " +"class access form: ``descriptor.__get__(obj=None, type=cls)``. If the " +"descriptor returns a value in this case, it will be used as the field's " +"default. On the other hand, if the descriptor raises :exc:`AttributeError` " +"in this situation, no default value will be provided for the field." msgstr "" msgid "" -"To determine whether a field contains a default value, ``dataclasses`` will " -"call the descriptor's ``__get__`` method using its class access form (i.e. " -"``descriptor.__get__(obj=None, type=cls)``. If the descriptor returns a " -"value in this case, it will be used as the field's default. On the other " -"hand, if the descriptor raises :exc:`AttributeError` in this situation, no " -"default value will be provided for the field." +"class IntConversionDescriptor:\n" +" def __init__(self, *, default):\n" +" self._default = default\n" +"\n" +" def __set_name__(self, owner, name):\n" +" self._name = \"_\" + name\n" +"\n" +" def __get__(self, obj, type):\n" +" if obj is None:\n" +" return self._default\n" +"\n" +" return getattr(obj, self._name, self._default)\n" +"\n" +" def __set__(self, obj, value):\n" +" setattr(obj, self._name, int(value))\n" +"\n" +"@dataclass\n" +"class InventoryItem:\n" +" quantity_on_hand: IntConversionDescriptor = " +"IntConversionDescriptor(default=100)\n" +"\n" +"i = InventoryItem()\n" +"print(i.quantity_on_hand) # 100\n" +"i.quantity_on_hand = 2.5 # calls __set__ with 2.5\n" +"print(i.quantity_on_hand) # 2" msgstr "" msgid "" diff --git a/library/datatypes.po b/library/datatypes.po index 75891a727f..d7adc41291 100644 --- a/library/datatypes.po +++ b/library/datatypes.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Maciej Olko , 2022\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/datetime.po b/library/datetime.po index b4a3d6e8c6..9a63ad16ce 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Michał Biliński , 2021 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +27,7 @@ msgid ":mod:`!datetime` --- Basic date and time types" msgstr "" msgid "**Source code:** :source:`Lib/datetime.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/datetime.py`" msgid "" "The :mod:`!datetime` module supplies classes for manipulating dates and " @@ -73,12 +70,12 @@ msgid "Package :pypi:`DateType`" msgstr "" msgid "" -"Third-party library that introduces distinct static types to e.g. allow :" -"term:`static type checkers ` to differentiate between " -"naive and aware datetimes." +"Third-party library that introduces distinct static types to for example, " +"allow :term:`static type checkers ` to differentiate " +"between naive and aware datetimes." msgstr "" -msgid "Aware and Naive Objects" +msgid "Aware and naive objects" msgstr "" msgid "" @@ -108,7 +105,7 @@ msgid "" "For applications requiring aware objects, :class:`.datetime` and :class:`." "time` objects have an optional time zone information attribute, :attr:`!" "tzinfo`, that can be set to an instance of a subclass of the abstract :class:" -"`tzinfo` class. These :class:`tzinfo` objects capture information about the " +"`!tzinfo` class. These :class:`tzinfo` objects capture information about the " "offset from UTC time, the time zone name, and whether daylight saving time " "is in effect." msgstr "" @@ -142,7 +139,7 @@ msgstr "" msgid "Alias for the UTC time zone singleton :attr:`datetime.timezone.utc`." msgstr "" -msgid "Available Types" +msgid "Available types" msgstr "" msgid "" @@ -184,20 +181,15 @@ msgstr "" msgid "Objects of these types are immutable." msgstr "" -msgid "Subclass relationships::" +msgid "Subclass relationships:" msgstr "" msgid "" -"object\n" -" timedelta\n" -" tzinfo\n" -" timezone\n" -" time\n" -" date\n" -" datetime" +"timedelta, tzinfo, time, and date inherit from object; timezone inherits\n" +"from tzinfo; and datetime inherits from date." msgstr "" -msgid "Common Properties" +msgid "Common properties" msgstr "" msgid "" @@ -215,7 +207,7 @@ msgid "" "module." msgstr "" -msgid "Determining if an Object is Aware or Naive" +msgid "Determining if an object is aware or naive" msgstr "" msgid "Objects of the :class:`date` type are always naive." @@ -255,7 +247,7 @@ msgid "" "objects." msgstr "" -msgid ":class:`timedelta` Objects" +msgid ":class:`!timedelta` objects" msgstr "" msgid "" @@ -306,8 +298,8 @@ msgid "" msgstr "" msgid "" -">>> from datetime import timedelta\n" -">>> delta = timedelta(\n" +">>> import datetime as dt\n" +">>> delta = dt.timedelta(\n" "... days=50,\n" "... seconds=27,\n" "... microseconds=10,\n" @@ -321,6 +313,13 @@ msgid "" "datetime.timedelta(days=64, seconds=29156, microseconds=10)" msgstr "" +msgid "" +"``import datetime as dt`` instead of ``import datetime`` or ``from datetime " +"import datetime`` to avoid confusion between the module and the class. See " +"`How I Import Python’s datetime Module `__." +msgstr "" + msgid "" "If any argument is a float and there are fractional microseconds, the " "fractional microseconds left over from all arguments are combined and their " @@ -340,8 +339,8 @@ msgid "" msgstr "" msgid "" -">>> from datetime import timedelta\n" -">>> d = timedelta(microseconds=-1)\n" +">>> import datetime as dt\n" +">>> d = dt.timedelta(microseconds=-1)\n" ">>> (d.days, d.seconds, d.microseconds)\n" "(-1, 86399, 999999)" msgstr "" @@ -402,8 +401,8 @@ msgid "" msgstr "" msgid "" -">>> from datetime import timedelta\n" -">>> duration = timedelta(seconds=11235813)\n" +">>> import datetime as dt\n" +">>> duration = dt.timedelta(seconds=11235813)\n" ">>> duration.days, duration.seconds\n" "(130, 3813)\n" ">>> duration.total_seconds()\n" @@ -579,9 +578,9 @@ msgstr "" msgid "" "Floor division and true division of a :class:`timedelta` object by another :" -"class:`timedelta` object are now supported, as are remainder operations and " -"the :func:`divmod` function. True division and multiplication of a :class:" -"`timedelta` object by a :class:`float` object are now supported." +"class:`!timedelta` object are now supported, as are remainder operations and " +"the :func:`divmod` function. True division and multiplication of a :class:`!" +"timedelta` object by a :class:`float` object are now supported." msgstr "" msgid ":class:`timedelta` objects support equality and order comparisons." @@ -598,7 +597,7 @@ msgstr "" msgid "" "Return the total number of seconds contained in the duration. Equivalent to " "``td / timedelta(seconds=1)``. For interval units other than seconds, use " -"the division form directly (e.g. ``td / timedelta(microseconds=1)``)." +"the division form directly (for example, ``td / timedelta(microseconds=1)``)." msgstr "" msgid "" @@ -606,7 +605,7 @@ msgid "" "platforms) this method will lose microsecond accuracy." msgstr "" -msgid "Examples of usage: :class:`timedelta`" +msgid "Examples of usage: :class:`!timedelta`" msgstr "" msgid "An additional example of normalization::" @@ -614,10 +613,10 @@ msgstr "" msgid "" ">>> # Components of another_year add up to exactly 365 days\n" -">>> from datetime import timedelta\n" -">>> year = timedelta(days=365)\n" -">>> another_year = timedelta(weeks=40, days=84, hours=23,\n" -"... minutes=50, seconds=600)\n" +">>> import datetime as dt\n" +">>> year = dt.timedelta(days=365)\n" +">>> another_year = dt.timedelta(weeks=40, days=84, hours=23,\n" +"... minutes=50, seconds=600)\n" ">>> year == another_year\n" "True\n" ">>> year.total_seconds()\n" @@ -628,8 +627,8 @@ msgid "Examples of :class:`timedelta` arithmetic::" msgstr "" msgid "" -">>> from datetime import timedelta\n" -">>> year = timedelta(days=365)\n" +">>> import datetime as dt\n" +">>> year = dt.timedelta(days=365)\n" ">>> ten_years = 10 * year\n" ">>> ten_years\n" "datetime.timedelta(days=3650)\n" @@ -643,7 +642,7 @@ msgid "" "(datetime.timedelta(days=1095), 3)" msgstr "" -msgid ":class:`date` Objects" +msgid ":class:`!date` objects" msgstr "" msgid "" @@ -685,7 +684,7 @@ msgid "This is equivalent to ``date.fromtimestamp(time.time())``." msgstr "" msgid "" -"Return the local date corresponding to the POSIX timestamp, such as is " +"Return the local date corresponding to the POSIX *timestamp*, such as is " "returned by :func:`time.time`." msgstr "" @@ -706,7 +705,7 @@ msgid "" msgstr "" msgid "" -"Return the date corresponding to the proleptic Gregorian ordinal, where " +"Return the date corresponding to the proleptic Gregorian *ordinal*, where " "January 1 of year 1 has ordinal 1." msgstr "" @@ -736,12 +735,12 @@ msgid "Examples::" msgstr "Przykłady::" msgid "" -">>> from datetime import date\n" -">>> date.fromisoformat('2019-12-04')\n" +">>> import datetime as dt\n" +">>> dt.date.fromisoformat('2019-12-04')\n" "datetime.date(2019, 12, 4)\n" -">>> date.fromisoformat('20191204')\n" +">>> dt.date.fromisoformat('20191204')\n" "datetime.date(2019, 12, 4)\n" -">>> date.fromisoformat('2021-W01-1')\n" +">>> dt.date.fromisoformat('2021-W01-1')\n" "datetime.date(2021, 1, 4)" msgstr "" @@ -750,7 +749,7 @@ msgstr "" msgid "" "Return a :class:`date` corresponding to the ISO calendar date specified by " -"year, week and day. This is the inverse of the function :meth:`date." +"*year*, *week* and *day*. This is the inverse of the function :meth:`date." "isocalendar`." msgstr "" @@ -779,9 +778,9 @@ msgid "" msgstr "" msgid "" -">>> from datetime import date\n" +">>> import datetime as dt\n" ">>> date_string = \"02/29\"\n" -">>> when = date.strptime(f\"{date_string};1984\", \"%m/%d;%Y\") # Avoids " +">>> when = dt.date.strptime(f\"{date_string};1984\", \"%m/%d;%Y\") # Avoids " "leap year bug.\n" ">>> when.strftime(\"%B %d\")\n" "'February 29'" @@ -881,7 +880,7 @@ msgid "" msgstr "" msgid "" -"Order comparison between a :class:`!date` object that is not also a :class:`." +"Order comparison between a :class:`date` object that is not also a :class:`." "datetime` instance and a :class:`!datetime` object raises :exc:`TypeError`." msgstr "" @@ -906,8 +905,8 @@ msgid "Example::" msgstr "Przykład::" msgid "" -">>> from datetime import date\n" -">>> d = date(2002, 12, 31)\n" +">>> import datetime as dt\n" +">>> d = dt.date(2002, 12, 31)\n" ">>> d.replace(day=26)\n" "datetime.date(2002, 12, 26)" msgstr "" @@ -978,10 +977,10 @@ msgid "" msgstr "" msgid "" -">>> from datetime import date\n" -">>> date(2003, 12, 29).isocalendar()\n" +">>> import datetime as dt\n" +">>> dt.date(2003, 12, 29).isocalendar()\n" "datetime.IsoCalendarDate(year=2004, week=1, weekday=1)\n" -">>> date(2004, 1, 4).isocalendar()\n" +">>> dt.date(2004, 1, 4).isocalendar()\n" "datetime.IsoCalendarDate(year=2004, week=1, weekday=7)" msgstr "" @@ -993,13 +992,10 @@ msgid "" msgstr "" msgid "" -">>> from datetime import date\n" -">>> date(2002, 12, 4).isoformat()\n" +">>> import datetime as dt\n" +">>> dt.date(2002, 12, 4).isoformat()\n" "'2002-12-04'" msgstr "" -">>> from datetime import date\n" -">>> date(2002, 12, 4).isoformat()\n" -"'2002-12-04'" msgid "For a date ``d``, ``str(d)`` is equivalent to ``d.isoformat()``." msgstr "" @@ -1008,8 +1004,8 @@ msgid "Return a string representing the date::" msgstr "" msgid "" -">>> from datetime import date\n" -">>> date(2002, 12, 4).ctime()\n" +">>> import datetime as dt\n" +">>> dt.date(2002, 12, 4).ctime()\n" "'Wed Dec 4 00:00:00 2002'" msgstr "" @@ -1039,7 +1035,7 @@ msgid "" "strptime-behavior` and :meth:`date.isoformat`." msgstr "" -msgid "Examples of Usage: :class:`date`" +msgid "Examples of usage: :class:`!date`" msgstr "" msgid "Example of counting days to an event::" @@ -1047,13 +1043,13 @@ msgstr "" msgid "" ">>> import time\n" -">>> from datetime import date\n" -">>> today = date.today()\n" +">>> import datetime as dt\n" +">>> today = dt.date.today()\n" ">>> today\n" "datetime.date(2007, 12, 5)\n" -">>> today == date.fromtimestamp(time.time())\n" +">>> today == dt.date.fromtimestamp(time.time())\n" "True\n" -">>> my_birthday = date(today.year, 6, 24)\n" +">>> my_birthday = dt.date(today.year, 6, 24)\n" ">>> if my_birthday < today:\n" "... my_birthday = my_birthday.replace(year=today.year + 1)\n" "...\n" @@ -1068,8 +1064,8 @@ msgid "More examples of working with :class:`date`:" msgstr "" msgid "" -">>> from datetime import date\n" -">>> d = date.fromordinal(730920) # 730920th day after 1. 1. 0001\n" +">>> import datetime as dt\n" +">>> d = dt.date.fromordinal(730920) # 730920th day after 1. 1. 0001\n" ">>> d\n" "datetime.date(2002, 3, 11)\n" "\n" @@ -1085,7 +1081,7 @@ msgid "" ">>> 'The {1} is {0:%d}, the {2} is {0:%B}.'.format(d, \"day\", \"month\")\n" "'The day is 11, the month is March.'\n" "\n" -">>> # Methods for to extracting 'components' under different calendars\n" +">>> # Methods for extracting 'components' under different calendars\n" ">>> t = d.timetuple()\n" ">>> for i in t:\n" "... print(i)\n" @@ -1110,7 +1106,7 @@ msgid "" "datetime.date(2005, 3, 11)" msgstr "" -msgid ":class:`.datetime` Objects" +msgid ":class:`!datetime` objects" msgstr "" msgid "" @@ -1121,7 +1117,7 @@ msgstr "" msgid "" "Like a :class:`date` object, :class:`.datetime` assumes the current " "Gregorian calendar extended in both directions; like a :class:`.time` " -"object, :class:`.datetime` assumes there are exactly 3600\\*24 seconds in " +"object, :class:`!datetime` assumes there are exactly 3600\\*24 seconds in " "every day." msgstr "" @@ -1301,6 +1297,9 @@ msgid "" "`gmtime` failure." msgstr "" +msgid "Accepts any real number as *timestamp*, not only integer or float." +msgstr "" + msgid "Use :meth:`datetime.fromtimestamp` with :const:`UTC` instead." msgstr "" @@ -1318,7 +1317,7 @@ msgid "" "given :class:`.time` object's. If the *tzinfo* argument is provided, its " "value is used to set the :attr:`.tzinfo` attribute of the result, otherwise " "the :attr:`~.time.tzinfo` attribute of the *time* argument is used. If the " -"*date* argument is a :class:`.datetime` object, its time components and :" +"*date* argument is a :class:`!datetime` object, its time components and :" "attr:`.tzinfo` attributes are ignored." msgstr "" @@ -1345,25 +1344,25 @@ msgid "Fractional hours and minutes are not supported." msgstr "" msgid "" -">>> from datetime import datetime\n" -">>> datetime.fromisoformat('2011-11-04')\n" +">>> import datetime as dt\n" +">>> dt.datetime.fromisoformat('2011-11-04')\n" "datetime.datetime(2011, 11, 4, 0, 0)\n" -">>> datetime.fromisoformat('20111104')\n" +">>> dt.datetime.fromisoformat('20111104')\n" "datetime.datetime(2011, 11, 4, 0, 0)\n" -">>> datetime.fromisoformat('2011-11-04T00:05:23')\n" +">>> dt.datetime.fromisoformat('2011-11-04T00:05:23')\n" "datetime.datetime(2011, 11, 4, 0, 5, 23)\n" -">>> datetime.fromisoformat('2011-11-04T00:05:23Z')\n" +">>> dt.datetime.fromisoformat('2011-11-04T00:05:23Z')\n" "datetime.datetime(2011, 11, 4, 0, 5, 23, tzinfo=datetime.timezone.utc)\n" -">>> datetime.fromisoformat('20111104T000523')\n" +">>> dt.datetime.fromisoformat('20111104T000523')\n" "datetime.datetime(2011, 11, 4, 0, 5, 23)\n" -">>> datetime.fromisoformat('2011-W01-2T00:05:23.283')\n" +">>> dt.datetime.fromisoformat('2011-W01-2T00:05:23.283')\n" "datetime.datetime(2011, 1, 4, 0, 5, 23, 283000)\n" -">>> datetime.fromisoformat('2011-11-04 00:05:23.283')\n" +">>> dt.datetime.fromisoformat('2011-11-04 00:05:23.283')\n" "datetime.datetime(2011, 11, 4, 0, 5, 23, 283000)\n" -">>> datetime.fromisoformat('2011-11-04 00:05:23.283+00:00')\n" +">>> dt.datetime.fromisoformat('2011-11-04 00:05:23.283+00:00')\n" "datetime.datetime(2011, 11, 4, 0, 5, 23, 283000, tzinfo=datetime.timezone." "utc)\n" -">>> datetime.fromisoformat('2011-11-04T00:05:23+04:00')\n" +">>> dt.datetime.fromisoformat('2011-11-04T00:05:23+04:00')\n" "datetime.datetime(2011, 11, 4, 0, 5, 23,\n" " tzinfo=datetime.timezone(datetime.timedelta(seconds=14400)))" msgstr "" @@ -1375,9 +1374,9 @@ msgstr "" msgid "" "Return a :class:`.datetime` corresponding to the ISO calendar date specified " -"by year, week and day. The non-date components of the datetime are populated " -"with their normal default values. This is the inverse of the function :meth:" -"`datetime.isocalendar`." +"by *year*, *week* and *day*. The non-date components of the datetime are " +"populated with their normal default values. This is the inverse of the " +"function :meth:`datetime.isocalendar`." msgstr "" msgid "" @@ -1411,9 +1410,9 @@ msgid "" msgstr "" msgid "" -">>> from datetime import datetime\n" +">>> import datetime as dt\n" ">>> date_string = \"02/29\"\n" -">>> when = datetime.strptime(f\"{date_string};1984\", \"%m/%d;%Y\") # " +">>> when = dt.datetime.strptime(f\"{date_string};1984\", \"%m/%d;%Y\") # " "Avoids leap year bug.\n" ">>> when.strftime(\"%B %d\")\n" "'February 29'" @@ -1508,7 +1507,7 @@ msgid "" msgstr "" msgid "" -"Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined " +"Subtraction of a :class:`.datetime` from a :class:`!datetime` is defined " "only if both operands are naive, or if both are aware. If one is aware and " "the other is naive, :exc:`TypeError` is raised." msgstr "" @@ -1533,7 +1532,7 @@ msgid "" "time, taking into account the time zone." msgstr "" -msgid "Naive and aware :class:`!datetime` objects are never equal." +msgid "Naive and aware :class:`.datetime` objects are never equal." msgstr "" msgid "" @@ -1542,7 +1541,7 @@ msgid "" "the base datetimes are compared. If both comparands are aware and have " "different :attr:`~.datetime.tzinfo` attributes, the comparison acts as " "comparands were first converted to UTC datetimes except that the " -"implementation never overflows. :class:`!datetime` instances in a repeated " +"implementation never overflows. :class:`.datetime` instances in a repeated " "interval are never equal to :class:`!datetime` instances in other time zone." msgstr "" @@ -1735,7 +1734,7 @@ msgstr "" msgid "" "Naive :class:`.datetime` instances are assumed to represent local time and " "this method relies on the platform C :c:func:`mktime` function to perform " -"the conversion. Since :class:`.datetime` supports wider range of values " +"the conversion. Since :class:`!datetime` supports wider range of values " "than :c:func:`mktime` on many platforms, this method may raise :exc:" "`OverflowError` or :exc:`OSError` for times far in the past or far in the " "future." @@ -1748,11 +1747,6 @@ msgstr "" msgid "(dt - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds()" msgstr "" -msgid "" -"The :meth:`timestamp` method uses the :attr:`.fold` attribute to " -"disambiguate the times during a repeated interval." -msgstr "" - msgid "" "There is no method to obtain the POSIX timestamp directly from a naive :" "class:`.datetime` instance representing UTC time. If your application uses " @@ -1769,6 +1763,11 @@ msgstr "" msgid "timestamp = (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)" msgstr "" +msgid "" +"The :meth:`timestamp` method uses the :attr:`.fold` attribute to " +"disambiguate the times during a repeated interval." +msgstr "" + msgid "" "Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " "The same as ``self.date().weekday()``. See also :meth:`isoweekday`." @@ -1809,10 +1808,10 @@ msgid "" msgstr "" msgid "" -">>> from datetime import datetime, timezone\n" -">>> datetime(2019, 5, 18, 15, 17, 8, 132263).isoformat()\n" +">>> import datetime as dt\n" +">>> dt.datetime(2019, 5, 18, 15, 17, 8, 132263).isoformat()\n" "'2019-05-18T15:17:08.132263'\n" -">>> datetime(2019, 5, 18, 15, 17, tzinfo=timezone.utc).isoformat()\n" +">>> dt.datetime(2019, 5, 18, 15, 17, tzinfo=dt.timezone.utc).isoformat()\n" "'2019-05-18T15:17:00+00:00'" msgstr "" @@ -1822,15 +1821,15 @@ msgid "" msgstr "" msgid "" -">>> from datetime import tzinfo, timedelta, datetime\n" -">>> class TZ(tzinfo):\n" +">>> import datetime as dt\n" +">>> class TZ(dt.tzinfo):\n" "... \"\"\"A time zone with an arbitrary, constant -06:39 offset.\"\"\"\n" -"... def utcoffset(self, dt):\n" -"... return timedelta(hours=-6, minutes=-39)\n" +"... def utcoffset(self, when):\n" +"... return dt.timedelta(hours=-6, minutes=-39)\n" "...\n" -">>> datetime(2002, 12, 25, tzinfo=TZ()).isoformat(' ')\n" +">>> dt.datetime(2002, 12, 25, tzinfo=TZ()).isoformat(' ')\n" "'2002-12-25 00:00:00-06:39'\n" -">>> datetime(2009, 11, 27, microsecond=100, tzinfo=TZ()).isoformat()\n" +">>> dt.datetime(2009, 11, 27, microsecond=100, tzinfo=TZ()).isoformat()\n" "'2009-11-27T00:00:00.000100-06:39'" msgstr "" @@ -1872,11 +1871,11 @@ msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument::" msgstr "" msgid "" -">>> from datetime import datetime\n" -">>> datetime.now().isoformat(timespec='minutes')\n" +">>> import datetime as dt\n" +">>> dt.datetime.now().isoformat(timespec='minutes')\n" "'2002-12-25T00:00'\n" -">>> dt = datetime(2015, 1, 1, 12, 30, 59, 0)\n" -">>> dt.isoformat(timespec='microseconds')\n" +">>> my_datetime = dt.datetime(2015, 1, 1, 12, 30, 59, 0)\n" +">>> my_datetime.isoformat(timespec='microseconds')\n" "'2015-01-01T12:30:59.000000'" msgstr "" @@ -1892,8 +1891,8 @@ msgid "Return a string representing the date and time::" msgstr "" msgid "" -">>> from datetime import datetime\n" -">>> datetime(2002, 12, 4, 20, 30, 40).ctime()\n" +">>> import datetime as dt\n" +">>> dt.datetime(2002, 12, 4, 20, 30, 40).ctime()\n" "'Wed Dec 4 20:30:40 2002'" msgstr "" @@ -1921,35 +1920,36 @@ msgid "" "`strftime-strptime-behavior` and :meth:`datetime.isoformat`." msgstr "" -msgid "Examples of Usage: :class:`.datetime`" +msgid "Examples of usage: :class:`!datetime`" msgstr "" msgid "Examples of working with :class:`.datetime` objects:" msgstr "" msgid "" -">>> from datetime import datetime, date, time, timezone\n" +">>> import datetime as dt\n" "\n" ">>> # Using datetime.combine()\n" -">>> d = date(2005, 7, 14)\n" -">>> t = time(12, 30)\n" -">>> datetime.combine(d, t)\n" +">>> d = dt.date(2005, 7, 14)\n" +">>> t = dt.time(12, 30)\n" +">>> dt.datetime.combine(d, t)\n" "datetime.datetime(2005, 7, 14, 12, 30)\n" "\n" ">>> # Using datetime.now()\n" -">>> datetime.now()\n" +">>> dt.datetime.now()\n" "datetime.datetime(2007, 12, 6, 16, 29, 43, 79043) # GMT +1\n" -">>> datetime.now(timezone.utc)\n" +">>> dt.datetime.now(dt.timezone.utc)\n" "datetime.datetime(2007, 12, 6, 15, 29, 43, 79060, tzinfo=datetime.timezone." "utc)\n" "\n" ">>> # Using datetime.strptime()\n" -">>> dt = datetime.strptime(\"21/11/06 16:30\", \"%d/%m/%y %H:%M\")\n" -">>> dt\n" +">>> my_datetime = dt.datetime.strptime(\"21/11/06 16:30\", \"%d/%m/%y %H:" +"%M\")\n" +">>> my_datetime\n" "datetime.datetime(2006, 11, 21, 16, 30)\n" "\n" ">>> # Using datetime.timetuple() to get tuple of all attributes\n" -">>> tt = dt.timetuple()\n" +">>> tt = my_datetime.timetuple()\n" ">>> for it in tt:\n" "... print(it)\n" "...\n" @@ -1964,7 +1964,7 @@ msgid "" "-1 # dst - method tzinfo.dst() returned None\n" "\n" ">>> # Date in ISO format\n" -">>> ic = dt.isocalendar()\n" +">>> ic = my_datetime.isocalendar()\n" ">>> for it in ic:\n" "... print(it)\n" "...\n" @@ -1973,10 +1973,10 @@ msgid "" "2 # ISO weekday\n" "\n" ">>> # Formatting a datetime\n" -">>> dt.strftime(\"%A, %d. %B %Y %I:%M%p\")\n" +">>> my_datetime.strftime(\"%A, %d. %B %Y %I:%M%p\")\n" "'Tuesday, 21. November 2006 04:30PM'\n" ">>> 'The {1} is {0:%d}, the {2} is {0:%B}, the {3} is {0:%I:%M%p}.'." -"format(dt, \"day\", \"month\", \"time\")\n" +"format(my_datetime, \"day\", \"month\", \"time\")\n" "'The day is 21, the month is November, the time is 04:30PM.'" msgstr "" @@ -1987,47 +1987,47 @@ msgid "" msgstr "" msgid "" -"from datetime import timedelta, datetime, tzinfo, timezone\n" +"import datetime as dt\n" "\n" -"class KabulTz(tzinfo):\n" +"class KabulTz(dt.tzinfo):\n" " # Kabul used +4 until 1945, when they moved to +4:30\n" -" UTC_MOVE_DATE = datetime(1944, 12, 31, 20, tzinfo=timezone.utc)\n" +" UTC_MOVE_DATE = dt.datetime(1944, 12, 31, 20, tzinfo=dt.timezone.utc)\n" "\n" -" def utcoffset(self, dt):\n" -" if dt.year < 1945:\n" -" return timedelta(hours=4)\n" -" elif (1945, 1, 1, 0, 0) <= dt.timetuple()[:5] < (1945, 1, 1, 0, " +" def utcoffset(self, when):\n" +" if when.year < 1945:\n" +" return dt.timedelta(hours=4)\n" +" elif (1945, 1, 1, 0, 0) <= when.timetuple()[:5] < (1945, 1, 1, 0, " "30):\n" " # An ambiguous (\"imaginary\") half-hour range representing\n" " # a 'fold' in time due to the shift from +4 to +4:30.\n" -" # If dt falls in the imaginary range, use fold to decide how\n" -" # to resolve. See PEP495.\n" -" return timedelta(hours=4, minutes=(30 if dt.fold else 0))\n" +" # If when falls in the imaginary range, use fold to decide how\n" +" # to resolve. See PEP 495.\n" +" return dt.timedelta(hours=4, minutes=(30 if when.fold else 0))\n" " else:\n" -" return timedelta(hours=4, minutes=30)\n" +" return dt.timedelta(hours=4, minutes=30)\n" "\n" -" def fromutc(self, dt):\n" +" def fromutc(self, when):\n" " # Follow same validations as in datetime.tzinfo\n" -" if not isinstance(dt, datetime):\n" +" if not isinstance(when, dt.datetime):\n" " raise TypeError(\"fromutc() requires a datetime argument\")\n" -" if dt.tzinfo is not self:\n" -" raise ValueError(\"dt.tzinfo is not self\")\n" +" if when.tzinfo is not self:\n" +" raise ValueError(\"when.tzinfo is not self\")\n" "\n" " # A custom implementation is required for fromutc as\n" " # the input to this function is a datetime with utc values\n" " # but with a tzinfo set to self.\n" " # See datetime.astimezone or fromtimestamp.\n" -" if dt.replace(tzinfo=timezone.utc) >= self.UTC_MOVE_DATE:\n" -" return dt + timedelta(hours=4, minutes=30)\n" +" if when.replace(tzinfo=dt.timezone.utc) >= self.UTC_MOVE_DATE:\n" +" return when + dt.timedelta(hours=4, minutes=30)\n" " else:\n" -" return dt + timedelta(hours=4)\n" +" return when + dt.timedelta(hours=4)\n" "\n" -" def dst(self, dt):\n" +" def dst(self, when):\n" " # Kabul does not observe daylight saving time.\n" -" return timedelta(0)\n" +" return dt.timedelta(0)\n" "\n" -" def tzname(self, dt):\n" -" if dt >= self.UTC_MOVE_DATE:\n" +" def tzname(self, when):\n" +" if when >= self.UTC_MOVE_DATE:\n" " return \"+04:30\"\n" " return \"+04\"" msgstr "" @@ -2039,17 +2039,17 @@ msgid "" ">>> tz1 = KabulTz()\n" "\n" ">>> # Datetime before the change\n" -">>> dt1 = datetime(1900, 11, 21, 16, 30, tzinfo=tz1)\n" +">>> dt1 = dt.datetime(1900, 11, 21, 16, 30, tzinfo=tz1)\n" ">>> print(dt1.utcoffset())\n" "4:00:00\n" "\n" ">>> # Datetime after the change\n" -">>> dt2 = datetime(2006, 6, 14, 13, 0, tzinfo=tz1)\n" +">>> dt2 = dt.datetime(2006, 6, 14, 13, 0, tzinfo=tz1)\n" ">>> print(dt2.utcoffset())\n" "4:30:00\n" "\n" ">>> # Convert datetime to another time zone\n" -">>> dt3 = dt2.astimezone(timezone.utc)\n" +">>> dt3 = dt2.astimezone(dt.timezone.utc)\n" ">>> dt3\n" "datetime.datetime(2006, 6, 14, 8, 30, tzinfo=datetime.timezone.utc)\n" ">>> dt2\n" @@ -2058,7 +2058,7 @@ msgid "" "True" msgstr "" -msgid ":class:`.time` Objects" +msgid ":class:`!time` objects" msgstr "" msgid "" @@ -2124,8 +2124,8 @@ msgstr "" msgid "" "Before Python 3.5, a :class:`.time` object was considered to be false if it " "represented midnight in UTC. This behavior was considered obscure and error-" -"prone and has been removed in Python 3.5. See :issue:`13936` for full " -"details." +"prone and has been removed in Python 3.5. See :issue:`13936` for more " +"information." msgstr "" msgid "Other constructors:" @@ -2150,23 +2150,23 @@ msgid "Examples:" msgstr "Przykłady:" msgid "" -">>> from datetime import time\n" -">>> time.fromisoformat('04:23:01')\n" +">>> import datetime as dt\n" +">>> dt.time.fromisoformat('04:23:01')\n" "datetime.time(4, 23, 1)\n" -">>> time.fromisoformat('T04:23:01')\n" +">>> dt.time.fromisoformat('T04:23:01')\n" "datetime.time(4, 23, 1)\n" -">>> time.fromisoformat('T042301')\n" +">>> dt.time.fromisoformat('T042301')\n" "datetime.time(4, 23, 1)\n" -">>> time.fromisoformat('04:23:01.000384')\n" +">>> dt.time.fromisoformat('04:23:01.000384')\n" "datetime.time(4, 23, 1, 384)\n" -">>> time.fromisoformat('04:23:01,000384')\n" +">>> dt.time.fromisoformat('04:23:01,000384')\n" "datetime.time(4, 23, 1, 384)\n" -">>> time.fromisoformat('04:23:01+04:00')\n" +">>> dt.time.fromisoformat('04:23:01+04:00')\n" "datetime.time(4, 23, 1, tzinfo=datetime.timezone(datetime." "timedelta(seconds=14400)))\n" -">>> time.fromisoformat('04:23:01Z')\n" +">>> dt.time.fromisoformat('04:23:01Z')\n" "datetime.time(4, 23, 1, tzinfo=datetime.timezone.utc)\n" -">>> time.fromisoformat('04:23:01+00:00')\n" +">>> dt.time.fromisoformat('04:23:01+00:00')\n" "datetime.time(4, 23, 1, tzinfo=datetime.timezone.utc)" msgstr "" @@ -2198,7 +2198,7 @@ msgstr "" msgid "" "Return a new :class:`.time` with the same values, but with specified " "parameters updated. Note that ``tzinfo=None`` can be specified to create a " -"naive :class:`.time` from an aware :class:`.time`, without conversion of the " +"naive :class:`!time` from an aware :class:`!time`, without conversion of the " "time data." msgstr "" @@ -2230,14 +2230,14 @@ msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument." msgstr "" msgid "" -">>> from datetime import time\n" -">>> time(hour=12, minute=34, second=56, microsecond=123456)." +">>> import datetime as dt\n" +">>> dt.time(hour=12, minute=34, second=56, microsecond=123456)." "isoformat(timespec='minutes')\n" "'12:34'\n" -">>> dt = time(hour=12, minute=34, second=56, microsecond=0)\n" -">>> dt.isoformat(timespec='microseconds')\n" +">>> my_time = dt.time(hour=12, minute=34, second=56, microsecond=0)\n" +">>> my_time.isoformat(timespec='microseconds')\n" "'12:34:56.000000'\n" -">>> dt.isoformat(timespec='auto')\n" +">>> my_time.isoformat(timespec='auto')\n" "'12:34:56'" msgstr "" @@ -2275,25 +2275,25 @@ msgid "" "or a string object." msgstr "" -msgid "Examples of Usage: :class:`.time`" +msgid "Examples of usage: :class:`!time`" msgstr "" msgid "Examples of working with a :class:`.time` object::" msgstr "" msgid "" -">>> from datetime import time, tzinfo, timedelta\n" -">>> class TZ1(tzinfo):\n" -"... def utcoffset(self, dt):\n" -"... return timedelta(hours=1)\n" -"... def dst(self, dt):\n" -"... return timedelta(0)\n" -"... def tzname(self,dt):\n" +">>> import datetime as dt\n" +">>> class TZ1(dt.tzinfo):\n" +"... def utcoffset(self, when):\n" +"... return dt.timedelta(hours=1)\n" +"... def dst(self, when):\n" +"... return dt.timedelta(0)\n" +"... def tzname(self, when):\n" "... return \"+01:00\"\n" "... def __repr__(self):\n" "... return f\"{self.__class__.__name__}()\"\n" "...\n" -">>> t = time(12, 10, 30, tzinfo=TZ1())\n" +">>> t = dt.time(12, 10, 30, tzinfo=TZ1())\n" ">>> t\n" "datetime.time(12, 10, 30, tzinfo=TZ1())\n" ">>> t.isoformat()\n" @@ -2308,29 +2308,29 @@ msgid "" "'The time is 12:10.'" msgstr "" -msgid ":class:`tzinfo` Objects" +msgid ":class:`!tzinfo` objects" msgstr "" msgid "" -"This is an abstract base class, meaning that this class should not be " -"instantiated directly. Define a subclass of :class:`tzinfo` to capture " +"This is an :term:`abstract base class`, meaning that this class should not " +"be instantiated directly. Define a subclass of :class:`tzinfo` to capture " "information about a particular time zone." msgstr "" msgid "" "An instance of (a concrete subclass of) :class:`tzinfo` can be passed to the " "constructors for :class:`.datetime` and :class:`.time` objects. The latter " -"objects view their attributes as being in local time, and the :class:" -"`tzinfo` object supports methods revealing offset of local time from UTC, " -"the name of the time zone, and DST offset, all relative to a date or time " -"object passed to them." +"objects view their attributes as being in local time, and the :class:`!" +"tzinfo` object supports methods revealing offset of local time from UTC, the " +"name of the time zone, and DST offset, all relative to a date or time object " +"passed to them." msgstr "" msgid "" "You need to derive a concrete subclass, and (at least) supply " "implementations of the standard :class:`tzinfo` methods needed by the :class:" "`.datetime` methods you use. The :mod:`!datetime` module provides :class:" -"`timezone`, a simple concrete subclass of :class:`tzinfo` which can " +"`timezone`, a simple concrete subclass of :class:`!tzinfo` which can " "represent time zones with fixed offset from UTC such as UTC itself or North " "American EST and EDT." msgstr "" @@ -2405,11 +2405,11 @@ msgstr "``tz.utcoffset(dt) - tz.dst(dt)``" msgid "" "must return the same result for every :class:`.datetime` *dt* with ``dt." -"tzinfo == tz``. For sane :class:`tzinfo` subclasses, this expression yields " +"tzinfo == tz``. For sane :class:`!tzinfo` subclasses, this expression yields " "the time zone's \"standard offset\", which should not depend on the date or " "the time, but only on geographic location. The implementation of :meth:" "`datetime.astimezone` relies on this, but cannot detect violations; it's the " -"programmer's responsibility to ensure it. If a :class:`tzinfo` subclass " +"programmer's responsibility to ensure it. If a :class:`!tzinfo` subclass " "cannot guarantee this, it may be able to override the default implementation " "of :meth:`tzinfo.fromutc` to work correctly with :meth:`~.datetime." "astimezone` regardless." @@ -2421,24 +2421,28 @@ msgid "" msgstr "" msgid "" -"def dst(self, dt):\n" +"import datetime as dt\n" +"\n" +"def dst(self, when):\n" " # a fixed-offset class: doesn't account for DST\n" -" return timedelta(0)" +" return dt.timedelta(0)" msgstr "" msgid "or::" msgstr "lub::" msgid "" -"def dst(self, dt):\n" +"import datetime as dt\n" +"\n" +"def dst(self, when):\n" " # Code to set dston and dstoff to the time zone's DST\n" -" # transition times based on the input dt.year, and expressed\n" +" # transition times based on the input when.year, and expressed\n" " # in standard local time.\n" "\n" -" if dston <= dt.replace(tzinfo=None) < dstoff:\n" -" return timedelta(hours=1)\n" +" if dston <= when.replace(tzinfo=None) < dstoff:\n" +" return dt.timedelta(hours=1)\n" " else:\n" -" return timedelta(0)" +" return dt.timedelta(0)" msgstr "" msgid "" @@ -2454,7 +2458,7 @@ msgid "" "all valid replies. Return ``None`` if a string name isn't known. Note that " "this is a method rather than a fixed string primarily because some :class:" "`tzinfo` subclasses will wish to return different names depending on the " -"specific value of *dt* passed, especially if the :class:`tzinfo` class is " +"specific value of *dt* passed, especially if the :class:`!tzinfo` class is " "accounting for daylight time." msgstr "" @@ -2465,10 +2469,10 @@ msgstr "" msgid "" "These methods are called by a :class:`.datetime` or :class:`.time` object, " -"in response to their methods of the same names. A :class:`.datetime` object " -"passes itself as the argument, and a :class:`.time` object passes ``None`` " +"in response to their methods of the same names. A :class:`!datetime` object " +"passes itself as the argument, and a :class:`!time` object passes ``None`` " "as the argument. A :class:`tzinfo` subclass's methods should therefore be " -"prepared to accept a *dt* argument of ``None``, or of class :class:`." +"prepared to accept a *dt* argument of ``None``, or of class :class:`!" "datetime`." msgstr "" @@ -2481,10 +2485,10 @@ msgid "" msgstr "" msgid "" -"When a :class:`.datetime` object is passed in response to a :class:`." +"When a :class:`.datetime` object is passed in response to a :class:`!" "datetime` method, ``dt.tzinfo`` is the same object as *self*. :class:" -"`tzinfo` methods can rely on this, unless user code calls :class:`tzinfo` " -"methods directly. The intent is that the :class:`tzinfo` methods interpret " +"`tzinfo` methods can rely on this, unless user code calls :class:`!tzinfo` " +"methods directly. The intent is that the :class:`!tzinfo` methods interpret " "*dt* as being in local time, and not need worry about objects in other time " "zones." msgstr "" @@ -2522,20 +2526,22 @@ msgid "" msgstr "" msgid "" -"def fromutc(self, dt):\n" -" # raise ValueError error if dt.tzinfo is not self\n" -" dtoff = dt.utcoffset()\n" -" dtdst = dt.dst()\n" +"import datetime as dt\n" +"\n" +"def fromutc(self, when):\n" +" # raise ValueError error if when.tzinfo is not self\n" +" dtoff = when.utcoffset()\n" +" dtdst = when.dst()\n" " # raise ValueError if dtoff is None or dtdst is None\n" " delta = dtoff - dtdst # this is self's standard offset\n" " if delta:\n" -" dt += delta # convert to standard local time\n" -" dtdst = dt.dst()\n" +" when += delta # convert to standard local time\n" +" dtdst = when.dst()\n" " # raise ValueError if dtdst is None\n" " if dtdst:\n" -" return dt + dtdst\n" +" return when + dtdst\n" " else:\n" -" return dt" +" return when" msgstr "" msgid "" @@ -2544,71 +2550,73 @@ msgid "" msgstr "" msgid "" -"from datetime import tzinfo, timedelta, datetime\n" -"\n" -"ZERO = timedelta(0)\n" -"HOUR = timedelta(hours=1)\n" -"SECOND = timedelta(seconds=1)\n" +"import datetime as dt\n" "\n" "# A class capturing the platform's idea of local time.\n" "# (May result in wrong values on historical times in\n" "# timezones where UTC offset and/or the DST rules had\n" "# changed in the past.)\n" -"import time as _time\n" +"import time\n" +"\n" +"ZERO = dt.timedelta(0)\n" +"HOUR = dt.timedelta(hours=1)\n" +"SECOND = dt.timedelta(seconds=1)\n" "\n" -"STDOFFSET = timedelta(seconds = -_time.timezone)\n" -"if _time.daylight:\n" -" DSTOFFSET = timedelta(seconds = -_time.altzone)\n" +"STDOFFSET = dt.timedelta(seconds=-time.timezone)\n" +"if time.daylight:\n" +" DSTOFFSET = dt.timedelta(seconds=-time.altzone)\n" "else:\n" " DSTOFFSET = STDOFFSET\n" "\n" "DSTDIFF = DSTOFFSET - STDOFFSET\n" "\n" -"class LocalTimezone(tzinfo):\n" "\n" -" def fromutc(self, dt):\n" -" assert dt.tzinfo is self\n" -" stamp = (dt - datetime(1970, 1, 1, tzinfo=self)) // SECOND\n" -" args = _time.localtime(stamp)[:6]\n" +"class LocalTimezone(dt.tzinfo):\n" +"\n" +" def fromutc(self, when):\n" +" assert when.tzinfo is self\n" +" stamp = (when - dt.datetime(1970, 1, 1, tzinfo=self)) // SECOND\n" +" args = time.localtime(stamp)[:6]\n" " dst_diff = DSTDIFF // SECOND\n" " # Detect fold\n" -" fold = (args == _time.localtime(stamp - dst_diff))\n" -" return datetime(*args, microsecond=dt.microsecond,\n" -" tzinfo=self, fold=fold)\n" +" fold = (args == time.localtime(stamp - dst_diff))\n" +" return dt.datetime(*args, microsecond=when.microsecond,\n" +" tzinfo=self, fold=fold)\n" "\n" -" def utcoffset(self, dt):\n" -" if self._isdst(dt):\n" +" def utcoffset(self, when):\n" +" if self._isdst(when):\n" " return DSTOFFSET\n" " else:\n" " return STDOFFSET\n" "\n" -" def dst(self, dt):\n" -" if self._isdst(dt):\n" +" def dst(self, when):\n" +" if self._isdst(when):\n" " return DSTDIFF\n" " else:\n" " return ZERO\n" "\n" -" def tzname(self, dt):\n" -" return _time.tzname[self._isdst(dt)]\n" +" def tzname(self, when):\n" +" return time.tzname[self._isdst(when)]\n" "\n" -" def _isdst(self, dt):\n" -" tt = (dt.year, dt.month, dt.day,\n" -" dt.hour, dt.minute, dt.second,\n" -" dt.weekday(), 0, 0)\n" -" stamp = _time.mktime(tt)\n" -" tt = _time.localtime(stamp)\n" +" def _isdst(self, when):\n" +" tt = (when.year, when.month, when.day,\n" +" when.hour, when.minute, when.second,\n" +" when.weekday(), 0, 0)\n" +" stamp = time.mktime(tt)\n" +" tt = time.localtime(stamp)\n" " return tt.tm_isdst > 0\n" "\n" +"\n" "Local = LocalTimezone()\n" "\n" "\n" "# A complete implementation of current DST rules for major US time zones.\n" "\n" -"def first_sunday_on_or_after(dt):\n" -" days_to_go = 6 - dt.weekday()\n" +"def first_sunday_on_or_after(when):\n" +" days_to_go = 6 - when.weekday()\n" " if days_to_go:\n" -" dt += timedelta(days_to_go)\n" -" return dt\n" +" when += dt.timedelta(days_to_go)\n" +" return when\n" "\n" "\n" "# US DST Rules\n" @@ -2621,22 +2629,23 @@ msgid "" "#\n" "# In the US, since 2007, DST starts at 2am (standard time) on the second\n" "# Sunday in March, which is the first Sunday on or after Mar 8.\n" -"DSTSTART_2007 = datetime(1, 3, 8, 2)\n" +"DSTSTART_2007 = dt.datetime(1, 3, 8, 2)\n" "# and ends at 2am (DST time) on the first Sunday of Nov.\n" -"DSTEND_2007 = datetime(1, 11, 1, 2)\n" +"DSTEND_2007 = dt.datetime(1, 11, 1, 2)\n" "# From 1987 to 2006, DST used to start at 2am (standard time) on the first\n" "# Sunday in April and to end at 2am (DST time) on the last\n" "# Sunday of October, which is the first Sunday on or after Oct 25.\n" -"DSTSTART_1987_2006 = datetime(1, 4, 1, 2)\n" -"DSTEND_1987_2006 = datetime(1, 10, 25, 2)\n" +"DSTSTART_1987_2006 = dt.datetime(1, 4, 1, 2)\n" +"DSTEND_1987_2006 = dt.datetime(1, 10, 25, 2)\n" "# From 1967 to 1986, DST used to start at 2am (standard time) on the last\n" "# Sunday in April (the one on or after April 24) and to end at 2am (DST " "time)\n" "# on the last Sunday of October, which is the first Sunday\n" "# on or after Oct 25.\n" -"DSTSTART_1967_1986 = datetime(1, 4, 24, 2)\n" +"DSTSTART_1967_1986 = dt.datetime(1, 4, 24, 2)\n" "DSTEND_1967_1986 = DSTEND_1987_2006\n" "\n" +"\n" "def us_dst_range(year):\n" " # Find start and end times for US DST. For years before 1967, return\n" " # start = end for no DST.\n" @@ -2647,17 +2656,17 @@ msgid "" " elif 1966 < year < 1987:\n" " dststart, dstend = DSTSTART_1967_1986, DSTEND_1967_1986\n" " else:\n" -" return (datetime(year, 1, 1), ) * 2\n" +" return (dt.datetime(year, 1, 1), ) * 2\n" "\n" " start = first_sunday_on_or_after(dststart.replace(year=year))\n" " end = first_sunday_on_or_after(dstend.replace(year=year))\n" " return start, end\n" "\n" "\n" -"class USTimeZone(tzinfo):\n" +"class USTimeZone(dt.tzinfo):\n" "\n" " def __init__(self, hours, reprname, stdname, dstname):\n" -" self.stdoffset = timedelta(hours=hours)\n" +" self.stdoffset = dt.timedelta(hours=hours)\n" " self.reprname = reprname\n" " self.stdname = stdname\n" " self.dstname = dstname\n" @@ -2665,45 +2674,45 @@ msgid "" " def __repr__(self):\n" " return self.reprname\n" "\n" -" def tzname(self, dt):\n" -" if self.dst(dt):\n" +" def tzname(self, when):\n" +" if self.dst(when):\n" " return self.dstname\n" " else:\n" " return self.stdname\n" "\n" -" def utcoffset(self, dt):\n" -" return self.stdoffset + self.dst(dt)\n" +" def utcoffset(self, when):\n" +" return self.stdoffset + self.dst(when)\n" "\n" -" def dst(self, dt):\n" -" if dt is None or dt.tzinfo is None:\n" +" def dst(self, when):\n" +" if when is None or when.tzinfo is None:\n" " # An exception may be sensible here, in one or both cases.\n" " # It depends on how you want to treat them. The default\n" " # fromutc() implementation (called by the default astimezone()\n" -" # implementation) passes a datetime with dt.tzinfo is self.\n" +" # implementation) passes a datetime with when.tzinfo is self.\n" " return ZERO\n" -" assert dt.tzinfo is self\n" -" start, end = us_dst_range(dt.year)\n" +" assert when.tzinfo is self\n" +" start, end = us_dst_range(when.year)\n" " # Can't compare naive to aware objects, so strip the timezone from\n" -" # dt first.\n" -" dt = dt.replace(tzinfo=None)\n" -" if start + HOUR <= dt < end - HOUR:\n" +" # when first.\n" +" when = when.replace(tzinfo=None)\n" +" if start + HOUR <= when < end - HOUR:\n" " # DST is in effect.\n" " return HOUR\n" -" if end - HOUR <= dt < end:\n" -" # Fold (an ambiguous hour): use dt.fold to disambiguate.\n" -" return ZERO if dt.fold else HOUR\n" -" if start <= dt < start + HOUR:\n" +" if end - HOUR <= when < end:\n" +" # Fold (an ambiguous hour): use when.fold to disambiguate.\n" +" return ZERO if when.fold else HOUR\n" +" if start <= when < start + HOUR:\n" " # Gap (a non-existent hour): reverse the fold rule.\n" -" return HOUR if dt.fold else ZERO\n" +" return HOUR if when.fold else ZERO\n" " # DST is off.\n" " return ZERO\n" "\n" -" def fromutc(self, dt):\n" -" assert dt.tzinfo is self\n" -" start, end = us_dst_range(dt.year)\n" +" def fromutc(self, when):\n" +" assert when.tzinfo is self\n" +" start, end = us_dst_range(when.year)\n" " start = start.replace(tzinfo=self)\n" " end = end.replace(tzinfo=self)\n" -" std_time = dt + self.stdoffset\n" +" std_time = when + self.stdoffset\n" " dst_time = std_time + HOUR\n" " if end <= dst_time < end + HOUR:\n" " # Repeated hour\n" @@ -2749,9 +2758,9 @@ msgid "" msgstr "" msgid "" -">>> from datetime import datetime, timezone\n" +">>> import datetime as dt\n" ">>> from tzinfo_examples import HOUR, Eastern\n" -">>> u0 = datetime(2016, 3, 13, 5, tzinfo=timezone.utc)\n" +">>> u0 = dt.datetime(2016, 3, 13, 5, tzinfo=dt.timezone.utc)\n" ">>> for i in range(4):\n" "... u = u0 + i*HOUR\n" "... t = u.astimezone(Eastern)\n" @@ -2778,7 +2787,9 @@ msgid "" msgstr "" msgid "" -">>> u0 = datetime(2016, 11, 6, 4, tzinfo=timezone.utc)\n" +">>> import datetime as dt\n" +">>> from tzinfo_examples import HOUR, Eastern\n" +">>> u0 = dt.datetime(2016, 11, 6, 4, tzinfo=dt.timezone.utc)\n" ">>> for i in range(4):\n" "... u = u0 + i*HOUR\n" "... t = u.astimezone(Eastern)\n" @@ -2799,7 +2810,7 @@ msgid "" "Applications that can't bear wall-time ambiguities should explicitly check " "the value of the :attr:`~.datetime.fold` attribute or avoid using hybrid :" "class:`tzinfo` subclasses; there are no ambiguities when using :class:" -"`timezone`, or any other fixed-offset :class:`tzinfo` subclass (such as a " +"`timezone`, or any other fixed-offset :class:`!tzinfo` subclass (such as a " "class representing only EST (fixed offset -5 hours), or only EDT (fixed " "offset -4 hours))." msgstr "" @@ -2829,7 +2840,7 @@ msgid "" "saving rules." msgstr "" -msgid ":class:`timezone` Objects" +msgid ":class:`!timezone` objects" msgstr "" msgid "" @@ -2889,7 +2900,7 @@ msgstr "" msgid "The UTC time zone, ``timezone(timedelta(0))``." msgstr "" -msgid ":meth:`~.datetime.strftime` and :meth:`~.datetime.strptime` Behavior" +msgid ":meth:`!strftime` and :meth:`!strptime` behavior" msgstr "" msgid "" @@ -2916,7 +2927,7 @@ msgid "``strptime``" msgstr "``strptime``" msgid "Usage" -msgstr "" +msgstr "Użytek" msgid "Convert object to a string according to a given format" msgstr "" @@ -2942,8 +2953,7 @@ msgstr "``strftime(format)``" msgid "``strptime(date_string, format)``" msgstr "``strptime(date_string, format)``" -msgid "" -":meth:`~.datetime.strftime` and :meth:`~.datetime.strptime` Format Codes" +msgid ":meth:`!strftime` and :meth:`!strptime` format codes" msgstr "" msgid "" @@ -2952,8 +2962,9 @@ msgid "" msgstr "" msgid "" -">>> datetime.strptime('31/01/22 23:59:59.999999',\n" -"... '%d/%m/%y %H:%M:%S.%f')\n" +">>> import datetime as dt\n" +">>> dt.datetime.strptime('31/01/22 23:59:59.999999',\n" +"... '%d/%m/%y %H:%M:%S.%f')\n" "datetime.datetime(2022, 1, 31, 23, 59, 59, 999999)\n" ">>> _.strftime('%a %d %b %Y, %I:%M%p')\n" "'Mon 31 Jan 2022, 11:59PM'" @@ -3019,7 +3030,7 @@ msgid "01, 02, ..., 31" msgstr "" msgid "\\(9)" -msgstr "" +msgstr "\\(9)" msgid "``%b``" msgstr "``%b``" @@ -3144,7 +3155,7 @@ msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" msgstr "" msgid "\\(6)" -msgstr "" +msgstr "\\(6)" msgid "``%Z``" msgstr "``%Z``" @@ -3250,7 +3261,7 @@ msgid "" msgstr "" msgid "\\(8)" -msgstr "" +msgstr "\\(8)" msgid "``%u``" msgstr "``%u``" @@ -3309,7 +3320,7 @@ msgstr "" msgid "``%:z`` was added." msgstr "" -msgid "Technical Detail" +msgid "Technical detail" msgstr "" msgid "" @@ -3319,9 +3330,34 @@ msgid "" msgstr "" msgid "" -"For the :meth:`.datetime.strptime` class method, the default value is " -"``1900-01-01T00:00:00.000``: any components not specified in the format " -"string will be pulled from the default value. [#]_" +"For the :meth:`.datetime.strptime` and :meth:`.date.strptime` class methods, " +"the default value is ``1900-01-01T00:00:00.000``: any components not " +"specified in the format string will be pulled from the default value." +msgstr "" + +msgid "" +"Format strings without separators can be ambiguous for parsing. For example, " +"with ``%Y%m%d``, the string ``2026111`` may be parsed either as " +"``2026-11-01`` or as ``2026-01-11``. Use separators to ensure the input is " +"parsed as intended." +msgstr "" + +msgid "" +"When used to parse partial dates lacking a year, :meth:`.datetime.strptime` " +"and :meth:`.date.strptime` will raise when encountering February 29 because " +"the default year of 1900 is *not* a leap year. Always add a default leap " +"year to partial date strings before parsing." +msgstr "" + +msgid "" +">>> import datetime as dt\n" +">>> value = \"2/29\"\n" +">>> dt.datetime.strptime(value, \"%m/%d\")\n" +"Traceback (most recent call last):\n" +"...\n" +"ValueError: day 29 must be in range 1..28 for month 2 in year 1900\n" +">>> dt.datetime.strptime(f\"1904 {value}\", \"%Y %m/%d\")\n" +"datetime.datetime(1904, 2, 29, 0, 0)" msgstr "" msgid "Using ``datetime.strptime(date_string, format)`` is equivalent to::" @@ -3479,13 +3515,13 @@ msgid "" "include a year in the format. If the value you need to parse lacks a year, " "append an explicit dummy leap year. Otherwise your code will raise an " "exception when it encounters leap day because the default year used by the " -"parser is not a leap year. Users run into this bug every four years..." +"parser (1900) is not a leap year. Users run into that bug every leap year." msgstr "" msgid "" ">>> month_day = \"02/29\"\n" -">>> datetime.strptime(f\"{month_day};1984\", \"%m/%d;%Y\") # No leap year " -"bug.\n" +">>> dt.datetime.strptime(f\"{month_day};1984\", \"%m/%d;%Y\") # No leap " +"year bug.\n" "datetime.datetime(1984, 2, 29, 0, 0)" msgstr "" @@ -3499,7 +3535,7 @@ msgstr "" msgid "Footnotes" msgstr "Przypisy" -msgid "If, that is, we ignore the effects of Relativity" +msgid "If, that is, we ignore the effects of relativity." msgstr "" msgid "" @@ -3516,11 +3552,6 @@ msgid "" "~gent0113/calendar/isocalendar.htm>`_ for a good explanation." msgstr "" -msgid "" -"Passing ``datetime.strptime('Feb 29', '%b %d')`` will fail since 1900 is not " -"a leap year." -msgstr "" - msgid "% (percent)" msgstr "" diff --git a/library/dbm.po b/library/dbm.po index 9586781b0c..6fecfdc87c 100644 --- a/library/dbm.po +++ b/library/dbm.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,9 +27,9 @@ msgid ":mod:`!dbm` --- Interfaces to Unix \"databases\"" msgstr "" msgid "**Source code:** :source:`Lib/dbm/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/dbm/__init__.py`" -msgid ":mod:`dbm` is a generic interface to variants of the DBM database:" +msgid ":mod:`!dbm` is a generic interface to variants of the DBM database:" msgstr "" msgid ":mod:`dbm.sqlite3`" @@ -109,13 +108,13 @@ msgid "``'r'`` (default): |flag_r|" msgstr "" msgid "``'w'``: |flag_w|" -msgstr "" +msgstr "``'w'``: |flag_w|" msgid "``'c'``: |flag_c|" -msgstr "" +msgstr "``'c'``: |flag_c|" msgid "``'n'``: |flag_n|" -msgstr "" +msgstr "``'n'``: |flag_n|" msgid "|mode_param_doc|" msgstr "" @@ -124,11 +123,12 @@ msgid "*file* accepts a :term:`path-like object`." msgstr "" msgid "" -"The object returned by :func:`~dbm.open` supports the same basic " -"functionality as a :class:`dict`; keys and their corresponding values can be " -"stored, retrieved, and deleted, and the :keyword:`in` operator and the :meth:" -"`!keys` method are available, as well as :meth:`!get` and :meth:`!" -"setdefault` methods." +"The object returned by :func:`~dbm.open` supports the basic functionality of " +"mutable :term:`mappings `; keys and their corresponding values can " +"be stored, retrieved, and deleted, and iteration, the :keyword:`in` operator " +"and methods :meth:`!keys`, :meth:`!get`, :meth:`!setdefault` and :meth:`!" +"clear` are available. The :meth:`!keys` method returns a list instead of a " +"view object. The :meth:`!setdefault` method requires two arguments." msgstr "" msgid "" @@ -144,7 +144,7 @@ msgstr "" msgid "" ":meth:`!get` and :meth:`!setdefault` methods are now available for all :mod:" -"`dbm` backends." +"`!dbm` backends." msgstr "" msgid "" @@ -157,6 +157,9 @@ msgid "" "exception instead of :exc:`KeyError`." msgstr "" +msgid ":meth:`!clear` methods are now available for all :mod:`!dbm` backends." +msgstr "" + msgid "" "The following example records some hostnames and a corresponding title, and " "then prints out the contents of the database::" @@ -197,15 +200,15 @@ msgstr "" msgid "The individual submodules are described in the following sections." msgstr "" -msgid ":mod:`dbm.sqlite3` --- SQLite backend for dbm" +msgid ":mod:`!dbm.sqlite3` --- SQLite backend for dbm" msgstr "" msgid "**Source code:** :source:`Lib/dbm/sqlite3.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/dbm/sqlite3.py`" msgid "" "This module uses the standard library :mod:`sqlite3` module to provide an " -"SQLite backend for the :mod:`dbm` module. The files created by :mod:`dbm." +"SQLite backend for the :mod:`!dbm` module. The files created by :mod:`!dbm." "sqlite3` can thus be opened by :mod:`sqlite3`, or any other SQLite browser, " "including the SQLite CLI." msgstr "" @@ -218,10 +221,7 @@ msgid "" "availability` for more information." msgstr "" -msgid "" -"Open an SQLite database. The returned object behaves like a :term:`mapping`, " -"implements a :meth:`!close` method, and supports a \"closing\" context " -"manager via the :keyword:`with` keyword." +msgid "Open an SQLite database." msgstr "" msgid "The path to the database to be opened." @@ -232,20 +232,33 @@ msgid "" "when the database has to be created." msgstr "" -msgid ":mod:`dbm.gnu` --- GNU database manager" +msgid "" +"The returned database object behaves similar to a mutable :term:`mapping`, " +"but the :meth:`!keys` method returns a list, and the :meth:`!setdefault` " +"method requires two arguments. It also supports a \"closing\" context " +"manager via the :keyword:`with` keyword." msgstr "" -msgid "**Source code:** :source:`Lib/dbm/gnu.py`" +msgid "The following method is also provided:" msgstr "" +msgid "Close the SQLite database." +msgstr "" + +msgid ":mod:`!dbm.gnu` --- GNU database manager" +msgstr "" + +msgid "**Source code:** :source:`Lib/dbm/gnu.py`" +msgstr "**Kod źródłowy:** :source:`Lib/dbm/gnu.py`" + msgid "" -"The :mod:`dbm.gnu` module provides an interface to the :abbr:`GDBM (GNU " +"The :mod:`!dbm.gnu` module provides an interface to the :abbr:`GDBM (GNU " "dbm)` library, similar to the :mod:`dbm.ndbm` module, but with additional " "functionality like crash tolerance." msgstr "" msgid "" -"The file formats created by :mod:`dbm.gnu` and :mod:`dbm.ndbm` are " +"The file formats created by :mod:`!dbm.gnu` and :mod:`dbm.ndbm` are " "incompatible and can not be used interchangeably." msgstr "" @@ -255,11 +268,16 @@ msgid "" msgstr "" msgid "" -"Raised on :mod:`dbm.gnu`-specific errors, such as I/O errors. :exc:" +"Raised on :mod:`!dbm.gnu`-specific errors, such as I/O errors. :exc:" "`KeyError` is raised for general mapping errors like specifying an incorrect " "key." msgstr "" +msgid "" +"A string of characters the *flag* parameter of :meth:`~dbm.gnu.open` " +"supports." +msgstr "" + msgid "Open a GDBM database and return a :class:`!gdbm` object." msgstr "" @@ -304,14 +322,23 @@ msgid "If an invalid *flag* argument is passed." msgstr "" msgid "" -"A string of characters the *flag* parameter of :meth:`~dbm.gnu.open` " -"supports." +":class:`!gdbm` objects behave similar to mutable :term:`mappings `, " +"but methods :meth:`!items`, :meth:`!values`, :meth:`!pop`, :meth:`!popitem`, " +"and :meth:`!update` are not supported, the :meth:`!keys` method returns a " +"list, and the :meth:`!setdefault` method requires two arguments. It also " +"supports a \"closing\" context manager via the :keyword:`with` keyword." msgstr "" -msgid "" -":class:`!gdbm` objects behave similar to :term:`mappings `, but :" -"meth:`!items` and :meth:`!values` methods are not supported. The following " -"methods are also provided:" +msgid "Added the :meth:`!get` and :meth:`!setdefault` methods." +msgstr "" + +msgid "Added the :meth:`!clear` method." +msgstr "" + +msgid "The following methods are also provided:" +msgstr "" + +msgid "Close the GDBM database." msgstr "" msgid "" @@ -347,24 +374,23 @@ msgid "" "unwritten data to be written to the disk." msgstr "" -msgid "Close the GDBM database." -msgstr "" - -msgid "Remove all items from the GDBM database." -msgstr "" - -msgid ":mod:`dbm.ndbm` --- New Database Manager" +msgid ":mod:`!dbm.ndbm` --- New Database Manager" msgstr "" msgid "**Source code:** :source:`Lib/dbm/ndbm.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/dbm/ndbm.py`" msgid "" -"The :mod:`dbm.ndbm` module provides an interface to the :abbr:`NDBM (New " +"The :mod:`!dbm.ndbm` module provides an interface to the :abbr:`NDBM (New " "Database Manager)` library. This module can be used with the \"classic\" " "NDBM interface or the :abbr:`GDBM (GNU dbm)` compatibility interface." msgstr "" +msgid "" +"The file formats created by :mod:`dbm.gnu` and :mod:`!dbm.ndbm` are " +"incompatible and can not be used interchangeably." +msgstr "" + msgid "" "The NDBM library shipped as part of macOS has an undocumented limitation on " "the size of values, which can result in corrupted database files when " @@ -373,7 +399,7 @@ msgid "" msgstr "" msgid "" -"Raised on :mod:`dbm.ndbm`-specific errors, such as I/O errors. :exc:" +"Raised on :mod:`!dbm.ndbm`-specific errors, such as I/O errors. :exc:" "`KeyError` is raised for general mapping errors like specifying an incorrect " "key." msgstr "" @@ -389,37 +415,36 @@ msgid "" "extensions)." msgstr "" -msgid "" -":class:`!ndbm` objects behave similar to :term:`mappings `, but :" -"meth:`!items` and :meth:`!values` methods are not supported. The following " -"methods are also provided:" -msgstr "" - msgid "Accepts :term:`path-like object` for filename." msgstr "" -msgid "Close the NDBM database." +msgid "" +":class:`!ndbm` objects behave similar to mutable :term:`mappings `, " +"but methods :meth:`!items`, :meth:`!values`, :meth:`!pop`, :meth:`!popitem`, " +"and :meth:`!update` are not supported, the :meth:`!keys` method returns a " +"list, and the :meth:`!setdefault` method requires two arguments. It also " +"supports a \"closing\" context manager via the :keyword:`with` keyword." msgstr "" -msgid "Remove all items from the NDBM database." +msgid "Close the NDBM database." msgstr "" -msgid ":mod:`dbm.dumb` --- Portable DBM implementation" +msgid ":mod:`!dbm.dumb` --- Portable DBM implementation" msgstr "" msgid "**Source code:** :source:`Lib/dbm/dumb.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/dbm/dumb.py`" msgid "" -"The :mod:`dbm.dumb` module is intended as a last resort fallback for the :" -"mod:`dbm` module when a more robust module is not available. The :mod:`dbm." +"The :mod:`!dbm.dumb` module is intended as a last resort fallback for the :" +"mod:`!dbm` module when a more robust module is not available. The :mod:`!dbm." "dumb` module is not written for speed and is not nearly as heavily used as " "the other database modules." msgstr "" msgid "" -"The :mod:`dbm.dumb` module provides a persistent :class:`dict`-like " -"interface which is written entirely in Python. Unlike other :mod:`dbm` " +"The :mod:`!dbm.dumb` module provides a persistent :class:`dict`-like " +"interface which is written entirely in Python. Unlike other :mod:`!dbm` " "backends, such as :mod:`dbm.gnu`, no external library is required." msgstr "" @@ -427,15 +452,12 @@ msgid "The :mod:`!dbm.dumb` module defines the following:" msgstr "" msgid "" -"Raised on :mod:`dbm.dumb`-specific errors, such as I/O errors. :exc:" +"Raised on :mod:`!dbm.dumb`-specific errors, such as I/O errors. :exc:" "`KeyError` is raised for general mapping errors like specifying an incorrect " "key." msgstr "" -msgid "" -"Open a :mod:`!dbm.dumb` database. The returned database object behaves " -"similar to a :term:`mapping`, in addition to providing :meth:`~dumbdbm.sync` " -"and :meth:`~dumbdbm.close` methods." +msgid "Open a :mod:`!dbm.dumb` database." msgstr "" msgid "" @@ -461,7 +483,7 @@ msgid "" msgstr "" msgid "``'r'``: |flag_r|" -msgstr "" +msgstr "``'r'``: |flag_r|" msgid "``'c'`` (default): |flag_c|" msgstr "" @@ -482,8 +504,13 @@ msgid "" msgstr "" msgid "" -"In addition to the methods provided by the :class:`collections.abc." -"MutableMapping` class, the following methods are provided:" +"The returned database object behaves similar to a mutable :term:`mapping`, " +"but the :meth:`!keys` and :meth:`!items` methods return lists, and the :meth:" +"`!setdefault` method requires two arguments. It also supports a \"closing\" " +"context manager via the :keyword:`with` keyword." +msgstr "" + +msgid "Close the database." msgstr "" msgid "" @@ -491,8 +518,5 @@ msgid "" "the :meth:`shelve.Shelf.sync` method." msgstr "" -msgid "Close the database." -msgstr "" - msgid "databases" msgstr "" diff --git a/library/debug.po b/library/debug.po index 28bfb66998..685398f458 100644 --- a/library/debug.po +++ b/library/debug.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/decimal.po b/library/decimal.po index d9ee37dc25..2b53254225 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Biliński , 2021 -# Stefan Ocetkiewicz , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,20 +27,20 @@ msgid ":mod:`!decimal` --- Decimal fixed-point and floating-point arithmetic" msgstr "" msgid "**Source code:** :source:`Lib/decimal.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/decimal.py`" msgid "" -"The :mod:`decimal` module provides support for fast correctly rounded " +"The :mod:`!decimal` module provides support for fast correctly rounded " "decimal floating-point arithmetic. It offers several advantages over the :" "class:`float` datatype:" msgstr "" msgid "" -"Decimal \"is based on a floating-point model which was designed with people " -"in mind, and necessarily has a paramount guiding principle -- computers must " -"provide an arithmetic that works in the same way as the arithmetic that " -"people learn at school.\" -- excerpt from the decimal arithmetic " -"specification." +"Decimal \"is based on a `floating-point model `__ which was designed with people in mind, " +"and necessarily has a paramount guiding principle -- computers must provide " +"an arithmetic that works in the same way as the arithmetic that people learn " +"at school.\" -- excerpt from the decimal arithmetic specification." msgstr "" msgid "" @@ -136,7 +134,7 @@ msgid "" "Arithmetic Specification `_." msgstr "" -msgid "Quick-start Tutorial" +msgid "Quick-start tutorial" msgstr "" msgid "" @@ -268,6 +266,28 @@ msgid "" "Decimal('0.77')" msgstr "" +msgid "" +"Decimals can be formatted (with :func:`format` built-in or :ref:`f-strings`) " +"in fixed-point or scientific notation, using the same formatting syntax " +"(see :ref:`formatspec`) as builtin :class:`float` type:" +msgstr "" + +msgid "" +">>> format(Decimal('2.675'), \"f\")\n" +"'2.675'\n" +">>> format(Decimal('2.675'), \".2f\")\n" +"'2.68'\n" +">>> f\"{Decimal('2.675'):.2f}\"\n" +"'2.68'\n" +">>> format(Decimal('2.675'), \".2e\")\n" +"'2.68e+0'\n" +">>> with localcontext() as ctx:\n" +"... ctx.rounding = ROUND_DOWN\n" +"... print(format(Decimal('2.675'), \".2f\"))\n" +"...\n" +"2.67" +msgstr "" + msgid "And some mathematical functions are also available to Decimal:" msgstr "" @@ -285,12 +305,12 @@ msgstr "" msgid "" "For more advanced work, it may be useful to create alternate contexts using " -"the Context() constructor. To make an alternate active, use the :func:" +"the :meth:`Context` constructor. To make an alternate active, use the :func:" "`setcontext` function." msgstr "" msgid "" -"In accordance with the standard, the :mod:`decimal` module provides two " +"In accordance with the standard, the :mod:`!decimal` module provides two " "ready to use standard contexts, :const:`BasicContext` and :const:" "`ExtendedContext`. The former is especially useful for debugging because " "many of the traps are enabled:" @@ -1204,43 +1224,40 @@ msgid "" msgstr "" msgid "" -"*prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets the " -"precision for arithmetic operations in the context." +"An integer in the range [``1``, :const:`MAX_PREC`] that sets the precision " +"for arithmetic operations in the context." msgstr "" -msgid "" -"The *rounding* option is one of the constants listed in the section " -"`Rounding Modes`_." +msgid "One of the constants listed in the section `Rounding Modes`_." msgstr "" msgid "" -"The *traps* and *flags* fields list any signals to be set. Generally, new " -"contexts should only set traps and leave the flags clear." +"Lists of any signals to be set. Generally, new contexts should only set " +"traps and leave the flags clear." msgstr "" msgid "" -"The *Emin* and *Emax* fields are integers specifying the outer limits " -"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, " -"``0``], *Emax* in the range [``0``, :const:`MAX_EMAX`]." +"Integers specifying the outer limits allowable for exponents. *Emin* must be " +"in the range [:const:`MIN_EMIN`, ``0``], *Emax* in the range [``0``, :const:" +"`MAX_EMAX`]." msgstr "" msgid "" -"The *capitals* field is either ``0`` or ``1`` (the default). If set to " -"``1``, exponents are printed with a capital ``E``; otherwise, a lowercase " -"``e`` is used: ``Decimal('6.02e+23')``." +"Either ``0`` or ``1`` (the default). If set to ``1``, exponents are printed " +"with a capital ``E``; otherwise, a lowercase ``e`` is used: " +"``Decimal('6.02e+23')``." msgstr "" msgid "" -"The *clamp* field is either ``0`` (the default) or ``1``. If set to ``1``, " -"the exponent ``e`` of a :class:`Decimal` instance representable in this " -"context is strictly limited to the range ``Emin - prec + 1 <= e <= Emax - " -"prec + 1``. If *clamp* is ``0`` then a weaker condition holds: the adjusted " -"exponent of the :class:`Decimal` instance is at most :attr:`~Context.Emax`. " -"When *clamp* is ``1``, a large normal number will, where possible, have its " -"exponent reduced and a corresponding number of zeros added to its " -"coefficient, in order to fit the exponent constraints; this preserves the " -"value of the number but loses information about significant trailing zeros. " -"For example::" +"Either ``0`` (the default) or ``1``. If set to ``1``, the exponent ``e`` of " +"a :class:`Decimal` instance representable in this context is strictly " +"limited to the range ``Emin - prec + 1 <= e <= Emax - prec + 1``. If *clamp* " +"is ``0`` then a weaker condition holds: the adjusted exponent of the :class:" +"`Decimal` instance is at most :attr:`~Context.Emax`. When *clamp* is ``1``, " +"a large normal number will, where possible, have its exponent reduced and a " +"corresponding number of zeros added to its coefficient, in order to fit the " +"exponent constraints; this preserves the value of the number but loses " +"information about significant trailing zeros. For example::" msgstr "" msgid "" @@ -1577,10 +1594,10 @@ msgid "" msgstr "" msgid "32-bit" -msgstr "" +msgstr "32-bit" msgid "64-bit" -msgstr "" +msgstr "64-bit" msgid "``425000000``" msgstr "``425000000``" @@ -1601,10 +1618,10 @@ msgid "``-1999999999999999997``" msgstr "``-1999999999999999997``" msgid "``256``" -msgstr "" +msgstr "``256``" msgid "``512``" -msgstr "" +msgstr "``512``" msgid "" "The value is ``True``. Deprecated, because Python now always has threads." @@ -1791,7 +1808,7 @@ msgid "" " FloatOperation(DecimalException, exceptions.TypeError)" msgstr "" -msgid "Floating-Point Notes" +msgid "Floating-point notes" msgstr "" msgid "Mitigating round-off error with increased precision" @@ -1831,7 +1848,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`decimal` module makes it possible to restore the identities by " +"The :mod:`!decimal` module makes it possible to restore the identities by " "expanding the precision sufficiently to avoid loss of significance:" msgstr "" @@ -1854,7 +1871,7 @@ msgid "Special values" msgstr "" msgid "" -"The number system for the :mod:`decimal` module provides special values " +"The number system for the :mod:`!decimal` module provides special values " "including ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, and two zeros, " "``+0`` and ``-0``." msgstr "" @@ -2133,32 +2150,32 @@ msgid "Decimal FAQ" msgstr "" msgid "" -"Q. It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " +"Q: It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " "to minimize typing when using the interactive interpreter?" msgstr "" -msgid "A. Some users abbreviate the constructor to just a single letter:" +msgid "A: Some users abbreviate the constructor to just a single letter:" msgstr "" msgid "" -"Q. In a fixed-point application with two decimal places, some inputs have " +"Q: In a fixed-point application with two decimal places, some inputs have " "many places and need to be rounded. Others are not supposed to have excess " "digits and need to be validated. What methods should be used?" msgstr "" msgid "" -"A. The :meth:`~Decimal.quantize` method rounds to a fixed number of decimal " +"A: The :meth:`~Decimal.quantize` method rounds to a fixed number of decimal " "places. If the :const:`Inexact` trap is set, it is also useful for " "validation:" msgstr "" msgid "" -"Q. Once I have valid two place inputs, how do I maintain that invariant " +"Q: Once I have valid two place inputs, how do I maintain that invariant " "throughout an application?" msgstr "" msgid "" -"A. Some operations like addition, subtraction, and multiplication by an " +"A: Some operations like addition, subtraction, and multiplication by an " "integer will automatically preserve fixed point. Others operations, like " "division and non-integer multiplication, will change the number of decimal " "places and need to be followed-up with a :meth:`~Decimal.quantize` step:" @@ -2170,22 +2187,22 @@ msgid "" msgstr "" msgid "" -"Q. There are many ways to express the same value. The numbers ``200``, " +"Q: There are many ways to express the same value. The numbers ``200``, " "``200.000``, ``2E2``, and ``.02E+4`` all have the same value at various " "precisions. Is there a way to transform them to a single recognizable " "canonical value?" msgstr "" msgid "" -"A. The :meth:`~Decimal.normalize` method maps all equivalent values to a " +"A: The :meth:`~Decimal.normalize` method maps all equivalent values to a " "single representative:" msgstr "" -msgid "Q. When does rounding occur in a computation?" +msgid "Q: When does rounding occur in a computation?" msgstr "" msgid "" -"A. It occurs *after* the computation. The philosophy of the decimal " +"A: It occurs *after* the computation. The philosophy of the decimal " "specification is that numbers are considered exact and are created " "independent of the current context. They can even have greater precision " "than current context. Computations process with those exact inputs and then " @@ -2207,12 +2224,12 @@ msgid "" msgstr "" msgid "" -"Q. Some decimal values always print with exponential notation. Is there a " +"Q: Some decimal values always print with exponential notation. Is there a " "way to get a non-exponential representation?" msgstr "" msgid "" -"A. For some values, exponential notation is the only way to express the " +"A: For some values, exponential notation is the only way to express the " "number of significant places in the coefficient. For example, expressing " "``5.0E+3`` as ``5000`` keeps the value constant but cannot show the " "original's two-place significance." @@ -2224,11 +2241,11 @@ msgid "" "the value unchanged:" msgstr "" -msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?" +msgid "Q: Is there a way to convert a regular float to a :class:`Decimal`?" msgstr "" msgid "" -"A. Yes, any binary floating-point number can be exactly expressed as a " +"A: Yes, any binary floating-point number can be exactly expressed as a " "Decimal though an exact conversion may take more precision than intuition " "would suggest:" msgstr "" @@ -2241,25 +2258,25 @@ msgstr "" "Decimal('3.141592653589793115997963468544185161590576171875')" msgid "" -"Q. Within a complex calculation, how can I make sure that I haven't gotten a " +"Q: Within a complex calculation, how can I make sure that I haven't gotten a " "spurious result because of insufficient precision or rounding anomalies." msgstr "" msgid "" -"A. The decimal module makes it easy to test results. A best practice is to " +"A: The decimal module makes it easy to test results. A best practice is to " "re-run calculations using greater precision and with various rounding modes. " "Widely differing results indicate insufficient precision, rounding mode " "issues, ill-conditioned inputs, or a numerically unstable algorithm." msgstr "" msgid "" -"Q. I noticed that context precision is applied to the results of operations " +"Q: I noticed that context precision is applied to the results of operations " "but not to the inputs. Is there anything to watch out for when mixing " "values of different precisions?" msgstr "" msgid "" -"A. Yes. The principle is that all values are considered to be exact and so " +"A: Yes. The principle is that all values are considered to be exact and so " "is the arithmetic on those values. Only the results are rounded. The " "advantage for inputs is that \"what you type is what you get\". A " "disadvantage is that the results can look odd if you forget that the inputs " @@ -2293,11 +2310,11 @@ msgid "" "create_decimal` method:" msgstr "" -msgid "Q. Is the CPython implementation fast for large numbers?" +msgid "Q: Is the CPython implementation fast for large numbers?" msgstr "" msgid "" -"A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " +"A: Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " "the decimal module integrate the high speed `libmpdec `_ library for arbitrary precision " "correctly rounded decimal floating-point arithmetic [#]_. ``libmpdec`` uses " diff --git a/library/devmode.po b/library/devmode.po index b158ea98ef..324e4120fd 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/difflib.po b/library/difflib.po index bfc3e48ad6..d0df3e0d56 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!difflib` --- Helpers for computing deltas" msgstr "" msgid "**Source code:** :source:`Lib/difflib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/difflib.py`" msgid "" "This module provides classes and functions for comparing sequences. It can " @@ -270,7 +269,7 @@ msgid "" "*linejunk*: A function that accepts a single string argument, and returns " "true if the string is junk, or false if not. The default is ``None``. There " "is also a module-level function :func:`IS_LINE_JUNK`, which filters out " -"lines without visible characters, except for at most one pound character " +"lines without visible characters, except for at most one hash character " "(``'#'``) -- however the underlying :class:`SequenceMatcher` class does a " "dynamic analysis of which lines are so frequent as to constitute noise, and " "this usually works better than using this function." @@ -351,17 +350,16 @@ msgid "" msgstr "" msgid "" -"`Pattern Matching: The Gestalt Approach `_" +"`Pattern Matching: The Gestalt Approach `_" msgstr "" msgid "" "Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " -"This was published in `Dr. Dobb's Journal `_ in " -"July, 1988." +"This was published in Dr. Dobb's Journal in July, 1988." msgstr "" -msgid "SequenceMatcher Objects" +msgid "SequenceMatcher objects" msgstr "" msgid "The :class:`SequenceMatcher` class has this constructor:" @@ -601,7 +599,7 @@ msgid "" "ratio`:" msgstr "" -msgid "SequenceMatcher Examples" +msgid "SequenceMatcher examples" msgstr "" msgid "This example compares two strings, considering blanks to be \"junk\":" @@ -641,7 +639,7 @@ msgid "" "`SequenceMatcher`." msgstr "" -msgid "Differ Objects" +msgid "Differ objects" msgstr "" msgid "" @@ -696,7 +694,7 @@ msgid "" "IOBase.writelines` method of a file-like object." msgstr "" -msgid "Differ Example" +msgid "Differ example" msgstr "" msgid "" @@ -732,7 +730,7 @@ msgid "" msgstr "" msgid "" -"\"\"\" Command line interface to difflib.py providing diffs in four " +"\"\"\" Command-line interface to difflib.py providing diffs in four " "formats:\n" "\n" "* ndiff: lists every line and highlights interline changes.\n" @@ -743,11 +741,11 @@ msgid "" "\"\"\"\n" "\n" "import sys, os, difflib, argparse\n" -"from datetime import datetime, timezone\n" +"import datetime as dt\n" "\n" "def file_mtime(path):\n" -" t = datetime.fromtimestamp(os.stat(path).st_mtime,\n" -" timezone.utc)\n" +" t = dt.datetime.fromtimestamp(os.stat(path).st_mtime,\n" +" dt.timezone.utc)\n" " return t.astimezone().isoformat()\n" "\n" "def main():\n" diff --git a/library/dis.po b/library/dis.po index 18238e30b6..253acdafe6 100644 --- a/library/dis.po +++ b/library/dis.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!dis` --- Disassembler for Python bytecode" msgstr "" msgid "**Source code:** :source:`Lib/dis.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/dis.py`" msgid "" -"The :mod:`dis` module supports the analysis of CPython :term:`bytecode` by " +"The :mod:`!dis` module supports the analysis of CPython :term:`bytecode` by " "disassembling it. The CPython bytecode which this module takes as an input " "is defined in the file :file:`Include/opcode.h` and used by the compiler and " "the interpreter." @@ -58,8 +56,8 @@ msgstr "" msgid "" "Some instructions are accompanied by one or more inline cache entries, which " "take the form of :opcode:`CACHE` instructions. These instructions are hidden " -"by default, but can be shown by passing ``show_caches=True`` to any :mod:" -"`dis` utility. Furthermore, the interpreter now adapts the bytecode to " +"by default, but can be shown by passing ``show_caches=True`` to any :mod:`!" +"dis` utility. Furthermore, the interpreter now adapts the bytecode to " "specialize it for different runtime conditions. The adaptive bytecode can be " "shown by passing ``adaptive=True``." msgstr "" @@ -119,7 +117,8 @@ msgstr "" msgid "Command-line interface" msgstr "" -msgid "The :mod:`dis` module can be invoked as a script from the command line:" +msgid "" +"The :mod:`!dis` module can be invoked as a script from the command line:" msgstr "" msgid "python -m dis [-h] [-C] [-O] [-P] [-S] [infile]" @@ -255,7 +254,7 @@ msgid "Analysis functions" msgstr "" msgid "" -"The :mod:`dis` module also defines the following analysis functions that " +"The :mod:`!dis` module also defines the following analysis functions that " "convert the input directly to the desired output. They can be useful if only " "a single operation is being performed, so the intermediate analysis object " "isn't useful:" @@ -551,6 +550,15 @@ msgid "" "generate line tracing events." msgstr "" +msgid "" +"Do nothing code. Used by the interpreter to record :monitoring-event:" +"`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events for :mod:`sys." +"monitoring`." +msgstr "" + +msgid "Removes the iterator from the top of the stack." +msgstr "" + msgid "Removes the top-of-stack item::" msgstr "" @@ -689,7 +697,7 @@ msgid "" "end = STACK.pop()\n" "start = STACK.pop()\n" "container = STACK.pop()\n" -"values = STACK.pop()\n" +"value = STACK.pop()\n" "container[start:end] = value" msgstr "" @@ -981,11 +989,6 @@ msgid "" "Pushes the integer ``i`` onto the stack. ``i`` must be in ``range(256)``" msgstr "" -msgid "" -"Pushes ``co_consts[consti]`` onto the stack. Can be used when the constant " -"value is known to be immortal." -msgstr "" - msgid "" "Pushes the value associated with ``co_names[namei]`` onto the stack. The " "name is looked up within the locals, then the globals, then the builtins." @@ -1005,6 +1008,52 @@ msgid "" "bodies." msgstr "" +msgid "" +"Constructs a new :class:`~string.templatelib.Template` instance from a tuple " +"of strings and a tuple of interpolations and pushes the resulting object " +"onto the stack::" +msgstr "" + +msgid "" +"interpolations = STACK.pop()\n" +"strings = STACK.pop()\n" +"STACK.append(_build_template(strings, interpolations))" +msgstr "" + +msgid "" +"Constructs a new :class:`~string.templatelib.Interpolation` instance from a " +"value and its source expression and pushes the resulting object onto the " +"stack." +msgstr "" + +msgid "" +"If no conversion or format specification is present, ``format`` is set to " +"``2``." +msgstr "" + +msgid "" +"If the low bit of ``format`` is set, it indicates that the interpolation " +"contains a format specification." +msgstr "" + +msgid "" +"If ``format >> 2`` is non-zero, it indicates that the interpolation contains " +"a conversion. The value of ``format >> 2`` is the conversion type (``0`` for " +"no conversion, ``1`` for ``!s``, ``2`` for ``!r``, and ``3`` for ``!a``)::" +msgstr "" + +msgid "" +"conversion = format >> 2\n" +"if format & 1:\n" +" format_spec = STACK.pop()\n" +"else:\n" +" format_spec = None\n" +"expression = STACK.pop()\n" +"value = STACK.pop()\n" +"STACK.append(_build_interpolation(value, expression, conversion, " +"format_spec))" +msgstr "" + msgid "" "Creates a tuple consuming *count* items from the stack, and pushes the " "resulting tuple onto the stack::" @@ -1386,7 +1435,7 @@ msgstr "" msgid "" "Pushes a ``NULL`` to the stack. Used in the call sequence to match the " -"``NULL`` pushed by :opcode:`LOAD_METHOD` for non-method calls." +"``NULL`` pushed by :opcode:`!LOAD_METHOD` for non-method calls." msgstr "" msgid "" @@ -1426,6 +1475,13 @@ msgstr "" msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" +msgid "``0x10`` the :term:`annotate function` for the function object" +msgstr "" + +msgid "" +"Added ``0x10`` to indicate the annotate function for the function object." +msgstr "" + msgid "" "Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " "implements::" @@ -1574,7 +1630,7 @@ msgid "" msgstr "" msgid "" -"Pseudo instructions were added to the :mod:`dis` module, and for them it is " +"Pseudo instructions were added to the :mod:`!dis` module, and for them it is " "not true that comparison with ``HAVE_ARGUMENT`` indicates whether they use " "their arg." msgstr "" @@ -1758,6 +1814,10 @@ msgid "" "``SETUP_CLEANUP`` or ``SETUP_WITH``." msgstr "" +msgid "" +"Works as :opcode:`LOAD_CONST`, but is more efficient for immortal objects." +msgstr "" + msgid "" "Undirected relative jump instructions which are replaced by their directed " "(forward/backward) counterparts by the assembler." @@ -1780,11 +1840,6 @@ msgstr "" msgid "This opcode is now a pseudo-instruction." msgstr "" -msgid "" -"Optimized unbound method lookup. Emitted as a ``LOAD_ATTR`` opcode with a " -"flag set in the arg." -msgstr "" - msgid "Opcode collections" msgstr "" diff --git a/library/doctest.po b/library/doctest.po index 76730639c6..7f1f9c5449 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!doctest` --- Test interactive Python examples" msgstr "" msgid "**Source code:** :source:`Lib/doctest.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/doctest.py`" msgid "" -"The :mod:`doctest` module searches for pieces of text that look like " +"The :mod:`!doctest` module searches for pieces of text that look like " "interactive Python sessions, and then executes those sessions to verify that " "they work exactly as shown. There are several common ways to use doctest:" msgstr "" @@ -115,8 +113,8 @@ msgid "" msgstr "" msgid "" -"If you run :file:`example.py` directly from the command line, :mod:`doctest` " -"works its magic:" +"If you run :file:`example.py` directly from the command line, :mod:`!" +"doctest` works its magic:" msgstr "" msgid "" @@ -128,7 +126,7 @@ msgstr "" msgid "" "There's no output! That's normal, and it means all the examples worked. " -"Pass ``-v`` to the script, and :mod:`doctest` prints a detailed log of what " +"Pass ``-v`` to the script, and :mod:`!doctest` prints a detailed log of what " "it's trying, and prints a summary at the end:" msgstr "" @@ -167,8 +165,8 @@ msgid "" msgstr "" msgid "" -"That's all you need to know to start making productive use of :mod:" -"`doctest`! Jump in. The following sections provide full details. Note that " +"That's all you need to know to start making productive use of :mod:`!" +"doctest`! Jump in. The following sections provide full details. Note that " "there are many examples of doctests in the standard Python test suite and " "libraries. Especially useful examples can be found in the standard test " "file :file:`Lib/test/test_doctest/test_doctest.py`." @@ -227,8 +225,8 @@ msgstr "" msgid "" "You can force verbose mode by passing ``verbose=True`` to :func:`testmod`, " -"or prohibit it by passing ``verbose=False``. In either of those cases, " -"``sys.argv`` is not examined by :func:`testmod` (so passing ``-v`` or not " +"or prohibit it by passing ``verbose=False``. In either of those cases, :" +"data:`sys.argv` is not examined by :func:`testmod` (so passing ``-v`` or not " "has no effect)." msgstr "" @@ -299,7 +297,7 @@ msgid "" "As with :func:`testmod`, :func:`testfile` won't display anything unless an " "example fails. If an example does fail, then the failing example(s) and the " "cause(s) of the failure(s) are printed to stdout, using the same format as :" -"func:`testmod`." +"func:`!testmod`." msgstr "" msgid "" @@ -328,7 +326,7 @@ msgid "Command-line Usage" msgstr "" msgid "" -"The :mod:`doctest` module can be invoked as a script from the command line:" +"The :mod:`!doctest` module can be invoked as a script from the command line:" msgstr "" msgid "python -m doctest [-v] [-o OPTION] [-f] file [file ...]" @@ -424,6 +422,16 @@ msgid "" "their contained methods and nested classes." msgstr "" +msgid "" +"``doctest`` can only automatically discover classes and functions that are " +"defined at the module level or inside other classes." +msgstr "" + +msgid "" +"Since nested classes and functions only exist when an outer function is " +"called, they cannot be discovered. Define them outside to make them visible." +msgstr "" + msgid "How are Docstring Examples Recognized?" msgstr "" @@ -538,7 +546,7 @@ msgid "What's the Execution Context?" msgstr "" msgid "" -"By default, each time :mod:`doctest` finds a docstring to test, it uses a " +"By default, each time :mod:`!doctest` finds a docstring to test, it uses a " "*shallow copy* of :mod:`!M`'s globals, so that running tests doesn't change " "the module's real globals, and so that one test in :mod:`!M` can't leave " "behind crumbs that accidentally allow another test to work. This means " @@ -669,7 +677,7 @@ msgid "" "The interactive shell omits the traceback header line for some :exc:" "`SyntaxError`\\ s. But doctest uses the traceback header line to " "distinguish exceptions from non-exceptions. So in the rare case where you " -"need to test a :exc:`SyntaxError` that omits the traceback header, you will " +"need to test a :exc:`!SyntaxError` that omits the traceback header, you will " "need to manually add the traceback header line to your test example." msgstr "" @@ -853,7 +861,7 @@ msgstr "" msgid "" "There is also a way to register new option flag names, though this isn't " -"useful unless you intend to extend :mod:`doctest` internals via subclassing:" +"useful unless you intend to extend :mod:`!doctest` internals via subclassing:" msgstr "" msgid "" @@ -958,12 +966,12 @@ msgid "Warnings" msgstr "" msgid "" -":mod:`doctest` is serious about requiring exact matches in expected output. " -"If even a single character doesn't match, the test fails. This will " -"probably surprise you a few times, as you learn exactly what Python does and " -"doesn't guarantee about output. For example, when printing a set, Python " -"doesn't guarantee that the element is printed in any particular order, so a " -"test like ::" +":mod:`!doctest` is serious about requiring exact matches in expected " +"output. If even a single character doesn't match, the test fails. This " +"will probably surprise you a few times, as you learn exactly what Python " +"does and doesn't guarantee about output. For example, when printing a set, " +"Python doesn't guarantee that the element is printed in any particular " +"order, so a test like ::" msgstr "" msgid "" @@ -1022,17 +1030,17 @@ msgstr "" msgid "" "Floating-point numbers are also subject to small output variations across " -"platforms, because Python defers to the platform C library for float " -"formatting, and C libraries vary widely in quality here. ::" +"platforms, because Python defers to the platform C library for some floating-" +"point calculations, and C libraries vary widely in quality here. ::" msgstr "" msgid "" -">>> 1./7 # risky\n" -"0.14285714285714285\n" -">>> print(1./7) # safer\n" -"0.142857142857\n" -">>> print(round(1./7, 6)) # much safer\n" -"0.142857" +">>> 1000**0.1 # risky\n" +"1.9952623149688797\n" +">>> round(1000**0.1, 9) # safer\n" +"1.995262315\n" +">>> print(f'{1000**0.1:.4f}') # much safer\n" +"1.9953" msgstr "" msgid "" @@ -1125,7 +1133,7 @@ msgstr "" msgid "" "Optional argument *verbose* prints lots of stuff if true, and prints only " "failures if false; by default, or if ``None``, it's true if and only if ``'-" -"v'`` is in ``sys.argv``." +"v'`` is in :data:`sys.argv`." msgstr "" msgid "" @@ -1135,8 +1143,8 @@ msgid "" msgstr "" msgid "" -"Optional argument *optionflags* (default value 0) takes the :ref:`bitwise OR " -"` of option flags. See section :ref:`doctest-options`." +"Optional argument *optionflags* (default value ``0``) takes the :ref:" +"`bitwise OR ` of option flags. See section :ref:`doctest-options`." msgstr "" msgid "" @@ -1240,7 +1248,7 @@ msgstr "" msgid "" "As your collection of doctest'ed modules grows, you'll want a way to run all " -"their doctests systematically. :mod:`doctest` provides two functions that " +"their doctests systematically. :mod:`!doctest` provides two functions that " "can be used to create :mod:`unittest` test suites from modules and text " "files containing doctests. To integrate with :mod:`unittest` test " "discovery, include a :ref:`load_tests ` function in " @@ -1270,8 +1278,8 @@ msgstr "" msgid "" "The returned :class:`unittest.TestSuite` is to be run by the unittest " "framework and runs the interactive examples in each file. If an example in " -"any file fails, then the synthesized unit test fails, and a :exc:" -"`failureException` exception is raised showing the name of the file " +"any file fails, then the synthesized unit test fails, and a :exc:`~unittest." +"TestCase.failureException` exception is raised showing the name of the file " "containing the test and a (sometimes approximate) line number. If all the " "examples in a file are skipped, then the synthesized unit test is also " "marked as skipped." @@ -1316,15 +1324,16 @@ msgstr "" msgid "" "Optional argument *setUp* specifies a set-up function for the test suite. " "This is called before running the tests in each file. The *setUp* function " -"will be passed a :class:`DocTest` object. The setUp function can access the " -"test globals as the *globs* attribute of the test passed." +"will be passed a :class:`DocTest` object. The *setUp* function can access " +"the test globals as the :attr:`~DocTest.globs` attribute of the test passed." msgstr "" msgid "" "Optional argument *tearDown* specifies a tear-down function for the test " "suite. This is called after running the tests in each file. The *tearDown* " -"function will be passed a :class:`DocTest` object. The setUp function can " -"access the test globals as the *globs* attribute of the test passed." +"function will be passed a :class:`DocTest` object. The *tearDown* function " +"can access the test globals as the :attr:`~DocTest.globs` attribute of the " +"test passed." msgstr "" msgid "" @@ -1350,11 +1359,12 @@ msgstr "" msgid "" "The returned :class:`unittest.TestSuite` is to be run by the unittest " -"framework and runs each doctest in the module. If any of the doctests fail, " -"then the synthesized unit test fails, and a :exc:`failureException` " -"exception is raised showing the name of the file containing the test and a " -"(sometimes approximate) line number. If all the examples in a docstring are " -"skipped, then the synthesized unit test is also marked as skipped." +"framework and runs each doctest in the module. Each docstring is run as a " +"separate unit test. If any of the doctests fail, then the synthesized unit " +"test fails, and a :exc:`unittest.TestCase.failureException` exception is " +"raised showing the name of the file containing the test and a (sometimes " +"approximate) line number. If all the examples in a docstring are skipped, " +"then the" msgstr "" msgid "" @@ -1363,6 +1373,12 @@ msgid "" "module calling this function is used." msgstr "" +msgid "" +"Optional argument *globs* is a dictionary containing the initial global " +"variables for the tests. A new copy of this dictionary is created for each " +"test. By default, *globs* is the module's :attr:`~module.__dict__`." +msgstr "" + msgid "" "Optional argument *extraglobs* specifies an extra set of global variables, " "which is merged into *globs*. By default, no extra globals are used." @@ -1375,7 +1391,8 @@ msgstr "" msgid "" "Optional arguments *setUp*, *tearDown*, and *optionflags* are the same as " -"for function :func:`DocFileSuite` above." +"for function :func:`DocFileSuite` above, but they are called for each " +"docstring." msgstr "" msgid "This function uses the same search technique as :func:`testmod`." @@ -1386,13 +1403,6 @@ msgid "" "*module* contains no docstrings instead of raising :exc:`ValueError`." msgstr "" -msgid "" -"When doctests which have been converted to unit tests by :func:" -"`DocFileSuite` or :func:`DocTestSuite` fail, this exception is raised " -"showing the name of the file containing the test and a (sometimes " -"approximate) line number." -msgstr "" - msgid "" "Under the covers, :func:`DocTestSuite` creates a :class:`unittest.TestSuite` " "out of :class:`!doctest.DocTestCase` instances, and :class:`!DocTestCase` is " @@ -1410,21 +1420,21 @@ msgstr "" msgid "" "So both ways of creating a :class:`unittest.TestSuite` run instances of :" "class:`!DocTestCase`. This is important for a subtle reason: when you run :" -"mod:`doctest` functions yourself, you can control the :mod:`doctest` options " -"in use directly, by passing option flags to :mod:`doctest` functions. " -"However, if you're writing a :mod:`unittest` framework, :mod:`unittest` " -"ultimately controls when and how tests get run. The framework author " -"typically wants to control :mod:`doctest` reporting options (perhaps, e.g., " -"specified by command line options), but there's no way to pass options " -"through :mod:`unittest` to :mod:`doctest` test runners." +"mod:`!doctest` functions yourself, you can control the :mod:`!doctest` " +"options in use directly, by passing option flags to :mod:`!doctest` " +"functions. However, if you're writing a :mod:`unittest` framework, :mod:`!" +"unittest` ultimately controls when and how tests get run. The framework " +"author typically wants to control :mod:`!doctest` reporting options " +"(perhaps, e.g., specified by command line options), but there's no way to " +"pass options through :mod:`!unittest` to :mod:`!doctest` test runners." msgstr "" msgid "" -"For this reason, :mod:`doctest` also supports a notion of :mod:`doctest` " +"For this reason, :mod:`!doctest` also supports a notion of :mod:`!doctest` " "reporting flags specific to :mod:`unittest` support, via this function:" msgstr "" -msgid "Set the :mod:`doctest` reporting flags to use." +msgid "Set the :mod:`!doctest` reporting flags to use." msgstr "" msgid "" @@ -1437,12 +1447,12 @@ msgid "" "module :mod:`unittest`: the :meth:`!runTest` method of :class:`!" "DocTestCase` looks at the option flags specified for the test case when the :" "class:`!DocTestCase` instance was constructed. If no reporting flags were " -"specified (which is the typical and expected case), :mod:`!doctest`'s :mod:" -"`unittest` reporting flags are :ref:`bitwise ORed ` into the option " +"specified (which is the typical and expected case), :mod:`!doctest`'s :mod:`!" +"unittest` reporting flags are :ref:`bitwise ORed ` into the option " "flags, and the option flags so augmented are passed to the :class:" "`DocTestRunner` instance created to run the doctest. If any reporting flags " "were specified when the :class:`!DocTestCase` instance was constructed, :mod:" -"`!doctest`'s :mod:`unittest` reporting flags are ignored." +"`!doctest`'s :mod:`!unittest` reporting flags are ignored." msgstr "" msgid "" @@ -1550,7 +1560,7 @@ msgstr "" msgid "" "The name of the file that this :class:`DocTest` was extracted from; or " -"``None`` if the filename is unknown, or if the :class:`DocTest` was not " +"``None`` if the filename is unknown, or if the :class:`!DocTest` was not " "extracted from a file." msgstr "" @@ -1696,10 +1706,10 @@ msgstr "" msgid "" "The globals for each :class:`DocTest` is formed by combining *globs* and " "*extraglobs* (bindings in *extraglobs* override bindings in *globs*). A new " -"shallow copy of the globals dictionary is created for each :class:`DocTest`. " -"If *globs* is not specified, then it defaults to the module's *__dict__*, if " -"specified, or ``{}`` otherwise. If *extraglobs* is not specified, then it " -"defaults to ``{}``." +"shallow copy of the globals dictionary is created for each :class:`!" +"DocTest`. If *globs* is not specified, then it defaults to the module's :" +"attr:`~module.__dict__`, if specified, or ``{}`` otherwise. If *extraglobs* " +"is not specified, then it defaults to ``{}``." msgstr "" msgid "DocTestParser objects" @@ -1720,7 +1730,7 @@ msgstr "" msgid "" "*globs*, *name*, *filename*, and *lineno* are attributes for the new :class:" -"`DocTest` object. See the documentation for :class:`DocTest` for more " +"`!DocTest` object. See the documentation for :class:`DocTest` for more " "information." msgstr "" @@ -1734,7 +1744,7 @@ msgstr "" msgid "" "Divide the given string into examples and intervening text, and return them " "as a list of alternating :class:`Example`\\ s and strings. Line numbers for " -"the :class:`Example`\\ s are 0-based. The optional argument *name* is a " +"the :class:`!Example`\\ s are 0-based. The optional argument *name* is a " "name identifying this string, and is only used for error messages." msgstr "" @@ -1763,7 +1773,7 @@ msgid "" "class:`OutputChecker`. This comparison may be customized with a number of " "option flags; see section :ref:`doctest-options` for more information. If " "the option flags are insufficient, then the comparison may also be " -"customized by passing a subclass of :class:`OutputChecker` to the " +"customized by passing a subclass of :class:`!OutputChecker` to the " "constructor." msgstr "" @@ -1815,7 +1825,7 @@ msgstr "" msgid "" "*example* is the example about to be processed. *test* is the test " -"*containing example*. *out* is the output function that was passed to :meth:" +"containing *example*. *out* is the output function that was passed to :meth:" "`DocTestRunner.run`." msgstr "" @@ -2179,7 +2189,7 @@ msgid "Soapbox" msgstr "" msgid "" -"As mentioned in the introduction, :mod:`doctest` has grown to have three " +"As mentioned in the introduction, :mod:`!doctest` has grown to have three " "primary uses:" msgstr "" @@ -2205,7 +2215,7 @@ msgid "" "often be worth many words. If done with care, the examples will be " "invaluable for your users, and will pay back the time it takes to collect " "them many times over as the years go by and things change. I'm still amazed " -"at how often one of my :mod:`doctest` examples stops working after a " +"at how often one of my :mod:`!doctest` examples stops working after a " "\"harmless\" change." msgstr "" @@ -2249,8 +2259,8 @@ msgid "" msgstr "" msgid "" -"Define a ``__test__`` dictionary mapping from regression test topics to " -"docstrings containing test cases." +"Define a :attr:`~module.__test__` dictionary mapping from regression test " +"topics to docstrings containing test cases." msgstr "" msgid "" diff --git a/library/email.charset.po b/library/email.charset.po index 86388cefd7..768db58003 100644 --- a/library/email.charset.po +++ b/library/email.charset.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`email.charset`: Representing character sets" +msgid ":mod:`!email.charset`: Representing character sets" msgstr "" msgid "**Source code:** :source:`Lib/email/charset.py`" @@ -37,7 +37,7 @@ msgstr "" msgid "" "The remaining text in this section is the original documentation of the " "module." -msgstr "" +msgstr "Решта тексту в цьому розділі є оригінальною документацією модуля." msgid "" "This module provides a class :class:`Charset` for representing character " @@ -90,14 +90,14 @@ msgstr "" msgid "" "If the character set must be encoded before it can be used in an email " -"header, this attribute will be set to ``Charset.QP`` (for quoted-printable), " -"``Charset.BASE64`` (for base64 encoding), or ``Charset.SHORTEST`` for the " +"header, this attribute will be set to ``charset.QP`` (for quoted-printable), " +"``charset.BASE64`` (for base64 encoding), or ``charset.SHORTEST`` for the " "shortest of QP or BASE64 encoding. Otherwise, it will be ``None``." msgstr "" msgid "" "Same as *header_encoding*, but describes the encoding for the mail message's " -"body, which indeed may be different than the header encoding. ``Charset." +"body, which indeed may be different than the header encoding. ``charset." "SHORTEST`` is not allowed for *body_encoding*." msgstr "" @@ -180,8 +180,8 @@ msgid "" msgstr "" msgid "" -"Returns *input_charset* as a string coerced to lower case. :meth:`__repr__` " -"is an alias for :meth:`__str__`." +"Returns *input_charset* as a string coerced to lower case. :meth:`!__repr__` " +"is an alias for :meth:`!__str__`." msgstr "" msgid "" @@ -208,8 +208,8 @@ msgid "" msgstr "" msgid "" -"Optional *header_enc* and *body_enc* is either ``Charset.QP`` for quoted-" -"printable, ``Charset.BASE64`` for base64 encoding, ``Charset.SHORTEST`` for " +"Optional *header_enc* and *body_enc* is either ``charset.QP`` for quoted-" +"printable, ``charset.BASE64`` for base64 encoding, ``charset.SHORTEST`` for " "the shortest of quoted-printable or base64 encoding, or ``None`` for no " "encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " "``None`` for no encoding." diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po index 69b730c0fd..49b980fd7e 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-07-11 14:21+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -122,6 +122,15 @@ msgid "" "method directly. For example::" msgstr "" +msgid "" +"from io import StringIO\n" +"from email.generator import Generator\n" +"fp = StringIO()\n" +"g = Generator(fp, mangle_from_=True, maxheaderlen=60)\n" +"g.flatten(msg)\n" +"text = fp.getvalue()" +msgstr "" + msgid "" "If the message object contains binary data that is not encoded according to " "RFC standards, the non-compliant data will be replaced by unicode \"unknown " @@ -133,7 +142,7 @@ msgid "the *policy* keyword argument was added." msgstr "" msgid "" -"Equivalent to :meth:`.as_string()`. Allows ``str(msg)`` to produce a string " +"Equivalent to :meth:`.as_string`. Allows ``str(msg)`` to produce a string " "containing the formatted message." msgstr "" @@ -156,7 +165,16 @@ msgid "" msgstr "" msgid "" -"Equivalent to :meth:`.as_bytes()`. Allows ``bytes(msg)`` to produce a bytes " +"from io import BytesIO\n" +"from email.generator import BytesGenerator\n" +"fp = BytesIO()\n" +"g = BytesGenerator(fp, mangle_from_=True, maxheaderlen=60)\n" +"g.flatten(msg)\n" +"text = fp.getvalue()" +msgstr "" + +msgid "" +"Equivalent to :meth:`.as_bytes`. Allows ``bytes(msg)`` to produce a bytes " "object containing the formatted message." msgstr "" @@ -178,6 +196,8 @@ msgid "" "Return the message's envelope header. Defaults to ``None`` if the envelope " "header was never set." msgstr "" +"Повернути заголовок конверта повідомлення. За замовчуванням ``None``, якщо " +"заголовок конверта ніколи не встановлювався." msgid "" "Add the given *payload* to the current payload, which must be ``None`` or a " @@ -188,8 +208,8 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by :meth:`~email.message.EmailMessage." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"its functionality is replaced by :meth:`~email.message.EmailMessage." "set_content` and the related ``make`` and ``add`` methods." msgstr "" @@ -235,8 +255,8 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by :meth:`~email.message.EmailMessage." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"its functionality is replaced by :meth:`~email.message.EmailMessage." "get_content` and :meth:`~email.message.EmailMessage.iter_parts`." msgstr "" @@ -247,8 +267,8 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by :meth:`~email.message.EmailMessage." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"its functionality is replaced by :meth:`~email.message.EmailMessage." "set_content`." msgstr "" @@ -279,9 +299,9 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by the *charset* parameter of the :meth:" -"`email.emailmessage.EmailMessage.set_content` method." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"its functionality is replaced by the *charset* parameter of the :meth:`email." +"message.EmailMessage.set_content` method." msgstr "" msgid "" @@ -290,8 +310,8 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class it always returns ``None``." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"it always returns ``None``." msgstr "" msgid "" @@ -315,6 +335,8 @@ msgid "" "Note that in all cases, any envelope header present in the message is not " "included in the mapping interface." msgstr "" +"Зауважте, що в усіх випадках будь-який заголовок конверта, присутній у " +"повідомленні, не включається в інтерфейс зіставлення." msgid "" "In a model generated from bytes, any header values that (in contravention of " @@ -324,7 +346,7 @@ msgid "" msgstr "" msgid "Return the total number of headers, including duplicates." -msgstr "" +msgstr "Повертає загальну кількість заголовків, включаючи дублікати." msgid "" "Return ``True`` if the message object has a field named *name*. Matching is " @@ -332,6 +354,11 @@ msgid "" "Used for the ``in`` operator, e.g.::" msgstr "" +msgid "" +"if 'message-id' in myMessage:\n" +" print('Message-ID:', myMessage['message-id'])" +msgstr "" + msgid "" "Return the value of the named header field. *name* should not include the " "colon field separator. If the header is missing, ``None`` is returned; a :" @@ -355,28 +382,40 @@ msgid "" "same name. If you want to ensure that the new header is the only one " "present in the message with field name *name*, delete the field first, e.g.::" msgstr "" +"Зауважте, що це *не* перезаписує та не видаляє будь-який існуючий заголовок " +"із такою ж назвою. Якщо ви хочете переконатися, що новий заголовок є єдиним " +"у повідомленні з назвою поля *name*, спочатку видаліть це поле, наприклад::" + +msgid "" +"del msg['subject']\n" +"msg['subject'] = 'Python roolz!'" +msgstr "" msgid "" "Delete all occurrences of the field with name *name* from the message's " "headers. No exception is raised if the named field isn't present in the " "headers." msgstr "" +"Видалити всі входження поля з назвою *ім’я* із заголовків повідомлення. " +"Жодного винятку не створюється, якщо назване поле відсутнє в заголовках." msgid "Return a list of all the message's header field names." -msgstr "" +msgstr "Повертає список імен усіх полів заголовка повідомлення." msgid "Return a list of all the message's field values." -msgstr "" +msgstr "Повертає список усіх значень полів повідомлення." msgid "" "Return a list of 2-tuples containing all the message's field headers and " "values." msgstr "" +"Повертає список із двох кортежів, що містить усі заголовки та значення полів " +"повідомлення." msgid "" "Return the value of the named header field. This is identical to :meth:" -"`__getitem__` except that optional *failobj* is returned if the named header " -"is missing (defaults to ``None``)." +"`~object.__getitem__` except that optional *failobj* is returned if the " +"named header is missing (defaults to ``None``)." msgstr "" msgid "Here are some additional useful methods:" @@ -387,6 +426,9 @@ msgid "" "such named headers in the message, *failobj* is returned (defaults to " "``None``)." msgstr "" +"Повертає список усіх значень для поля з назвою *name*. Якщо в повідомленні " +"немає таких іменованих заголовків, повертається *failobj* (за замовчуванням " +"``None``)." msgid "" "Extended header setting. This method is similar to :meth:`__setitem__` " @@ -394,6 +436,10 @@ msgid "" "arguments. *_name* is the header field to add and *_value* is the *primary* " "value for the header." msgstr "" +"Розширене налаштування заголовка. Цей метод подібний до :meth:`__setitem__` " +"за винятком того, що додаткові параметри заголовка можуть бути надані як " +"аргументи ключового слова. *_name* — це поле заголовка, яке потрібно додати, " +"а *_value* — це *основне* значення для заголовка." msgid "" "For each item in the keyword argument dictionary *_params*, the key is taken " @@ -412,17 +458,32 @@ msgid "" msgstr "" msgid "Here's an example::" +msgstr "Ось приклад::" + +msgid "msg.add_header('Content-Disposition', 'attachment', filename='bud.gif')" msgstr "" msgid "This will add a header that looks like ::" +msgstr "Це додасть заголовок, який виглядає так::" + +msgid "Content-Disposition: attachment; filename=\"bud.gif\"" msgstr "" msgid "An example with non-ASCII characters::" msgstr "" +msgid "" +"msg.add_header('Content-Disposition', 'attachment',\n" +" filename=('iso-8859-1', '', 'Fußballer.ppt'))" +msgstr "" + msgid "Which produces ::" msgstr "" +msgid "" +"Content-Disposition: attachment; filename*=\"iso-8859-1''Fu%DFballer.ppt\"" +msgstr "" + msgid "" "Replace a header. Replace the first header found in the message that " "matches *_name*, retaining header order and field name case. If no matching " @@ -450,11 +511,15 @@ msgid "" "Return the message's main content type. This is the :mimetype:`maintype` " "part of the string returned by :meth:`get_content_type`." msgstr "" +"Повернути основний тип вмісту повідомлення. Це :mimetype:`maintype` частина " +"рядка, яку повертає :meth:`get_content_type`." msgid "" "Return the message's sub-content type. This is the :mimetype:`subtype` part " "of the string returned by :meth:`get_content_type`." msgstr "" +"Повернути тип підвмісту повідомлення. Це :mimetype:`subtype` частина рядка, " +"яку повертає :meth:`get_content_type`." msgid "" "Return the default content type. Most messages have a default content type " @@ -462,6 +527,10 @@ msgid "" "mimetype:`multipart/digest` containers. Such subparts have a default " "content type of :mimetype:`message/rfc822`." msgstr "" +"Повернути типовий тип вмісту. Більшість повідомлень мають стандартний тип " +"вмісту :mimetype:`text/plain`, за винятком повідомлень, які є підчастинами " +"контейнерів :mimetype:`multipart/digest`. Такі підчастини мають типовий тип " +"вмісту :mimetype:`message/rfc822`." msgid "" "Set the default content type. *ctype* should either be :mimetype:`text/" @@ -485,9 +554,9 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by the *params* property of the " -"individual header objects returned by the header access methods." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"its functionality is replaced by the *params* property of the individual " +"header objects returned by the header access methods." msgstr "" msgid "" @@ -519,6 +588,11 @@ msgid "" "value is a tuple, or the original string unquoted if it isn't. For example::" msgstr "" +msgid "" +"rawparam = msg.get_param('foo')\n" +"param = email.utils.collapse_rfc2231_value(rawparam)" +msgstr "" + msgid "" "In any case, the parameter value (either the returned string, or the " "``VALUE`` item in the 3-tuple) is always unquoted, unless *unquote* is set " @@ -551,9 +625,12 @@ msgid "" "the list of headers. If *replace* is ``True``, the header will be updated " "in place." msgstr "" +"Якщо *replace* має значення ``False`` (за замовчуванням), заголовок " +"переміщується в кінець списку заголовків. Якщо *replace* має значення " +"``True``, заголовок буде оновлено на місці." msgid "``replace`` keyword was added." -msgstr "" +msgstr "Додано ключове слово ``replace``." msgid "" "Remove the given parameter completely from the :mailheader:`Content-Type` " @@ -583,8 +660,8 @@ msgid "" msgstr "" msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by the ``make_`` and ``add_`` methods." +"This is a legacy method. On the :class:`~email.message.EmailMessage` class " +"its functionality is replaced by the ``make_`` and ``add_`` methods." msgstr "" msgid "" @@ -595,6 +672,12 @@ msgid "" "the header is missing, then *failobj* is returned. The returned string will " "always be unquoted as per :func:`email.utils.unquote`." msgstr "" +"Повертає значення параметра ``filename`` заголовка :mailheader:`Content-" +"Disposition` повідомлення. Якщо заголовок не має параметра ``filename``, цей " +"метод повертається до пошуку параметра ``name`` у заголовку :mailheader:" +"`Content-Type`. Якщо нічого не знайдено або відсутній заголовок, " +"повертається *failobj*. Повернений рядок завжди буде без лапок відповідно " +"до :func:`email.utils.unquote`." msgid "" "Return the value of the ``boundary`` parameter of the :mailheader:`Content-" @@ -602,6 +685,10 @@ msgid "" "or has no ``boundary`` parameter. The returned string will always be " "unquoted as per :func:`email.utils.unquote`." msgstr "" +"Повертає значення параметра ``boundary`` заголовка :mailheader:`Content-" +"Type` повідомлення або *failobj*, якщо заголовок відсутній або не має " +"параметра ``boundary``. Повернений рядок завжди буде без лапок відповідно " +"до :func:`email.utils.unquote`." msgid "" "Set the ``boundary`` parameter of the :mailheader:`Content-Type` header to " @@ -609,6 +696,10 @@ msgid "" "necessary. A :exc:`~email.errors.HeaderParseError` is raised if the message " "object has no :mailheader:`Content-Type` header." msgstr "" +"Установіть для параметра ``boundary`` заголовка :mailheader:`Content-Type` " +"значення *boundary*. :meth:`set_boundary` завжди братиме *boundary* у лапки, " +"якщо необхідно. Помилка :exc:`~email.errors.HeaderParseError` виникає, якщо " +"об’єкт повідомлення не має заголовка :mailheader:`Content-Type`." msgid "" "Note that using this method is subtly different than deleting the old :" @@ -624,6 +715,9 @@ msgid "" "coerced to lower case. If there is no :mailheader:`Content-Type` header, or " "if that header has no ``charset`` parameter, *failobj* is returned." msgstr "" +"Повертає параметр ``charset`` заголовка :mailheader:`Content-Type` у " +"нижньому регістрі. Якщо немає заголовка :mailheader:`Content-Type` або цей " +"заголовок не має параметра ``charset``, повертається *failobj*." msgid "" "Note that this method differs from :meth:`get_charset` which returns the :" @@ -636,6 +730,9 @@ msgid "" "message is a :mimetype:`multipart`, then the list will contain one element " "for each subpart in the payload, otherwise, it will be a list of length 1." msgstr "" +"Повернути список із назвами наборів символів у повідомленні. Якщо " +"повідомлення є :mimetype:`multipart`, тоді список міститиме один елемент для " +"кожної підчастини в корисному навантаженні, інакше це буде список довжиною 1." msgid "" "Each item in the list will be a string which is the value of the ``charset`` " @@ -651,6 +748,10 @@ msgid "" "possible values for this method are *inline*, *attachment* or ``None`` if " "the message follows :rfc:`2183`." msgstr "" +"Повертає значення в нижньому регістрі (без параметрів) заголовка " +"повідомлення :mailheader:`Content-Disposition`, якщо воно є, або ``None``. " +"Можливі значення для цього методу: *inline*, *attachment* або ``None``, якщо " +"повідомлення слідує за :rfc:`2183`." msgid "" "The :meth:`walk` method is an all-purpose generator which can be used to " @@ -658,11 +759,29 @@ msgid "" "first traversal order. You will typically use :meth:`walk` as the iterator " "in a ``for`` loop; each iteration returns the next subpart." msgstr "" +"Метод :meth:`walk` — це універсальний генератор, який можна використовувати " +"для перебору всіх частин і підчастин дерева об’єктів повідомлення в порядку " +"проходження спочатку в глибину. Ви зазвичай використовуєте :meth:`walk` як " +"ітератор у циклі ``for``; кожна ітерація повертає наступну підчастину." msgid "" "Here's an example that prints the MIME type of every part of a multipart " "message structure:" msgstr "" +"Ось приклад, який друкує тип MIME кожної частини структури повідомлення, що " +"складається з кількох частин:" + +msgid "" +">>> for part in msg.walk():\n" +"... print(part.get_content_type())\n" +"multipart/report\n" +"text/plain\n" +"message/delivery-status\n" +"text/plain\n" +"text/plain\n" +"message/rfc822\n" +"text/plain" +msgstr "" msgid "" "``walk`` iterates over the subparts of any part where :meth:`is_multipart` " @@ -670,12 +789,39 @@ msgid "" "may return ``False``. We can see this in our example by making use of the " "``_structure`` debug helper function:" msgstr "" +"``walk`` повторює підчастини будь-якої частини, де :meth:`is_multipart` " +"повертає ``True``, навіть якщо ``msg.get_content_maintype() == 'multipart'`` " +"може повернути ``False``. Ми можемо побачити це в нашому прикладі, " +"використовуючи допоміжну функцію налагодження ``_structure``:" + +msgid "" +">>> for part in msg.walk():\n" +"... print(part.get_content_maintype() == 'multipart',\n" +"... part.is_multipart())\n" +"True True\n" +"False False\n" +"False True\n" +"False False\n" +"False False\n" +"False True\n" +"False False\n" +">>> _structure(msg)\n" +"multipart/report\n" +" text/plain\n" +" message/delivery-status\n" +" text/plain\n" +" text/plain\n" +" message/rfc822\n" +" text/plain" +msgstr "" msgid "" "Here the ``message`` parts are not ``multiparts``, but they do contain " "subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the " "subparts." msgstr "" +"Тут частини ``message`` не є ``multiparts``, але вони містять підчастини. " +"``is_multipart()`` повертає ``True`` і ``walk`` спускається до підчастин." msgid "" ":class:`Message` objects can also optionally contain two instance " @@ -691,6 +837,13 @@ msgid "" "message, or when viewing the message in a non-MIME aware reader, this text " "can become visible." msgstr "" +"Формат документа MIME допускає деякий текст між порожнім рядком після " +"заголовків і першим обмежувальним рядком із складених частин. Зазвичай цей " +"текст ніколи не відображається в програмі читання пошти з підтримкою MIME, " +"оскільки він виходить за межі стандартної броні MIME. Однак під час " +"перегляду необробленого тексту повідомлення або під час перегляду " +"повідомлення в програмі читання, яка не підтримує MIME, цей текст може стати " +"видимим." msgid "" "The *preamble* attribute contains this leading extra-armor text for MIME " @@ -702,11 +855,21 @@ msgid "" "in the area between the headers and the first boundary. See :mod:`email." "parser` and :mod:`email.generator` for details." msgstr "" +"Атрибут *преамбула* містить цей провідний додатковий текст для документів " +"MIME. Коли :class:`~email.parser.Parser` виявляє текст після заголовків, але " +"перед першим обмежувальним рядком, він призначає цей текст атрибуту " +"*преамбула* повідомлення. Коли :class:`~email.generator.Generator` записує " +"звичайне текстове представлення повідомлення MIME і виявляє, що повідомлення " +"має атрибут *преамбула*, він записує цей текст у область між заголовками та " +"перша межа. Перегляньте :mod:`email.parser` і :mod:`email.generator` для " +"деталей." msgid "" "Note that if the message object has no preamble, the *preamble* attribute " "will be ``None``." msgstr "" +"Зауважте, що якщо об’єкт повідомлення не має преамбули, атрибут *preamble* " +"матиме значення ``None``." msgid "" "The *epilogue* attribute acts the same way as the *preamble* attribute, " @@ -724,3 +887,6 @@ msgid "" "parsing this message. See :mod:`email.errors` for a detailed description of " "the possible parsing defects." msgstr "" +"Атрибут *defects* містить список усіх проблем, виявлених під час аналізу " +"цього повідомлення. Перегляньте :mod:`email.errors` для детального опису " +"можливих дефектів аналізу." diff --git a/library/email.contentmanager.po b/library/email.contentmanager.po index 63ebe7cf7f..2b9eb6e54e 100644 --- a/library/email.contentmanager.po +++ b/library/email.contentmanager.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!email.contentmanager`: Managing MIME Content" msgstr "" msgid "**Source code:** :source:`Lib/email/contentmanager.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/contentmanager.py`" msgid "[1]_" -msgstr "" +msgstr "[1]_" msgid "" "Base class for content managers. Provides the standard registry mechanisms " diff --git a/library/email.encoders.po b/library/email.encoders.po index b58bac1714..9081600325 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!email.encoders`: Encoders" msgstr "" msgid "**Source code:** :source:`Lib/email/encoders.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/encoders.py`" msgid "" "This module is part of the legacy (``Compat32``) email API. In the new API " @@ -55,9 +55,9 @@ msgid "" msgstr "" msgid "" -"The :mod:`email` package provides some convenient encoders in its :mod:" -"`~email.encoders` module. These encoders are actually used by the :class:" -"`~email.mime.audio.MIMEAudio` and :class:`~email.mime.image.MIMEImage` class " +"The :mod:`email` package provides some convenient encoders in its :mod:`!" +"encoders` module. These encoders are actually used by the :class:`~email." +"mime.audio.MIMEAudio` and :class:`~email.mime.image.MIMEImage` class " "constructors to provide default encodings. All encoder functions take " "exactly one argument, the message object to encode. They usually extract " "the payload, encode it, and reset the payload to this newly encoded value. " diff --git a/library/email.examples.po b/library/email.examples.po index e41b6d6f60..e2363d84ad 100644 --- a/library/email.examples.po +++ b/library/email.examples.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/email.generator.po b/library/email.generator.po index cd23a98225..baf625d4f3 100644 --- a/library/email.generator.po +++ b/library/email.generator.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!email.generator`: Generating MIME documents" msgstr "" msgid "**Source code:** :source:`Lib/email/generator.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/generator.py`" msgid "" "One of the most common tasks is to generate the flat (serialized) version of " @@ -226,7 +225,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`email.generator` module also provides a derived class, :class:" +"The :mod:`!email.generator` module also provides a derived class, :class:" "`DecodedGenerator`, which is like the :class:`Generator` base class, except " "that non-\\ :mimetype:`text` parts are not serialized, but are instead " "represented in the output stream by a string derived from a template filled " diff --git a/library/email.header.po b/library/email.header.po index a6007542ba..c9723e92cf 100644 --- a/library/email.header.po +++ b/library/email.header.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!email.header`: Internationalized headers" msgstr "" msgid "**Source code:** :source:`Lib/email/header.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/header.py`" msgid "" "This module is part of the legacy (``Compat32``) email API. In the current " @@ -59,7 +59,7 @@ msgid "" "been written describing how to encode email containing non-ASCII characters " "into :rfc:`2822`\\ -compliant format. These RFCs include :rfc:`2045`, :rfc:" "`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports " -"these standards in its :mod:`email.header` and :mod:`email.charset` modules." +"these standards in its :mod:`!email.header` and :mod:`email.charset` modules." msgstr "" msgid "" @@ -67,8 +67,8 @@ msgid "" "the :mailheader:`Subject` or :mailheader:`To` fields, you should use the :" "class:`Header` class and assign the field in the :class:`~email.message." "Message` object to an instance of :class:`Header` instead of using a string " -"for the header value. Import the :class:`Header` class from the :mod:`email." -"header` module. For example::" +"for the header value. Import the :class:`Header` class from the :mod:`!" +"email.header` module. For example::" msgstr "" msgid "" @@ -228,7 +228,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`email.header` module also provides the following convenient " +"The :mod:`!email.header` module also provides the following convenient " "functions." msgstr "" @@ -237,24 +237,38 @@ msgid "" "header value is in *header*." msgstr "" +msgid "For historical reasons, this function may return either:" +msgstr "" + +msgid "" +"A list of pairs containing each of the decoded parts of the header, " +"``(decoded_bytes, charset)``, where *decoded_bytes* is always an instance " +"of :class:`bytes`, and *charset* is either:" +msgstr "" + +msgid "A lower case string containing the name of the character set specified." +msgstr "" + +msgid "``None`` for non-encoded parts of the header." +msgstr "" + +msgid "" +"A list of length 1 containing a pair ``(string, None)``, where *string* is " +"always an instance of :class:`str`." +msgstr "" + msgid "" -"This function returns a list of ``(decoded_string, charset)`` pairs " -"containing each of the decoded parts of the header. *charset* is ``None`` " -"for non-encoded parts of the header, otherwise a lower case string " -"containing the name of the character set specified in the encoded string." +"An :exc:`email.errors.HeaderParseError` may be raised when certain decoding " +"errors occur (e.g. a base64 decoding exception)." msgstr "" -msgid "Here's an example::" +msgid "Here are examples:" msgstr "" msgid "" -">>> from email.header import decode_header\n" -">>> decode_header('=?iso-8859-1?q?p=F6stal?=')\n" -"[(b'p\\xf6stal', 'iso-8859-1')]" +"This function exists for backwards compatibility only. For new code, we " +"recommend using :class:`email.headerregistry.HeaderRegistry`." msgstr "" -">>> from email.header import decode_header\n" -">>> decode_header('=?iso-8859-1?q?p=F6stal?=')\n" -"[(b'p\\xf6stal', 'iso-8859-1')]" msgid "" "Create a :class:`Header` instance from a sequence of pairs as returned by :" @@ -272,3 +286,8 @@ msgid "" "`Header` instance. Optional *maxlinelen*, *header_name*, and " "*continuation_ws* are as in the :class:`Header` constructor." msgstr "" + +msgid "" +"This function exists for backwards compatibility only, and is not " +"recommended for use in new code." +msgstr "" diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index c988af643e..67bd5b0a9d 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!email.headerregistry`: Custom Header Objects" msgstr "" msgid "**Source code:** :source:`Lib/email/headerregistry.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/headerregistry.py`" msgid "[1]_" -msgstr "" +msgstr "[1]_" msgid "" "Headers are represented by customized subclasses of :class:`str`. The " @@ -397,7 +396,7 @@ msgid "resent-cc" msgstr "" msgid "bcc" -msgstr "" +msgstr "bcc" msgid "resent-bcc" msgstr "" diff --git a/library/email.message.po b/library/email.message.po index dec623003e..70f36721ec 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,14 +27,14 @@ msgid ":mod:`!email.message`: Representing an email message" msgstr "" msgid "**Source code:** :source:`Lib/email/message.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/message.py`" msgid "[1]_" -msgstr "" +msgstr "[1]_" msgid "" "The central class in the :mod:`email` package is the :class:`EmailMessage` " -"class, imported from the :mod:`email.message` module. It is the base class " +"class, imported from the :mod:`!email.message` module. It is the base class " "for the :mod:`email` object model. :class:`EmailMessage` provides the core " "functionality for setting and querying header fields, for accessing message " "bodies, and for creating or modifying structured messages." @@ -85,7 +85,7 @@ msgid "" "`~email.policy.default` policy, which follows the rules of the email RFCs " "except for line endings (instead of the RFC mandated ``\\r\\n``, it uses the " "Python standard ``\\n`` line endings). For more information see the :mod:" -"`~email.policy` documentation." +"`~email.policy` documentation. [2]_" msgstr "" msgid "" @@ -774,3 +774,11 @@ msgid "" "Originally added in 3.4 as a :term:`provisional module `. Docs for legacy message class moved to :ref:`compat32_message`." msgstr "" + +msgid "" +"The :class:`EmailMessage` class requires a policy that provides a " +"``content_manager`` attribute for content management methods like " +"``set_content()`` and ``get_content()`` to work. The legacy :const:`~email." +"policy.compat32` policy does not support these methods and should not be " +"used with :class:`EmailMessage`." +msgstr "" diff --git a/library/email.mime.po b/library/email.mime.po index 3ab18d1a50..d3a04177de 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,11 +23,11 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`email.mime`: Creating email and MIME objects from scratch" +msgid ":mod:`!email.mime`: Creating email and MIME objects from scratch" msgstr "" msgid "**Source code:** :source:`Lib/email/mime/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/mime/`" msgid "" "This module is part of the legacy (``Compat32``) email API. Its " @@ -138,7 +138,7 @@ msgid "" msgstr "" msgid "Module: :mod:`email.mime.application`" -msgstr "" +msgstr "Moduł: :mod:`email.mime.application`" msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" diff --git a/library/email.parser.po b/library/email.parser.po index be98cfbb25..4d7a67e634 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-24 14:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!email.parser`: Parsing email messages" msgstr "" msgid "**Source code:** :source:`Lib/email/parser.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/parser.py`" msgid "" "Message object structures can be created in one of two ways: they can be " @@ -150,7 +150,7 @@ msgid "" "Works like :class:`BytesFeedParser` except that the input to the :meth:" "`~BytesFeedParser.feed` method must be a string. This is of limited " "utility, since the only way for such a message to be valid is for it to " -"contain only ASCII text or, if :attr:`~email.policy.Policy.utf8` is " +"contain only ASCII text or, if :attr:`~email.policy.EmailPolicy.utf8` is " "``True``, no binary attachments." msgstr "" @@ -158,10 +158,10 @@ msgid "Parser API" msgstr "" msgid "" -"The :class:`BytesParser` class, imported from the :mod:`email.parser` " +"The :class:`BytesParser` class, imported from the :mod:`!email.parser` " "module, provides an API that can be used to parse a message when the " "complete contents of the message are available in a :term:`bytes-like " -"object` or file. The :mod:`email.parser` module also provides :class:" +"object` or file. The :mod:`!email.parser` module also provides :class:" "`Parser` for parsing strings, and header-only parsers, :class:" "`BytesHeaderParser` and :class:`HeaderParser`, which can be used if you're " "only interested in the headers of the message. :class:`BytesHeaderParser` " @@ -187,16 +187,16 @@ msgstr "" msgid "" "Read all the data from the binary file-like object *fp*, parse the resulting " "bytes, and return the message object. *fp* must support both the :meth:`~io." -"IOBase.readline` and the :meth:`~io.IOBase.read` methods." +"IOBase.readline` and the :meth:`~io.BufferedIOBase.read` methods." msgstr "" msgid "" "The bytes contained in *fp* must be formatted as a block of :rfc:`5322` (or, " -"if :attr:`~email.policy.Policy.utf8` is ``True``, :rfc:`6532`) style headers " -"and header continuation lines, optionally preceded by an envelope header. " -"The header block is terminated either by the end of the data or by a blank " -"line. Following the header block is the body of the message (which may " -"contain MIME-encoded subparts, including subparts with a :mailheader:" +"if :attr:`~email.policy.EmailPolicy.utf8` is ``True``, :rfc:`6532`) style " +"headers and header continuation lines, optionally preceded by an envelope " +"header. The header block is terminated either by the end of the data or by " +"a blank line. Following the header block is the body of the message (which " +"may contain MIME-encoded subparts, including subparts with a :mailheader:" "`Content-Transfer-Encoding` of ``8bit``)." msgstr "" @@ -290,10 +290,8 @@ msgstr "" msgid "" ">>> import email\n" -">>> msg = email.message_from_bytes(myBytes) " -msgstr "" -">>> import email\n" ">>> msg = email.message_from_bytes(myBytes)" +msgstr "" msgid "Additional notes" msgstr "" diff --git a/library/email.po b/library/email.po index 840a868319..cac1dfb61b 100644 --- a/library/email.po +++ b/library/email.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,20 +23,20 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`email` --- An email and MIME handling package" -msgstr "" +msgid ":mod:`!email` --- An email and MIME handling package" +msgstr ":mod:`!email` --- pakiet obsługi e-mail oraz MIME" msgid "**Source code:** :source:`Lib/email/__init__.py`" -msgstr "" +msgstr "**kod źródłowy:**. :source:`Lib/email/__init__.py`" msgid "" -"The :mod:`email` package is a library for managing email messages. It is " +"The :mod:`!email` package is a library for managing email messages. It is " "specifically *not* designed to do any sending of email messages to SMTP (:" "rfc:`2821`), NNTP, or other servers; those are functions of modules such as :" -"mod:`smtplib` and :mod:`nntplib`. The :mod:`email` package attempts to be " -"as RFC-compliant as possible, supporting :rfc:`5322` and :rfc:`6532`, as " -"well as such MIME-related RFCs as :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :" -"rfc:`2183`, and :rfc:`2231`." +"mod:`smtplib`. The :mod:`!email` package attempts to be as RFC-compliant as " +"possible, supporting :rfc:`5322` and :rfc:`6532`, as well as such MIME-" +"related RFCs as :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :rfc:`2183`, and :rfc:" +"`2231`." msgstr "" msgid "" @@ -44,6 +44,9 @@ msgid "" "components, plus a fourth component that controls the behavior of the other " "components." msgstr "" +"Ogólna struktura pakietu email może zostać podzielona na trzy główne " +"komponenty, plus czwarty komponent, który kontroluje zachowanie pozostałych " +"komponentów." msgid "" "The central component of the package is an \"object model\" that represents " @@ -56,6 +59,16 @@ msgid "" "model is a tree structure of objects that all provide the :class:`~email." "message.EmailMessage` API." msgstr "" +"Centralnym komponentem pakietu jest \"model obiektowy\", który reprezentuje " +"wiadomości e-mail. Aplikacja wchodzi w interakcję z pakietem głównie " +"poprzez model obiektowy interfejsu zdefiniowanego w pod-module :mod:`~email." +"message` . Aplikacja może używać tego API do zadawania pytań dotyczących " +"istniejącego e-mail, do konstruowania nowego e-mail lub do dodawania lub " +"usuwania e-mail pod-komponentów, które same używają tego samego interfejsu " +"modelu obiektowego. Oznacza to, że zgodnie z naturą wiadomości e-mail i ich " +"podkomponentów MIME, model obiektowy e-mail jest strukturą drzewiastą " +"obiektów, które wszystkie zapewniają :class:`~email.message.EmailMessage` " +"API ." msgid "" "The other two major components of the package are the :mod:`~email.parser` " @@ -67,6 +80,14 @@ msgid "" "but this usage is discouraged as it is too easy to end up with messages that " "are not valid in one way or another.)" msgstr "" +"Pozostałe dwa główne komponenty pakietu to :mod:`~email.parser` i :mod:" +"`~email.generator`. Analizator składni pobiera zserializowaną wersję " +"komunikatu e-mail (strumień bajtów) i przekształca go w drzewo obiektów :" +"class:`~email.message.EmailMessage`. Generator pobiera :class:`~email." +"message.EmailMessage` i zamienia ją z powrotem w serializowany strumień " +"bajtów. (Analizator składni i generator obsługują również strumienie znaków " +"tekstowych, ale to użycie jest odradzane, ponieważ zbyt łatwo jest skończyć " +"z wiadomościami, które nie są poprawne w jeden ani drugi sposób.)" msgid "" "The control component is the :mod:`~email.policy` module. Every :class:" @@ -99,7 +120,7 @@ msgid "" msgstr "" msgid "" -"The following sections describe the functionality of the :mod:`email` " +"The following sections describe the functionality of the :mod:`!email` " "package. We start with the :mod:`~email.message` object model, which is the " "primary interface an application will use, and follow that with the :mod:" "`~email.parser` and :mod:`~email.generator` components. Then we cover the :" @@ -140,7 +161,7 @@ msgid "" "EmailMessage`/:class:`~email.policy.EmailPolicy` API." msgstr "" -msgid "Contents of the :mod:`email` package documentation:" +msgid "Contents of the :mod:`!email` package documentation:" msgstr "" msgid "Legacy API:" @@ -164,12 +185,6 @@ msgstr "" msgid "IMAP (Internet Message Access Protocol) client" msgstr "" -msgid "Module :mod:`nntplib`" -msgstr "" - -msgid "NNTP (Net News Transport Protocol) client" -msgstr "" - msgid "Module :mod:`mailbox`" msgstr "" @@ -177,9 +192,3 @@ msgid "" "Tools for creating, reading, and managing collections of messages on disk " "using a variety standard formats." msgstr "" - -msgid "Module :mod:`smtpd`" -msgstr "" - -msgid "SMTP server framework (primarily useful for testing)" -msgstr "" diff --git a/library/email.policy.po b/library/email.policy.po index 1b77397842..3740852d54 100644 --- a/library/email.policy.po +++ b/library/email.policy.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!email.policy`: Policy Objects" msgstr "" msgid "**Source code:** :source:`Lib/email/policy.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/policy.py`" msgid "" "The :mod:`email` package's prime focus is the handling of email messages as " @@ -444,7 +443,7 @@ msgid "" msgstr "" msgid "[1]_" -msgstr "" +msgstr "[1]_" msgid "" "If ``False``, follow :rfc:`5322`, supporting non-ASCII characters in headers " @@ -647,10 +646,10 @@ msgstr "" msgid "" "This concrete :class:`Policy` is the backward compatibility policy. It " -"replicates the behavior of the email package in Python 3.2. The :mod:" -"`~email.policy` module also defines an instance of this class, :const:" -"`compat32`, that is used as the default policy. Thus the default behavior " -"of the email package is to maintain compatibility with Python 3.2." +"replicates the behavior of the email package in Python 3.2. The :mod:`!" +"policy` module also defines an instance of this class, :const:`compat32`, " +"that is used as the default policy. Thus the default behavior of the email " +"package is to maintain compatibility with Python 3.2." msgstr "" msgid "" @@ -691,6 +690,12 @@ msgid "" "behavior of the email package in Python 3.2." msgstr "" +msgid "" +"The :const:`compat32` policy should not be used as a policy for :class:" +"`~email.message.EmailMessage` objects, and should only be used to serialize " +"messages that were created using the :const:`compat32` policy." +msgstr "" + msgid "Footnotes" msgstr "Przypisy" diff --git a/library/email.utils.po b/library/email.utils.po index e72ea9651d..225d033dc2 100644 --- a/library/email.utils.po +++ b/library/email.utils.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!email.utils`: Miscellaneous utilities" msgstr "" msgid "**Source code:** :source:`Lib/email/utils.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/email/utils.py`" msgid "" -"There are a couple of useful utilities provided in the :mod:`email.utils` " +"There are a couple of useful utilities provided in the :mod:`!email.utils` " "module:" msgstr "" diff --git a/library/ensurepip.po b/library/ensurepip.po index 5d03b24fbf..06566b6544 100644 --- a/library/ensurepip.po +++ b/library/ensurepip.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +28,10 @@ msgid ":mod:`!ensurepip` --- Bootstrapping the ``pip`` installer" msgstr "" msgid "**Source code:** :source:`Lib/ensurepip`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/ensurepip`" msgid "" -"The :mod:`ensurepip` package provides support for bootstrapping the ``pip`` " +"The :mod:`!ensurepip` package provides support for bootstrapping the ``pip`` " "installer into an existing Python installation or virtual environment. This " "bootstrapping approach reflects the fact that ``pip`` is an independent " "project with its own release cycle, and the latest available stable version " @@ -51,6 +51,17 @@ msgid "" "bootstrap ``pip`` are included as internal parts of the package." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid ":ref:`installing-index`" msgstr ":ref:`installing-index`" @@ -73,8 +84,8 @@ msgid "" "availability>` or :ref:`WebAssembly platforms `." msgstr "" -msgid "Command line interface" -msgstr "Interfejs wiersza poleceń" +msgid "Command-line interface" +msgstr "" msgid "" "The command line interface is invoked using the interpreter's ``-m`` switch." @@ -138,7 +149,7 @@ msgstr "Podanie obu opcji wyboru skryptu spowoduje wyzwolenie wyjątku." msgid "Module API" msgstr "" -msgid ":mod:`ensurepip` exposes two functions for programmatic use:" +msgid ":mod:`!ensurepip` exposes two functions for programmatic use:" msgstr "" msgid "" diff --git a/library/enum.po b/library/enum.po index 75e169b842..d5584e1298 100644 --- a/library/enum.po +++ b/library/enum.po @@ -4,17 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Transifex Bot <>, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Transifex Bot <>, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -101,7 +101,7 @@ msgid "" "is ``RED``, the value of :attr:`!Color.BLUE` is ``3``, etc.)" msgstr "" -msgid "Module Contents" +msgid "Module contents" msgstr "" msgid ":class:`EnumType`" @@ -176,7 +176,7 @@ msgid "" msgstr "" msgid ":class:`EnumDict`" -msgstr "" +msgstr ":class:`EnumDict`" msgid "A subclass of :class:`dict` for use when subclassing :class:`EnumType`." msgstr "" @@ -241,6 +241,15 @@ msgstr ":func:`show_flag_values`" msgid "Return a list of all power-of-two integers contained in a flag." msgstr "" +msgid ":func:`enum.bin`" +msgstr "" + +msgid "" +"Like built-in :func:`bin`, except negative values are represented in two's " +"complement, and the leading bit always indicates sign (``0`` implies " +"positive, ``1`` implies negative)." +msgstr "" + msgid "``Flag``, ``IntFlag``, ``auto``" msgstr "" @@ -252,8 +261,8 @@ msgstr "" msgid "``EnumDict``" msgstr "``EnumDict``" -msgid "Data Types" -msgstr "Typy danych" +msgid "Data types" +msgstr "" msgid "" "*EnumType* is the :term:`metaclass` for *enum* enumerations. It is possible " @@ -268,6 +277,11 @@ msgid "" "duplicates, providing iteration over the enum class, etc." msgstr "" +msgid "" +"Before 3.11 ``EnumType`` was called ``EnumMeta``, which is still available " +"as an alias." +msgstr "" + msgid "This method is called in two different ways:" msgstr "" @@ -404,21 +418,6 @@ msgstr "" ">>> list(reversed(Color))\n" "[, , ]" -msgid "" -"Adds a new name as an alias to an existing member. Raises a :exc:" -"`NameError` if the name is already assigned to a different member." -msgstr "" - -msgid "" -"Adds a new value as an alias to an existing member. Raises a :exc:" -"`ValueError` if the value is already linked with a different member." -msgstr "" - -msgid "" -"Before 3.11 ``EnumType`` was called ``EnumMeta``, which is still available " -"as an alias." -msgstr "" - msgid "*Enum* is the base class for all *enum* enumerations." msgstr "" @@ -469,6 +468,31 @@ msgid "" "during class creation)." msgstr "" +msgid "" +"The :attr:`~Enum._order_` attribute can be provided to help keep Python 2 / " +"Python 3 code in sync. It will be checked against the actual order of the " +"enumeration and raise an error if the two do not match::" +msgstr "" + +msgid "" +">>> class Color(Enum):\n" +"... _order_ = 'RED GREEN BLUE'\n" +"... RED = 1\n" +"... BLUE = 3\n" +"... GREEN = 2\n" +"...\n" +"Traceback (most recent call last):\n" +"...\n" +"TypeError: member order does not match _order_:\n" +" ['RED', 'BLUE', 'GREEN']\n" +" ['RED', 'GREEN', 'BLUE']" +msgstr "" + +msgid "" +"In Python 2 code the :attr:`~Enum._order_` attribute is necessary as " +"definition order is lost before it can be recorded." +msgstr "" + msgid "" "``_ignore_`` is only used during creation and is removed from the " "enumeration once creation is complete." @@ -486,7 +510,8 @@ msgid "" msgstr "" msgid "" -">>> from datetime import date\n" +">>> from enum import Enum\n" +">>> import datetime as dt\n" ">>> class Weekday(Enum):\n" "... MONDAY = 1\n" "... TUESDAY = 2\n" @@ -497,7 +522,7 @@ msgid "" "... SUNDAY = 7\n" "... @classmethod\n" "... def today(cls):\n" -"... print('today is %s' % cls(date.today().isoweekday()).name)\n" +"... print(f'today is {cls(dt.date.today().isoweekday()).name}')\n" "...\n" ">>> dir(Weekday.SATURDAY)\n" "['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', " @@ -527,11 +552,24 @@ msgstr "" msgid "" "A *staticmethod* that is used to determine the next value returned by :class:" -"`auto`::" +"`auto`." +msgstr "" + +msgid "" +"For standard :class:`Enum` classes the next value chosen is the highest " +"value seen incremented by one." msgstr "" msgid "" -">>> from enum import auto\n" +"For :class:`Flag` classes the next value chosen will be the next highest " +"power-of-two." +msgstr "" + +msgid "This method may be overridden, e.g.::" +msgstr "" + +msgid "" +">>> from enum import auto, Enum\n" ">>> class PowersOfThree(Enum):\n" "... @staticmethod\n" "... def _generate_next_value_(name, start, count, last_values):\n" @@ -543,6 +581,10 @@ msgid "" "9" msgstr "" +msgid "" +"Prior versions would use the last seen value instead of the highest value." +msgstr "" + msgid "" "By default, does nothing. If multiple values are given in the member " "assignment, those values become separate arguments to ``__init__``; e.g." @@ -564,7 +606,7 @@ msgid "" msgstr "" msgid "" -">>> from enum import StrEnum\n" +">>> from enum import auto, StrEnum\n" ">>> class Build(StrEnum):\n" "... DEBUG = auto()\n" "... OPTIMIZED = auto()\n" @@ -603,6 +645,7 @@ msgid "" msgstr "" msgid "" +">>> from enum import auto, Enum\n" ">>> class OtherStyle(Enum):\n" "... ALTERNATE = auto()\n" "... OTHER = auto()\n" @@ -622,6 +665,7 @@ msgid "" msgstr "" msgid "" +">>> from enum import auto, Enum\n" ">>> class OtherStyle(Enum):\n" "... ALTERNATE = auto()\n" "... OTHER = auto()\n" @@ -640,6 +684,7 @@ msgid "" msgstr "" msgid "" +">>> from enum import auto, Enum\n" ">>> class OtherStyle(Enum):\n" "... ALTERNATE = auto()\n" "... OTHER = auto()\n" @@ -660,6 +705,37 @@ msgstr "" msgid "Added :ref:`enum-dataclass-support`" msgstr "" +msgid "Adds a new name as an alias to an existing member::" +msgstr "" + +msgid "" +">>> Color.RED._add_alias_(\"ERROR\")\n" +">>> Color.ERROR\n" +"" +msgstr "" + +msgid "" +"Raises a :exc:`NameError` if the name is already assigned to a different " +"member." +msgstr "" + +msgid "Adds a new value as an alias to an existing member::" +msgstr "" + +msgid "" +">>> Color.RED._add_value_alias_(42)\n" +">>> Color(42)\n" +"" +msgstr "" + +msgid "" +"Raises a :exc:`ValueError` if the value is already linked with a different " +"member." +msgstr "" + +msgid "See :ref:`multi-value-enum` for an example." +msgstr "" + msgid "" "*IntEnum* is the same as :class:`Enum`, but its members are also integers " "and can be used anywhere that an integer can be used. If any integer " @@ -679,17 +755,17 @@ msgid "" msgstr "" msgid "" -"``StrEnum`` is the same as :class:`Enum`, but its members are also strings " -"and can be used in most of the same places that a string can be used. The " -"result of any string operation performed on or with a *StrEnum* member is " -"not part of the enumeration." +"*StrEnum* is the same as :class:`Enum`, but its members are also strings and " +"can be used in most of the same places that a string can be used. The result " +"of any string operation performed on or with a *StrEnum* member is not part " +"of the enumeration." msgstr "" msgid "" "There are places in the stdlib that check for an exact :class:`str` instead " "of a :class:`str` subclass (i.e. ``type(unknown) == str`` instead of " "``isinstance(unknown, str)``), and in those locations you will need to use " -"``str(StrEnum.member)``." +"``str(MyStrEnum.MY_MEMBER)``." msgstr "" msgid "" @@ -1071,23 +1147,14 @@ msgstr "" msgid "" ":meth:`~Enum.__new__`, if specified, must create and return the enum " -"members; it is also a very good idea to set the member's :attr:`!_value_` " -"appropriately. Once all the members are created it is no longer used." +"members; it is also a very good idea to set the member's :attr:`~Enum." +"_value_` appropriately. Once all the members are created it is no longer " +"used." msgstr "" msgid "Supported ``_sunder_`` names" msgstr "" -msgid "" -":meth:`~EnumType._add_alias_` -- adds a new name as an alias to an existing " -"member." -msgstr "" - -msgid "" -":meth:`~EnumType._add_value_alias_` -- adds a new value as an alias to an " -"existing member." -msgstr "" - msgid ":attr:`~Enum._name_` -- name of the member" msgstr "" @@ -1116,13 +1183,13 @@ msgid "" msgstr "" msgid "" -"For standard :class:`Enum` classes the next value chosen is the highest " -"value seen incremented by one." +":meth:`~Enum._add_alias_` -- adds a new name as an alias to an existing " +"member." msgstr "" msgid "" -"For :class:`Flag` classes the next value chosen will be the next highest " -"power-of-two." +":meth:`~Enum._add_value_alias_` -- adds a new value as an alias to an " +"existing member." msgstr "" msgid "" @@ -1143,7 +1210,7 @@ msgstr "``_ignore_``" msgid "``_add_alias_``, ``_add_value_alias_``, ``_repr_*``" msgstr "" -msgid "Utilities and Decorators" +msgid "Utilities and decorators" msgstr "" msgid "" @@ -1157,7 +1224,8 @@ msgid "" msgstr "" msgid "" -"*auto* instances are only resolved when at the top level of an assignment:" +"*auto* instances are only resolved when at the top level of an assignment, " +"either by itself or as part of a tuple:" msgstr "" msgid "``FIRST = auto()`` will work (auto() is replaced with ``1``);" @@ -1169,8 +1237,8 @@ msgid "" msgstr "" msgid "" -"``THREE = [auto(), -3]`` will *not* work (``, -3`` is used to " -"create the ``THREE`` enum member)" +"``THREE = [auto(), -3]`` will *not* work (``[, -3]`` is used " +"to create the ``THREE`` enum member)" msgstr "" msgid "" diff --git a/library/exceptions.po b/library/exceptions.po index 49d76f6313..1293002b6b 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -225,10 +224,14 @@ msgid "" msgstr "" msgid "" -"The :attr:`name` and :attr:`obj` attributes can be set using keyword-only " -"arguments to the constructor. When set they represent the name of the " -"attribute that was attempted to be accessed and the object that was accessed " -"for said attribute, respectively." +"The optional *name* and *obj* keyword-only arguments set the corresponding " +"attributes:" +msgstr "" + +msgid "The name of the attribute that was attempted to be accessed." +msgstr "" + +msgid "The object that was accessed for the named attribute." msgstr "" msgid "Added the :attr:`name` and :attr:`obj` attributes." @@ -236,8 +239,8 @@ msgstr "" msgid "" "Raised when the :func:`input` function hits an end-of-file condition (EOF) " -"without reading any data. (N.B.: the :meth:`io.IOBase.read` and :meth:`io." -"IOBase.readline` methods return an empty string when they hit EOF.)" +"without reading any data. (Note: the :meth:`io.TextIOBase.read` and :meth:" +"`io.IOBase.readline` methods return an empty string when they hit EOF.)" msgstr "" msgid "Not currently used." @@ -319,10 +322,10 @@ msgid "" "the name that could not be found." msgstr "" -msgid "" -"The :attr:`name` attribute can be set using a keyword-only argument to the " -"constructor. When set it represent the name of the variable that was " -"attempted to be accessed." +msgid "The optional *name* keyword-only argument sets the attribute:" +msgstr "" + +msgid "The name of the variable that was attempted to be accessed." msgstr "" msgid "Added the :attr:`name` attribute." @@ -387,8 +390,8 @@ msgstr "" msgid "" "The corresponding error message, as provided by the operating system. It is " -"formatted by the C functions :c:func:`perror` under POSIX, and :c:func:" -"`FormatMessage` under Windows." +"formatted by the C functions :c:func:`!perror` under POSIX, and :c:func:`!" +"FormatMessage` under Windows." msgstr "" msgid "" @@ -401,8 +404,8 @@ msgstr "" msgid "" ":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket." -"error`, :exc:`select.error` and :exc:`mmap.error` have been merged into :exc:" -"`OSError`, and the constructor may return a subclass." +"error`, :exc:`select.error` and :exc:`!mmap.error` have been merged into :" +"exc:`OSError`, and the constructor may return a subclass." msgstr "" msgid "" @@ -597,7 +600,7 @@ msgid "" "it is not handled, the Python interpreter exits; no stack traceback is " "printed. The constructor accepts the same optional argument passed to :func:" "`sys.exit`. If the value is an integer, it specifies the system exit status " -"(passed to C's :c:func:`exit` function); if it is ``None``, the exit status " +"(passed to C's :c:func:`!exit` function); if it is ``None``, the exit status " "is zero; if it has another type (such as a string), the object's value is " "printed and the exit status is one." msgstr "" @@ -729,8 +732,8 @@ msgid "" msgstr "" msgid "" -"An integer containing the number of characters written to the stream before " -"it blocked. This attribute is available when using the buffered I/O classes " +"An integer containing the number of **bytes** written to the stream before " +"it blocked. This attribute is available when using the buffered I/O classes " "from the :mod:`io` module." msgstr "" @@ -880,6 +883,11 @@ msgstr "" msgid "Base class for warnings about dubious syntax." msgstr "" +msgid "" +"This warning is typically emitted when compiling Python source code, and " +"usually won't be reported when running already compiled code." +msgstr "" + msgid "Base class for warnings about dubious runtime behavior." msgstr "" @@ -936,6 +944,12 @@ msgid "" "`TypeError` if any contained exception is not an :exc:`Exception` subclass." msgstr "" +msgid "" +"The ``excs`` parameter may be any sequence, but lists and tuples are " +"specifically processed more efficiently here. For optimal performance, pass " +"a tuple as ``excs``." +msgstr "" + msgid "The ``msg`` argument to the constructor. This is a read-only attribute." msgstr "" @@ -1032,7 +1046,7 @@ msgid "" "Note that :exc:`BaseExceptionGroup` defines :meth:`~object.__new__`, so " "subclasses that need a different constructor signature need to override that " "rather than :meth:`~object.__init__`. For example, the following defines an " -"exception group subclass which accepts an exit_code and and constructs the " +"exception group subclass which accepts an exit_code and constructs the " "group's message from it. ::" msgstr "" diff --git a/library/faulthandler.po b/library/faulthandler.po index a7eba80b7a..eab24c9158 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -138,8 +138,8 @@ msgstr "" msgid "" "Additionally, some compilers do not support :term:`CPython's ` " "implementation of C stack dumps. As a result, a different error may be " -"printed instead of the stack, even if the the operating system supports " -"dumping stacks." +"printed instead of the stack, even if the operating system supports dumping " +"stacks." msgstr "" msgid "" @@ -273,8 +273,53 @@ msgid "" "Fatal Python error: Segmentation fault\n" "\n" "Current thread 0x00007fb899f39700 (most recent call first):\n" -" File \"/home/python/cpython/Lib/ctypes/__init__.py\", line 486 in " -"string_at\n" +" File \"/opt/python/Lib/ctypes/__init__.py\", line 486 in string_at\n" " File \"\", line 1 in \n" +"\n" +"Current thread's C stack trace (most recent call first):\n" +" Binary file \"/opt/python/python\", at _Py_DumpStack+0x42 " +"[0x5b27f7d7147e]\n" +" Binary file \"/opt/python/python\", at +0x32dcbd [0x5b27f7d85cbd]\n" +" Binary file \"/opt/python/python\", at +0x32df8a [0x5b27f7d85f8a]\n" +" Binary file \"/usr/lib/libc.so.6\", at +0x3def0 [0x77b73226bef0]\n" +" Binary file \"/usr/lib/libc.so.6\", at +0x17ef9c [0x77b7323acf9c]\n" +" Binary file \"/opt/python/build/lib.linux-x86_64-3.14/_ctypes.cpython-314d-" +"x86_64-linux-gnu.so\", at +0xcdf6 [0x77b7315dddf6]\n" +" Binary file \"/usr/lib/libffi.so.8\", at +0x7976 [0x77b73158f976]\n" +" Binary file \"/usr/lib/libffi.so.8\", at +0x413c [0x77b73158c13c]\n" +" Binary file \"/usr/lib/libffi.so.8\", at ffi_call+0x12e [0x77b73158ef0e]\n" +" Binary file \"/opt/python/build/lib.linux-x86_64-3.14/_ctypes.cpython-314d-" +"x86_64-linux-gnu.so\", at +0x15a33 [0x77b7315e6a33]\n" +" Binary file \"/opt/python/build/lib.linux-x86_64-3.14/_ctypes.cpython-314d-" +"x86_64-linux-gnu.so\", at +0x164fa [0x77b7315e74fa]\n" +" Binary file \"/opt/python/build/lib.linux-x86_64-3.14/_ctypes.cpython-314d-" +"x86_64-linux-gnu.so\", at +0xc624 [0x77b7315dd624]\n" +" Binary file \"/opt/python/python\", at _PyObject_MakeTpCall+0xce " +"[0x5b27f7b73883]\n" +" Binary file \"/opt/python/python\", at +0x11bab6 [0x5b27f7b73ab6]\n" +" Binary file \"/opt/python/python\", at PyObject_Vectorcall+0x23 " +"[0x5b27f7b73b04]\n" +" Binary file \"/opt/python/python\", at _PyEval_EvalFrameDefault+0x490c " +"[0x5b27f7cbb302]\n" +" Binary file \"/opt/python/python\", at +0x2818e6 [0x5b27f7cd98e6]\n" +" Binary file \"/opt/python/python\", at +0x281aab [0x5b27f7cd9aab]\n" +" Binary file \"/opt/python/python\", at PyEval_EvalCode+0xc5 " +"[0x5b27f7cd9ba3]\n" +" Binary file \"/opt/python/python\", at +0x255957 [0x5b27f7cad957]\n" +" Binary file \"/opt/python/python\", at +0x255ab4 [0x5b27f7cadab4]\n" +" Binary file \"/opt/python/python\", at _PyEval_EvalFrameDefault+0x6c3e " +"[0x5b27f7cbd634]\n" +" Binary file \"/opt/python/python\", at +0x2818e6 [0x5b27f7cd98e6]\n" +" Binary file \"/opt/python/python\", at +0x281aab [0x5b27f7cd9aab]\n" +" Binary file \"/opt/python/python\", at +0x11b6e1 [0x5b27f7b736e1]\n" +" Binary file \"/opt/python/python\", at +0x11d348 [0x5b27f7b75348]\n" +" Binary file \"/opt/python/python\", at +0x11d626 [0x5b27f7b75626]\n" +" Binary file \"/opt/python/python\", at PyObject_Call+0x20 " +"[0x5b27f7b7565e]\n" +" Binary file \"/opt/python/python\", at +0x32a67a [0x5b27f7d8267a]\n" +" Binary file \"/opt/python/python\", at +0x32a7f8 [0x5b27f7d827f8]\n" +" Binary file \"/opt/python/python\", at +0x32ac1b [0x5b27f7d82c1b]\n" +" Binary file \"/opt/python/python\", at Py_RunMain+0x31 [0x5b27f7d82ebe]\n" +" \n" "Segmentation fault" msgstr "" diff --git a/library/fcntl.po b/library/fcntl.po index 753afc04b9..e53c31a4ea 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,7 +76,7 @@ msgid "" msgstr "" msgid "" -"On Linux >= 4.5, the :mod:`fcntl` module exposes the ``FICLONE`` and " +"On Linux >= 4.5, the :mod:`!fcntl` module exposes the ``FICLONE`` and " "``FICLONERANGE`` constants, which allow to share some data of one file with " "another file by reflinking on some filesystems (e.g., btrfs, OCFS2, and " "XFS). This behavior is commonly referred to as \"copy-on-write\"." @@ -114,7 +114,7 @@ msgid "" "Perform the operation *cmd* on file descriptor *fd* (file objects providing " "a :meth:`~io.IOBase.fileno` method are accepted as well). The values used " "for *cmd* are operating system dependent, and are available as constants in " -"the :mod:`fcntl` module, using the same names as used in the relevant C " +"the :mod:`!fcntl` module, using the same names as used in the relevant C " "header files. The argument *arg* can either be an integer value, a :term:" "`bytes-like object`, or a string. The type and size of *arg* must match the " "type and size of the argument of the operation as specified in the relevant " diff --git a/library/filesys.po b/library/filesys.po index 98bc728bfb..3b4bdc3ec9 100644 --- a/library/filesys.po +++ b/library/filesys.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-08 02:53-0300\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,7 +34,7 @@ msgid "" msgstr "" msgid "Module :mod:`os`" -msgstr "" +msgstr "Модуль :mod:`os`" msgid "" "Operating system interfaces, including functions to work with files at a " diff --git a/library/fnmatch.po b/library/fnmatch.po index 49ea74b9e2..9669704f86 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!fnmatch` --- Unix filename pattern matching" msgstr "" msgid "**Source code:** :source:`Lib/fnmatch.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/fnmatch.py`" msgid "" "This module provides support for Unix shell-style wildcards, which are *not* " @@ -89,7 +88,8 @@ msgstr "" msgid "" "Finally, note that :func:`functools.lru_cache` with a *maxsize* of 32768 is " "used to cache the (typed) compiled regex patterns in the following " -"functions: :func:`fnmatch`, :func:`fnmatchcase`, :func:`.filter`." +"functions: :func:`fnmatch`, :func:`fnmatchcase`, :func:`.filter`, :func:`." +"filterfalse`." msgstr "" msgid "" diff --git a/library/fractions.po b/library/fractions.po index b402aec807..81fa397247 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`fractions` --- Rational numbers" +msgid ":mod:`!fractions` --- Rational numbers" msgstr "" msgid "**Source code:** :source:`Lib/fractions.py`" @@ -41,18 +41,29 @@ msgstr "" msgid "" "The first version requires that *numerator* and *denominator* are instances " "of :class:`numbers.Rational` and returns a new :class:`Fraction` instance " -"with value ``numerator/denominator``. If *denominator* is :const:`0`, it " -"raises a :exc:`ZeroDivisionError`. The second version requires that " -"*other_fraction* is an instance of :class:`numbers.Rational` and returns a :" -"class:`Fraction` instance with the same value. The next two versions accept " -"either a :class:`float` or a :class:`decimal.Decimal` instance, and return " -"a :class:`Fraction` instance with exactly the same value. Note that due to " -"the usual issues with binary floating-point (see :ref:`tut-fp-issues`), the " -"argument to ``Fraction(1.1)`` is not exactly equal to 11/10, and so " -"``Fraction(1.1)`` does *not* return ``Fraction(11, 10)`` as one might " -"expect. (But see the documentation for the :meth:`limit_denominator` method " -"below.) The last version of the constructor expects a string or unicode " -"instance. The usual form for this instance is::" +"with value ``numerator/denominator``. If *denominator* is ``0``, it raises " +"a :exc:`ZeroDivisionError`." +msgstr "" + +msgid "" +"The second version requires that *number* is an instance of :class:`numbers." +"Rational` or has the :meth:`!as_integer_ratio` method (this includes :class:" +"`float` and :class:`decimal.Decimal`). It returns a :class:`Fraction` " +"instance with exactly the same value. Assumed, that the :meth:`!" +"as_integer_ratio` method returns a pair of coprime integers and last one is " +"positive. Note that due to the usual issues with binary point (see :ref:`tut-" +"fp-issues`), the argument to ``Fraction(1.1)`` is not exactly equal to " +"11/10, and so ``Fraction(1.1)`` does *not* return ``Fraction(11, 10)`` as " +"one might expect. (But see the documentation for the :meth:" +"`limit_denominator` method below.)" +msgstr "" + +msgid "" +"The last version of the constructor expects a string. The usual form for " +"this instance is::" +msgstr "" + +msgid "[sign] numerator ['/' denominator]" msgstr "" msgid "" @@ -65,6 +76,33 @@ msgid "" "whitespace. Here are some examples::" msgstr "" +msgid "" +">>> from fractions import Fraction\n" +">>> Fraction(16, -10)\n" +"Fraction(-8, 5)\n" +">>> Fraction(123)\n" +"Fraction(123, 1)\n" +">>> Fraction()\n" +"Fraction(0, 1)\n" +">>> Fraction('3/7')\n" +"Fraction(3, 7)\n" +">>> Fraction(' -3/7 ')\n" +"Fraction(-3, 7)\n" +">>> Fraction('1.414213 \\t\\n')\n" +"Fraction(1414213, 1000000)\n" +">>> Fraction('-.125')\n" +"Fraction(-1, 8)\n" +">>> Fraction('7e-6')\n" +"Fraction(7, 1000000)\n" +">>> Fraction(2.25)\n" +"Fraction(9, 4)\n" +">>> Fraction(1.1)\n" +"Fraction(2476979795053773, 2251799813685248)\n" +">>> from decimal import Decimal\n" +">>> Fraction(Decimal('1.1'))\n" +"Fraction(11, 10)" +msgstr "" + msgid "" "The :class:`Fraction` class inherits from the abstract base class :class:" "`numbers.Rational`, and implements all of the methods and operations from " @@ -80,7 +118,7 @@ msgstr "" msgid "" "The :func:`math.gcd` function is now used to normalize the *numerator* and " -"*denominator*. :func:`math.gcd` always return a :class:`int` type. " +"*denominator*. :func:`math.gcd` always returns an :class:`int` type. " "Previously, the GCD type depended on *numerator* and *denominator*." msgstr "" @@ -94,6 +132,26 @@ msgid "" "SupportsInt`` instance checks." msgstr "" +msgid "" +"Space is allowed around the slash for string inputs: ``Fraction('2 / 3')``." +msgstr "" + +msgid "" +":class:`Fraction` instances now support float-style formatting, with " +"presentation types ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " +"``\"G\"`` and ``\"%\"\"``." +msgstr "" + +msgid "" +"Formatting of :class:`Fraction` instances without a presentation type now " +"supports fill, alignment, sign handling, minimum width and grouping." +msgstr "" + +msgid "" +"The :class:`Fraction` constructor now accepts any objects with the :meth:`!" +"as_integer_ratio` method." +msgstr "" + msgid "Numerator of the Fraction in lowest term." msgstr "" @@ -101,8 +159,11 @@ msgid "Denominator of the Fraction in lowest term." msgstr "" msgid "" -"Return a tuple of two integers, whose ratio is equal to the Fraction and " -"with a positive denominator." +"Return a tuple of two integers, whose ratio is equal to the original " +"Fraction. The ratio is in lowest terms and has a positive denominator." +msgstr "" + +msgid "Return ``True`` if the Fraction is an integer." msgstr "" msgid "" @@ -126,6 +187,13 @@ msgid "" "directly from a :class:`decimal.Decimal` instance." msgstr "" +msgid "" +"Alternative constructor which only accepts instances of :class:`numbers." +"Integral`, :class:`numbers.Rational`, :class:`float` or :class:`decimal." +"Decimal`, and objects with the :meth:`!as_integer_ratio` method, but not " +"strings." +msgstr "" + msgid "" "Finds and returns the closest :class:`Fraction` to ``self`` that has " "denominator at most max_denominator. This method is useful for finding " @@ -153,8 +221,59 @@ msgid "" "func:`round` function." msgstr "" +msgid "" +"Provides support for formatting of :class:`Fraction` instances via the :meth:" +"`str.format` method, the :func:`format` built-in function, or :ref:" +"`Formatted string literals `." +msgstr "" + +msgid "" +"If the ``format_spec`` format specification string does not end with one of " +"the presentation types ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, ``'G'`` " +"or ``'%'`` then formatting follows the general rules for fill, alignment, " +"sign handling, minimum width, and grouping as described in the :ref:`format " +"specification mini-language `. The \"alternate form\" flag " +"``'#'`` is supported: if present, it forces the output string to always " +"include an explicit denominator, even when the value being formatted is an " +"exact integer. The zero-fill flag ``'0'`` is not supported." +msgstr "" + +msgid "" +"If the ``format_spec`` format specification string ends with one of the " +"presentation types ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, ``'G'`` or " +"``'%'`` then formatting follows the rules outlined for the :class:`float` " +"type in the :ref:`formatspec` section." +msgstr "" + +msgid "Here are some examples::" +msgstr "Berikut beberapa contoh::" + +msgid "" +">>> from fractions import Fraction\n" +">>> format(Fraction(103993, 33102), '_')\n" +"'103_993/33_102'\n" +">>> format(Fraction(1, 7), '.^+10')\n" +"'...+1/7...'\n" +">>> format(Fraction(3, 1), '')\n" +"'3'\n" +">>> format(Fraction(3, 1), '#')\n" +"'3/1'\n" +">>> format(Fraction(1, 7), '.40g')\n" +"'0.1428571428571428571428571428571428571429'\n" +">>> format(Fraction('1234567.855'), '_.2f')\n" +"'1_234_567.86'\n" +">>> f\"{Fraction(355, 113):*>20.6e}\"\n" +"'********3.141593e+00'\n" +">>> old_price, new_price = 499, 672\n" +">>> \"{:.2%} price increase\".format(Fraction(new_price, old_price) - 1)\n" +"'34.67% price increase'" +msgstr "" + msgid "Module :mod:`numbers`" msgstr "" msgid "The abstract base classes making up the numeric tower." msgstr "" + +msgid "as_integer_ratio()" +msgstr "" diff --git a/library/ftplib.po b/library/ftplib.po index ecca640851..172cce5daa 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!ftplib` --- FTP protocol client" msgstr "" msgid "**Source code:** :source:`Lib/ftplib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/ftplib.py`" msgid "" "This module defines the class :class:`FTP` and a few related items. The :" @@ -50,7 +49,7 @@ msgid "" "availability` for more information." msgstr "" -msgid "Here's a sample session using the :mod:`ftplib` module::" +msgid "Here's a sample session using the :mod:`!ftplib` module::" msgstr "" msgid "" diff --git a/library/functional.po b/library/functional.po index 46f1c6b251..ab95c0806b 100644 --- a/library/functional.po +++ b/library/functional.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/functions.po b/library/functions.po index b6ed3c484a..e42488eb34 100644 --- a/library/functions.po +++ b/library/functions.po @@ -4,21 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# haaritsubaki, 2023 -# Ciarbin , 2024 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 +# python-doc bot, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -412,12 +408,12 @@ msgstr "" msgid "" "Convert an integer number to a binary string prefixed with \"0b\". The " -"result is a valid Python expression. If *x* is not a Python :class:`int` " -"object, it has to define an :meth:`~object.__index__` method that returns an " -"integer. Some examples:" +"result is a valid Python expression. If *integer* is not a Python :class:" +"`int` object, it has to define an :meth:`~object.__index__` method that " +"returns an integer. Some examples:" msgstr "" "Konwertuje liczbę całkowitą do binarnego ciągu znaków z prefiksem „0b”. " -"Wynik jest poprawnym wyrażeniem Pythona. Jeśli *x* nie jest pythonowym " +"Wynik jest poprawnym wyrażeniem Pythona. Jeśli *integer* nie jest pythonowym " "obiektem :class:`int`, musi definiować metodę :meth:`~object.__index__`, " "która zwraca liczbę całkowitą. Kilka przykładów:" @@ -428,6 +424,12 @@ msgstr "" "Jeśli prefiks „0b” nie jest pożądany, możesz użyć któregoś z poniższych " "sposobów." +msgid "" +"See also :func:`enum.bin` to represent negative values as twos-complement." +msgstr "" +"Patrz również :func:`enum.bin` do reprezentowania ujemnych wartości w kodzie " +"uzupełnień do dwóch." + msgid "See also :func:`format` for more information." msgstr "Zobacz też :func:`format` by uzyskać więcej informacji." @@ -597,21 +599,21 @@ msgstr "" "Pythonie 3.2." msgid "" -"Return the string representing a character whose Unicode code point is the " -"integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " +"Return the string representing a character with the specified Unicode code " +"point. For example, ``chr(97)`` returns the string ``'a'``, while " "``chr(8364)`` returns the string ``'€'``. This is the inverse of :func:`ord`." msgstr "" -"Zwraca ciąg znaków reprezentujący znak, którego punktem kodowym Unicode jest " -"liczba całkowita *i*. Na przykład ``chr(97)`` zwraca ciąg znaków ``'a'``, a " -"``chr(8364)`` zwraca ciąg ``'€'``. Jest odwrotnością :func:`ord`." +"Zwraca ciąg znaków reprezentujący znak dla podanego punktu kodowego Unicode. " +"Na przykład ``chr(97)`` zwraca ciąg znaków ``'a'``, a ``chr(8364)`` zwraca " +"ciąg ``'€'``. Jest odwrotnością :func:`ord`." msgid "" "The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " -"base 16). :exc:`ValueError` will be raised if *i* is outside that range." +"base 16). :exc:`ValueError` will be raised if it is outside that range." msgstr "" "Poprawnym zakresem argumentu są wartości od 0 do 1 114 111 (0x10FFFF w " -"systemie szesnastkowym). Dla *i* poza tym zakresem zostanie rzucony :exc:" -"`ValueError`." +"systemie szesnastkowym). Dla wartości poza tym zakresem zostanie rzucony :" +"exc:`ValueError`." msgid "Transform a method into a class method." msgstr "Przekształca metodę w metodę klasową." @@ -773,11 +775,11 @@ msgstr "" "lub ``2`` (docstrings są również usuwane)." msgid "" -"This function raises :exc:`SyntaxError` if the compiled source is invalid, " -"and :exc:`ValueError` if the source contains null bytes." +"This function raises :exc:`SyntaxError` or :exc:`ValueError` if the compiled " +"source is invalid." msgstr "" -"To funkcja rzuci :exc:`SyntaxError` jeśli skompilowane źródło jest " -"nieprawidłowe, a :exc:`ValueError` jeśli źródło zawiera bajty null." +"To funkcja rzuci :exc:`SyntaxError` lub :exc:`ValueError` jeśli skompilowane " +"źródło jest nieprawidłowe." msgid "" "If you want to parse Python code into its AST representation, see :func:`ast." @@ -933,18 +935,20 @@ msgid "" "number, only its real component is used in the above expressions." msgstr "" "Jeśli podano dwa argumenty lub argument nazwany, każdy argument może być " -"dowolnego typu liczbowego (w tym złożonego). Jeśli oba argumenty są liczbami " -"rzeczywistymi, zwraca liczba zespolona ze składnikiem rzeczywistym *real* i " -"składnikiem urojonym *imag*. Jeśli oba argumenty są liczba zespolona, zwraca " -"liczba zespolona ze składnikiem rzeczywistym ``real.real-imag.imag`` i " -"składnikiem urojonym ``real.imag+imag.real``. Jeśli jedna z argumentow jest " -"liczbą rzeczywistą, w powyższych wyrażeniach używany jest tylko jej składnik " -"rzeczywisty." +"dowolnego typu liczbowego (w tym liczbą zespoloną). Jeśli oba argumenty są " +"liczbami rzeczywistymi, zwracana jest liczba zespolona ze składnikiem " +"rzeczywistym *real* i składnikiem urojonym *imag*. Jeśli oba argumenty są " +"liczbami zespolonymi, zwracana jest liczba zespolona ze składnikiem " +"rzeczywistym ``real.real-imag.imag`` i składnikiem urojonym ``real.imag+imag." +"real``. Jeśli jeden z argumentów jest liczbą rzeczywistą, w powyższych " +"wyrażeniach używany jest tylko jego składnik rzeczywisty." msgid "" "See also :meth:`complex.from_number` which only accepts a single numeric " "argument." msgstr "" +"Zobacz też :meth:`complex.from_number`, która akceptuje tylko jeden argument " +"numeryczny." msgid "If all arguments are omitted, returns ``0j``." msgstr "Jeśli wszystkie argumenty zostaną pominięte, zwraca ``0j`` ." @@ -968,6 +972,9 @@ msgid "" "Passing a complex number as the *real* or *imag* argument is now deprecated; " "it should only be passed as a single positional argument." msgstr "" +"Przekazywanie liczby zespolonej przez argumenty *real* lub *imag* jest " +"teraz niezalecane; powinna ona być przekazywana przez pojedynczy argument " +"pozycyjny." msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " @@ -1002,8 +1009,8 @@ msgid "" "With an argument, attempt to return a list of valid attributes for that " "object." msgstr "" -"Bez argumentow, zwraca listę nazw w bieżącym zakresie lokalnym. Z " -"argumentów, próba zwraca listy prawidłowych atrybut dla tego obiektu." +"Bez argumentów, zwraca listę nazw w bieżącym zakresie lokalnym. Z " +"argumentem, próbuje zwrócić listę prawidłowych atrybutów dla tego obiektu." msgid "" "If the object has a method named :meth:`~object.__dir__`, this method will " @@ -1153,44 +1160,30 @@ msgid "Syntax errors are reported as exceptions." msgstr "Błędy składni są zgłaszane jako wyjątki." msgid "" -"This function executes arbitrary code. Calling it with user-supplied input " -"may lead to security vulnerabilities." +"This function executes arbitrary code. Calling it with untrusted user-" +"supplied input will lead to security vulnerabilities." msgstr "" -"Ta funkcja wykonuje dowolny kod. Wywołanie go z danymi wejściowymi " -"dostarczonymi przez użytkownika może prowadzić do luk w zabezpieczeniach." +"Ta funkcja wykonuje dowolny kod. Wywołanie go z niezaufanymi danymi " +"wejściowymi dostarczonymi przez użytkownika prowadzi do luk w " +"zabezpieczeniach." msgid "" -"The *expression* argument is parsed and evaluated as a Python expression " +"The *source* argument is parsed and evaluated as a Python expression " "(technically speaking, a condition list) using the *globals* and *locals* " "mappings as global and local namespace. If the *globals* dictionary is " "present and does not contain a value for the key ``__builtins__``, a " "reference to the dictionary of the built-in module :mod:`builtins` is " -"inserted under that key before *expression* is parsed. That way you can " -"control what builtins are available to the executed code by inserting your " -"own ``__builtins__`` dictionary into *globals* before passing it to :func:" -"`eval`. If the *locals* mapping is omitted it defaults to the *globals* " -"dictionary. If both mappings are omitted, the expression is executed with " -"the *globals* and *locals* in the environment where :func:`eval` is called. " +"inserted under that key before *source* is parsed. Overriding " +"``__builtins__`` can be used to restrict or change the available names, but " +"this is **not** a security mechanism: the executed code can still access all " +"builtins. If the *locals* mapping is omitted it defaults to the *globals* " +"dictionary. If both mappings are omitted, the source is executed with the " +"*globals* and *locals* in the environment where :func:`eval` is called. " "Note, *eval()* will only have access to the :term:`nested scopes ` (non-locals) in the enclosing environment if they are already " "referenced in the scope that is calling :func:`eval` (e.g. via a :keyword:" "`nonlocal` statement)." msgstr "" -"Argument *expression* jest analizowany i ewaluowany jako wyrażenie Python " -"(technicznie rzecz biorąc, lista warunków) przy użyciu mapowań *globals* i " -"*locals* jako globalnej i lokalnej przestrzeni nazw. Jeśli *globals* " -"słownik jest obecny i nie zawiera wartości dla klucza ``__builtins__``, " -"odwołanie do słownika z wbudowanej moduły :mod:`builtins` jest wstawiane pod " -"tym kluczem, zanim *expression* zostanie przeanalizowane. W ten sposób " -"można kontrolować, jakie wbudowany są dostępne dla wykonywanego kodu, " -"wstawiając własne ``__builtins__`` słownik do *globals* przed przekazaniem " -"go do :func:`eval`. Jeśli mapowanie *locals* zostanie pominięte, domyślnie " -"będzie to *globals* słownik. Jeśli oba mapowania są pominięte, wyrażenie " -"jest wykonywane z *globals* i *locals* w środowisku, w którym wywoływane " -"jest :func:`eval`. Uwaga, *eval()* będzie miał dostęp do :term:" -"`zagnieżdżonych zakresów ` (non-locals) w otaczającym " -"środowisku tylko wtedy, gdy są one już przywoływane w zakresie, który " -"wywołuje :func:`eval` (np. poprzez instrukcję :keyword:`nonlocal` )." msgid "Example:" msgstr "Przykład:" @@ -1308,15 +1301,10 @@ msgstr "" msgid "" "If the *globals* dictionary does not contain a value for the key " "``__builtins__``, a reference to the dictionary of the built-in module :mod:" -"`builtins` is inserted under that key. That way you can control what " -"builtins are available to the executed code by inserting your own " -"``__builtins__`` dictionary into *globals* before passing it to :func:`exec`." +"`builtins` is inserted under that key. Overriding ``__builtins__`` can be " +"used to restrict or change the available names, but this is **not** a " +"security mechanism: the executed code can still access all builtins." msgstr "" -"Jeśli *globals* słownik nie zawiera wartości dla klucza ``__builtins__``, " -"odwołanie do słownika z wbudowanego modułu :mod:`builtins` jest wstawiane " -"pod tym kluczem. W ten sposób można kontrolować, które wbudowane są " -"dostępne dla wykonywanego kodu, wstawiając własny ``__builtins__`` słownik " -"do *globals* przed przekazaniem go do :func:`exec`." msgid "" "The *closure* argument specifies a closure--a tuple of cellvars. It's only " @@ -1455,6 +1443,8 @@ msgstr "" msgid "" "See also :meth:`float.from_number` which only accepts a numeric argument." msgstr "" +"Zobacz też :meth:`float.from_number`, która akceptuje tylko jeden argument " +"numeryczny." msgid "If no argument is given, ``0.0`` is returned." msgstr "Jeśli nie podano argumentu, zwracane jest ``0.0``." @@ -1633,13 +1623,13 @@ msgstr "" msgid "" "Convert an integer number to a lowercase hexadecimal string prefixed with " -"\"0x\". If *x* is not a Python :class:`int` object, it has to define an :" -"meth:`~object.__index__` method that returns an integer. Some examples:" +"\"0x\". If *integer* is not a Python :class:`int` object, it has to define " +"an :meth:`~object.__index__` method that returns an integer. Some examples:" msgstr "" -"Konwertuje liczbę liczba całkowita na zapis szesnastkowy z małymi literami " -"napis poprzedzony \"0x\". Jeśli *x* nie jest obiektem Python :class:`int` , " -"musi zdefiniować metodę :meth:`~object.__index__`, która zwraca liczbe " -"całkowita. Kilka przykładów:" +"Konwertuje liczbę całkowitą na zapis szesnastkowy małymi literami " +"poprzedzony „0x”. Jeśli *integer* nie jest pythonowym obiektem :class:" +"`int` , musi definiować metodę :meth:`~object.__index__`, która zwraca " +"liczbę całkowitą. Kilka przykładów:" msgid "" "If you want to convert an integer number to an uppercase or lower " @@ -1767,6 +1757,10 @@ msgid "" "__int__()``. If the argument defines :meth:`~object.__index__`, it returns " "``x.__index__()``. For floating-point numbers, this truncates towards zero." msgstr "" +"Jeśli argument definiuje :meth:`~object.__int__`, ``int(x)`` zwraca ``x." +"__int__()``. Jeśli argument definiuje :meth:`~object.__index__`, to zwraca " +"``x.__index__()``. W przypadku liczb zmiennoprzecinkowych, są one przycinane " +"w kierunku zera." msgid "" "If the argument is not a number or if *base* is given, then it must be a " @@ -1848,7 +1842,7 @@ msgstr "" msgid "" ":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." -msgstr "" +msgstr ":func:`int` nie deleguje już do metody :meth:`~object.__trunc__`." msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " @@ -1893,29 +1887,29 @@ msgstr "" msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " "differently depending on the presence of the second argument. Without a " -"second argument, *object* must be a collection object which supports the :" -"term:`iterable` protocol (the :meth:`~object.__iter__` method), or it must " -"support the sequence protocol (the :meth:`~object.__getitem__` method with " -"integer arguments starting at ``0``). If it does not support either of " -"those protocols, :exc:`TypeError` is raised. If the second argument, " -"*sentinel*, is given, then *object* must be a callable object. The iterator " -"created in this case will call *object* with no arguments for each call to " -"its :meth:`~iterator.__next__` method; if the value returned is equal to " -"*sentinel*, :exc:`StopIteration` will be raised, otherwise the value will be " -"returned." +"second argument, the single argument must be a collection object which " +"supports the :term:`iterable` protocol (the :meth:`~object.__iter__` " +"method), or it must support the sequence protocol (the :meth:`~object." +"__getitem__` method with integer arguments starting at ``0``). If it does " +"not support either of those protocols, :exc:`TypeError` is raised. If the " +"second argument, *sentinel*, is given, then the first argument must be a " +"callable object. The iterator created in this case will call *callable* " +"with no arguments for each call to its :meth:`~iterator.__next__` method; if " +"the value returned is equal to *sentinel*, :exc:`StopIteration` will be " +"raised, otherwise the value will be returned." msgstr "" "Zwraca obiekt :term:`iteratora `. Pierwszy argument jest " "interpretowany bardzo różnie w zależności od obecności drugiego argumentu. " -"Bez drugiego argumentu, *object* musi być obiektem kolekcji, która obsługuje " -"protokół :term:`iterable` (metoda :meth:`~object.__iter__` ), lub musi " -"obsługiwać protokół sekwencji (metoda :meth:`~object.__getitem__` z " +"Bez drugiego argumentu, jedyny argument musi być obiektem kolekcji, która " +"obsługuje protokół :term:`iterable` (metoda :meth:`~object.__iter__` ), lub " +"musi obsługiwać protokół sekwencji (metoda :meth:`~object.__getitem__` z " "argumentami liczb całkowitych zaczynających się od ``0``). Jeśli nie " "obsługuje żadnego z tych protokołów, zostanie rzucony :exc:`TypeError`. " -"Jeśli podano drugi argument, *sentinel*, to *object* musi być obiektem " -"wywoływalnym. Utworzony w tym przypadku iterator będzie wywoływał *object* " -"bez argumentu dla każdego wywołania jego metody :meth:`~iterator.__next__`; " -"jeśli zwrócona wartość jest równa *sentinel*, zostanie rzucone :exc:" -"`StopIteration`, w przeciwnym razie zostanie zwrócona wartość." +"Jeśli podano drugi argument, *sentinel*, to pierwszy argument musi być " +"obiektem wywoływalnym. Utworzony w tym przypadku iterator będzie wywoływał " +"*callable* bez argumentu dla każdego wywołania jego metody :meth:`~iterator." +"__next__`; jeśli zwrócona wartość jest równa *sentinel*, zostanie rzucone :" +"exc:`StopIteration`, w przeciwnym razie zostanie zwrócona wartość." msgid "See also :ref:`typeiter`." msgstr "Zobacz także :ref:`typeiter`." @@ -2081,25 +2075,34 @@ msgid "" "cases where the function inputs are already arranged into argument tuples, " "see :func:`itertools.starmap`." msgstr "" +"Zwraca iterator, który stosuje funkcję *function* do każdego elementu " +"*iterable*, dając wyniki. Jeśli przekazane zostaną dodatkowe argumenty " +"*iterables*, *funkcja* musi przyjmować taką liczbę argumentów i jest " +"stosowana do elementów ze wszystkich iterabli równolegle. W przypadku wielu " +"iterables, iterator zatrzymuje się, gdy najkrótszy iterable zostanie " +"wyczerpany. Jeśli *strict* jest ``True`` i jeden z iterabli wyczerpie się " +"przed innymi, rzucany jest :exc:`ValueError`. Dla przypadków, w których " +"wejścia funkcji są już ułożone w krotki argumentów, zobacz :func:`itertools." +"starmap`." msgid "Added the *strict* parameter." -msgstr "" +msgstr "Dodano parametr *strict*." msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." msgstr "" -"Zwraca największy element w iterable lub największy z dwóch lub więcej " -"argumentow." +"Zwraca największy element w iterable'u lub największy z dwóch lub więcej " +"argumentów." msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " "arguments are provided, the largest of the positional arguments is returned." msgstr "" -"Jeśli podano jeden pozycjny argument, powinien to być :term:`iterable`. " -"Zwracany jest największy element w iterable. Jeśli podano dwa lub więcej " -"pozycyjne argumenty, zwracany jest największy z pozycyjnych argumentow." +"Jeśli podano jeden pozycyjny argument, powinien to być :term:`iterable`. " +"Zwracany jest największy element w iterable. Jeśli podano dwa lub więcej " +"argumenty pozycyjne, zwracany jest największy z argumentów pozycyjnych." msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " @@ -2142,8 +2145,8 @@ msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." msgstr "" -"Zwraca najmniejszy element w iterable lub najmniejszy z dwóch lub więcej " -"argumentow." +"Zwraca najmniejszy element w iterable'u lub najmniejszy z dwóch lub więcej " +"argumentów." msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " @@ -2152,7 +2155,7 @@ msgid "" msgstr "" "Jeśli podano jeden pozycjny argument, powinien to być :term:`iterable`. " "Zwracany jest najmniejszy element w iterable. Jeśli podano dwa lub więcej " -"pozycyjne argumenty, zwracany jest najmniejszy z pozycyjnych argumentow." +"argumenty pozycyjne, zwracany jest najmniejszy z argumentów pozycyjnych." msgid "" "If multiple items are minimal, the function returns the first one " @@ -2183,8 +2186,8 @@ msgid "" msgstr "" "Jest to ostateczna klasa bazowa wszystkich innych klas. Posiada metody, " "które są wspólne dla wszystkich instancji klas Pythona. Kiedy konstruktor " -"jest wywoływany, zwraca nowy obiekt bez funkcji. Klasa konstruktor nie " -"akceptuje żadnych argumentow." +"jest wywoływany, zwraca nowy obiekt bez funkcji. Konstruktor nie akceptuje " +"żadnych argumentów." msgid "" ":class:`object` instances do *not* have :attr:`~object.__dict__` attributes, " @@ -2195,14 +2198,14 @@ msgstr "" msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " -"result is a valid Python expression. If *x* is not a Python :class:`int` " -"object, it has to define an :meth:`~object.__index__` method that returns an " -"integer. For example:" +"result is a valid Python expression. If *integer* is not a Python :class:" +"`int` object, it has to define an :meth:`~object.__index__` method that " +"returns an integer. For example:" msgstr "" -"Konwertuje liczbę liczba całkowita na ósemkowy napis z prefiksem \"0o\". " -"Wynikiem jest poprawne wyrażenie Python. Jeśli *x* nie jest obiektem " -"Pythona :class:`int` , musi definiować metodę :meth:`~object.__index__`, " -"która zwraca liczbe całkowita. Na przykład:" +"Konwertuje liczbę całkowitą na ósemkowy ciąg znaków z prefiksem \"0o\". " +"Wynik jest poprawnym wyrażeniem Pythona. Jeśli *integer* nie jest pythonowym " +"obiektem :class:`int`, musi definiować metodę :meth:`~object.__index__`, " +"która zwraca liczbę całkowitą. Na przykład:" msgid "" "If you want to convert an integer number to an octal string either with the " @@ -2371,6 +2374,10 @@ msgid "" "size is available. On most systems, the buffer will typically be 128 " "kilobytes long." msgstr "" +"Pliki binarne są buforowane w kawałkach o stałym rozmiarze; rozmiar bufora " +"to ``max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE)``, gdy dostępny jest " +"rozmiar bloku urządzenia. W większości systemów rozmiar bufora wynosi " +"zazwyczaj 128 kilobajtów." msgid "" "\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " @@ -2655,16 +2662,27 @@ msgstr "" msgid "The ``'U'`` mode has been removed." msgstr "Tryb ``'U'`` został usunięty." +msgid "Return the ordinal value of a character." +msgstr "Zwraca wartość porządkową znaku." + +msgid "" +"If the argument is a one-character string, return the Unicode code point of " +"that character. For example, ``ord('a')`` returns the integer ``97`` and " +"``ord('€')`` (Euro sign) returns ``8364``. This is the inverse of :func:" +"`chr`." +msgstr "" +"Jeśli argument jest jedno-znakowym ciągiem znaków, zwraca punkt kodowy " +"Unicode tego znaku. Na przykład, ``ord('a')`` zwraca liczbę całkowitą ``97`` " +"i ``ord('€')`` (znak euro) zwraca ``8364`` . Jest to odwrotność :func:`chr`." + msgid "" -"Given a string representing one Unicode character, return an integer " -"representing the Unicode code point of that character. For example, " -"``ord('a')`` returns the integer ``97`` and ``ord('€')`` (Euro sign) returns " -"``8364``. This is the inverse of :func:`chr`." +"If the argument is a :class:`bytes` or :class:`bytearray` object of length " +"1, return its single byte value. For example, ``ord(b'a')`` returns the " +"integer ``97``." msgstr "" -"Biorąc pod uwagę napis reprezentujący jeden punkt kodowy Unicode znak, " -"zwracać i liczba całkowita reprezentujący punkt kodowy Unicode tego znaka. " -"Na przykład, ``ord('a')`` zwraca liczbe całkowita ``97`` i ``ord('€')`` " -"(znak euro) zwraca ``8364`` . Jest to odwrotność :func:`chr`." +"Jeśli argument jest obiektem :class:`bytes` lub :class:`bytearray` o " +"długości 1, zwraca wartość pojedynczego bajtu. Na przykład ``ord(b'a')`` " +"zwraca liczbę całkowitą ``97``." msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " @@ -2674,11 +2692,11 @@ msgid "" msgstr "" "Zwraca *base* do potęgi *exp*; jeśli *mod* jest obecny, zwraca *base* do " "potęgi *exp*, modulo *mod* (obliczane bardziej efektywnie niż ``pow(base, " -"exp) % mod``). Forma dwóchargumentow ``pow(base, exp)`` jest równoważna " +"exp) % mod``). Forma dwóch argumentów ``pow(base, exp)`` jest równoważna " "użyciu operatora potęgi: ``base**exp``." msgid "" -"The arguments must have numeric types. With mixed operand types, the " +"When arguments are builtin numeric types with mixed operand types, the " "coercion rules for binary arithmetic operators apply. For :class:`int` " "operands, the result has the same type as the operands (after coercion) " "unless the second argument is negative; in that case, all arguments are " @@ -2690,15 +2708,15 @@ msgid "" "`float` with an integral exponent, a float result is delivered. For example, " "``pow(-9, 2.0)`` returns ``81.0``." msgstr "" -"Operatory argumentów muszą mieć typy numeryczne. W przypadku mieszanych " -"typów operandów obowiązują zasady koercji dla binarnych operatorów " +"Gdy argumenty są wbudowanymi typami numerycznymi z mieszanymi typami " +"operandów, obowiązują zasady koercji dla binarnych operatorów " "arytmetycznych. Dla operandów :class:`int` wynik ma ten sam typ co operandy " "(po koercji), chyba że drugi argument jest ujemny; w takim przypadku " "wszystkie argument są konwertowane na float i dostarczany jest wynik float. " "Na przykład, ``pow(10, 2)`` zwracać ``100`` , ale ``pow(10, -2)`` zwracać " "``0.01`` . W przypadku ujemnej podstawy typu :class:`int` lub :class:" -"`float` i wykładnika niecałkowitego dostarczany jest wynik złożony. Na " -"przykład, ``pow(-9, 0.5)`` zwraca wartość zbliżona do ``3j``. Natomiast dla " +"`float` i wykładnika niecałkowitego wynikiem jest liczba zespolona. Na " +"przykład, ``pow(-9, 0.5)`` zwraca wartość zbliżoną do ``3j``. Natomiast dla " "ujemnej podstawy typu :class:`int` lub :class:`float` z wykładnikiem " "całkowitym, dostarczany jest wynik zmiennoprzecinkowy. Na przykład ``pow(-9, " "2.0)`` zwraca ``81.0`` ." @@ -2734,15 +2752,15 @@ msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." msgstr "" -"W przypadku operandów :class:`int`, trzy-argumenty formy ``pow`` pozwala " +"W przypadku operandów :class:`int`, trzy-argumentowa forma ``pow`` pozwala " "teraz, aby drugi argument był ujemny, umożliwiając obliczanie odwrotności " "modularnych." msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" -"Zezwalaj na argument nazwany. Wcześniej obsługiwane były tylko pozycyjne " -"argument." +"Zezwalane na argumenty nazwane. Wcześniej obsługiwane były tylko argumenty " +"pozycyjne." msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " @@ -3002,15 +3020,15 @@ msgstr "" " zwracać f \"Person('{self.imie}', {self.wiek})\"." msgid "" -"Return a reverse :term:`iterator`. *seq* must be an object which has a :" -"meth:`~object.__reversed__` method or supports the sequence protocol (the :" -"meth:`~object.__len__` method and the :meth:`~object.__getitem__` method " -"with integer arguments starting at ``0``)." +"Return a reverse :term:`iterator`. The argument must be an object which has " +"a :meth:`~object.__reversed__` method or supports the sequence protocol " +"(the :meth:`~object.__len__` method and the :meth:`~object.__getitem__` " +"method with integer arguments starting at ``0``)." msgstr "" -"Zwraca a reverse :term:`iterator`. *seq* musi być obiektem, który ma " +"Zwraca odwrócony :term:`iterator`. Argument musi być obiektem, który ma " "metodę :meth:`~object.__reversed__` lub obsługuje protokół sekwencji " "(metoda :meth:`~object.__len__` i metoda :meth:`~object.__getitem__` z " -"liczba całkowita argument począwszy od ``0``)." +"całkowitymi argumentami począwszy od ``0``)." msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " @@ -3122,26 +3140,29 @@ msgstr "" "``None``." msgid "" -"Slice objects have read-only data attributes :attr:`!start`, :attr:`!stop`, " -"and :attr:`!step` which merely return the argument values (or their " -"default). They have no other explicit functionality; however, they are used " -"by NumPy and other third-party packages." +"Slice objects are also generated when :ref:`slicing syntax ` is " +"used. For example: ``a[start:stop:step]`` or ``a[start:stop, i]``." msgstr "" -"Obiekty slice mają dane tylko do odczytu atrybut :attr:`!start` , :attr:`!" -"stop` i :attr:`!step`, które jedynie zwracać wartości argument (lub ich " -"domyślny). Nie mają one żadnej innej wyraźnej funkcjonalności; są jednak " -"używane przez NumPy i inne pakiety innych firm." +"Obiekty slice są również generowane, gdy używana jest :ref:`składnia " +"slicingu `. Na przykład: ``a[start:stop:step]`` lub ``a[start:" +"stop, i]``." msgid "" -"Slice objects are also generated when extended indexing syntax is used. For " -"example: ``a[start:stop:step]`` or ``a[start:stop, i]``. See :func:" -"`itertools.islice` for an alternate version that returns an :term:`iterator`." +"See :func:`itertools.islice` for an alternate version that returns an :term:" +"`iterator`." msgstr "" -"Obiekty Slice są również generowane, gdy używana jest rozszerzona składnia " -"indeksowania. Na przykład: ``a[start:stop:step]`` lub ``a[start:stop, i]``. " -"Zobacz :func:`itertools.islice` dla alternatywy, która zwraca :term:" +"Zobacz :func:`itertools.islice` dla alternatywnej wersji, która zwraca :term:" "`iterator`." +msgid "" +"These read-only attributes are set to the argument values (or their " +"default). They have no other explicit functionality; however, they are used " +"by NumPy and other third-party packages." +msgstr "" +"Te atrybuty tylko-do-odczytu są ustawione na wartości argumentów (lub ich " +"wartości domyślne). Nie mają one żadnej innej wyraźnej funkcjonalności; są " +"jednak używane przez NumPy i inne zewnętrzne pakiety." + msgid "" "Slice objects are now :term:`hashable` (provided :attr:`~slice.start`, :attr:" "`~slice.stop`, and :attr:`~slice.step` are hashable)." @@ -3200,7 +3221,7 @@ msgid "" "implemented. This will help avoid bugs when using the same data with other " "ordering tools such as :func:`max` that rely on a different underlying " "method. Implementing all six comparisons also helps avoid confusion for " -"mixed type comparisons which can call reflected the :meth:`~object.__gt__` " +"mixed type comparisons which can call the reflected :meth:`~object.__gt__` " "method." msgstr "" "Algorytm sortowania używa tylko porównań ``<`` między elementami. Podczas " @@ -3355,6 +3376,8 @@ msgid "" "Added specialization for summation of complexes, using same algorithm as for " "summation of floats." msgstr "" +"Dodano specjalizację dla sumowania liczb zespolonych, używając tego samego " +"algorytmu co dla sumowania liczb zmiennoprzecinkowych." msgid "" "Return a proxy object that delegates method calls to a parent or sibling " @@ -3521,6 +3544,8 @@ msgid "" ":class:`super` objects are now :mod:`pickleable ` and :mod:" "`copyable `." msgstr "" +"Obiekty :class:`super` współpracują teraz z modułami :mod:`pickle` i :mod:" +"`copy`." msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " @@ -3632,8 +3657,8 @@ msgid "" "The result of calling this function without an argument has been updated as " "described for the :func:`locals` builtin." msgstr "" -"Wynik wywołania tej funkcji bez argumentow został zaktualizowany zgodnie z " -"opisem dla wbudowanej :func:`locals` ." +"Wynik wywołania tej funkcji bez argumentów został zaktualizowany zgodnie z " +"opisem dla wbudowanej funkcji :func:`locals`." msgid "" "Iterate over several iterables in parallel, producing tuples with an item " diff --git a/library/functools.po b/library/functools.po index de1daf28c9..6163919f45 100644 --- a/library/functools.po +++ b/library/functools.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,15 +29,15 @@ msgid "" msgstr "" msgid "**Source code:** :source:`Lib/functools.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/functools.py`" msgid "" -"The :mod:`functools` module is for higher-order functions: functions that " +"The :mod:`!functools` module is for higher-order functions: functions that " "act on or return other functions. In general, any callable object can be " "treated as a function for the purposes of this module." msgstr "" -msgid "The :mod:`functools` module defines the following functions:" +msgid "The :mod:`!functools` module defines the following functions:" msgstr "" msgid "" @@ -61,13 +60,11 @@ msgid "" "def factorial(n):\n" " return n * factorial(n-1) if n else 1\n" "\n" -">>> factorial(10) # no previously cached result, makes 11 recursive " -"calls\n" +">>> factorial(10) # no previously cached result, makes 11 recursive calls\n" "3628800\n" -">>> factorial(5) # just looks up cached value result\n" +">>> factorial(5) # no new calls, just returns the cached result\n" "120\n" -">>> factorial(12) # makes two new recursive calls, the other 10 are " -"cached\n" +">>> factorial(12) # two new recursive calls, factorial(10) is cached\n" "479001600" msgstr "" @@ -235,7 +232,7 @@ msgstr "" msgid "" "Note, type specificity applies only to the function's immediate arguments " "rather than their contents. The scalar arguments, ``Decimal(42)`` and " -"``Fraction(42)`` are be treated as distinct calls with distinct results. In " +"``Fraction(42)`` are treated as distinct calls with distinct results. In " "contrast, the tuple arguments ``('answer', Decimal(42))`` and ``('answer', " "Fraction(42))`` are treated as equivalent." msgstr "" @@ -249,13 +246,13 @@ msgstr "" msgid "" "To help measure the effectiveness of the cache and tune the *maxsize* " -"parameter, the wrapped function is instrumented with a :func:`cache_info` " +"parameter, the wrapped function is instrumented with a :func:`!cache_info` " "function that returns a :term:`named tuple` showing *hits*, *misses*, " "*maxsize* and *currsize*." msgstr "" msgid "" -"The decorator also provides a :func:`cache_clear` function for clearing or " +"The decorator also provides a :func:`!cache_clear` function for clearing or " "invalidating the cache." msgstr "" @@ -350,9 +347,9 @@ msgid "" msgstr "" msgid "" -"The class must define one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, " -"or :meth:`__ge__`. In addition, the class should supply an :meth:`__eq__` " -"method." +"The class must define one of :meth:`~object.__lt__`, :meth:`~object." +"__le__`, :meth:`~object.__gt__`, or :meth:`~object.__ge__`. In addition, the " +"class should supply an :meth:`~object.__eq__` method." msgstr "" msgid "" @@ -498,7 +495,7 @@ msgstr "" msgid "" "When *func* is a descriptor (such as a normal Python function, :func:" -"`classmethod`, :func:`staticmethod`, :func:`abstractmethod` or another " +"`classmethod`, :func:`staticmethod`, :func:`~abc.abstractmethod` or another " "instance of :class:`partialmethod`), calls to ``__get__`` are delegated to " "the underlying descriptor, and an appropriate :ref:`partial object` returned as the result." @@ -590,7 +587,7 @@ msgid "" msgstr "" msgid "" -"To add overloaded implementations to the function, use the :func:`register` " +"To add overloaded implementations to the function, use the :func:`!register` " "attribute of the generic function, which can be used as a decorator. For " "functions annotated with types, the decorator will infer the type of the " "first argument automatically::" @@ -670,7 +667,8 @@ msgstr "" msgid "" "To enable registering :term:`lambdas` and pre-existing functions, " -"the :func:`register` attribute can also be used in a functional form::" +"the :func:`~singledispatch.register` attribute can also be used in a " +"functional form::" msgstr "" msgid "" @@ -685,9 +683,9 @@ msgstr "" ">>> fun.register(type(None), nothing)" msgid "" -"The :func:`register` attribute returns the undecorated function. This " -"enables decorator stacking, :mod:`pickling`, and the creation of " -"unit tests for each variant independently::" +"The :func:`~singledispatch.register` attribute returns the undecorated " +"function. This enables decorator stacking, :mod:`pickling`, and the " +"creation of unit tests for each variant independently::" msgstr "" msgid "" @@ -781,12 +779,14 @@ msgid "" "" msgstr "" -msgid "The :func:`register` attribute now supports using type annotations." +msgid "" +"The :func:`~singledispatch.register` attribute now supports using type " +"annotations." msgstr "" msgid "" -"The :func:`register` attribute now supports :class:`typing.Union` as a type " -"annotation." +"The :func:`~singledispatch.register` attribute now supports :class:`typing." +"Union` as a type annotation." msgstr "" msgid "" @@ -796,8 +796,8 @@ msgstr "" msgid "" "To define a generic method, decorate it with the ``@singledispatchmethod`` " -"decorator. When defining a function using ``@singledispatchmethod``, note " -"that the dispatch happens on the type of the first non-*self* or non-*cls* " +"decorator. When defining a method using ``@singledispatchmethod``, note that " +"the dispatch happens on the type of the first non-*self* or non-*cls* " "argument::" msgstr "" @@ -818,10 +818,10 @@ msgstr "" msgid "" "``@singledispatchmethod`` supports nesting with other decorators such as :" -"func:`@classmethod`. Note that to allow for ``dispatcher." -"register``, ``singledispatchmethod`` must be the *outer most* decorator. " -"Here is the ``Negator`` class with the ``neg`` methods bound to the class, " -"rather than an instance of the class::" +"deco:`classmethod`. Note that to allow for ``dispatcher.register``, " +"``singledispatchmethod`` must be the *outer most* decorator. Here is the " +"``Negator`` class with the ``neg`` methods bound to the class, rather than " +"an instance of the class::" msgstr "" msgid "" @@ -843,9 +843,8 @@ msgid "" msgstr "" msgid "" -"The same pattern can be used for other similar decorators: :func:" -"`@staticmethod`, :func:`@abstractmethod`, " -"and others." +"The same pattern can be used for other similar decorators: :deco:" +"`staticmethod`, :deco:`~abc.abstractmethod`, and others." msgstr "" msgid "" @@ -934,8 +933,8 @@ msgstr "" msgid "" "Without the use of this decorator factory, the name of the example function " -"would have been ``'wrapper'``, and the docstring of the original :func:" -"`example` would have been lost." +"would have been ``'wrapper'``, and the docstring of the original :func:`!" +"example` would have been lost." msgstr "" msgid ":class:`partial` Objects" diff --git a/library/getpass.po b/library/getpass.po index 002428bc98..5c572ba1d8 100644 --- a/library/getpass.po +++ b/library/getpass.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!getpass` --- Portable password input" msgstr "" msgid "**Source code:** :source:`Lib/getpass.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/getpass.py`" msgid "Availability" msgstr "Dostępność" @@ -37,7 +37,7 @@ msgid "" "availability` for more information." msgstr "" -msgid "The :mod:`getpass` module provides two functions:" +msgid "The :mod:`!getpass` module provides two functions:" msgstr "" msgid "" @@ -52,9 +52,9 @@ msgstr "" msgid "" "The *echo_char* argument controls how user input is displayed while typing. " "If *echo_char* is ``None`` (default), input remains hidden. Otherwise, " -"*echo_char* must be a printable ASCII string and each typed character is " -"replaced by it. For example, ``echo_char='*'`` will display asterisks " -"instead of the actual input." +"*echo_char* must be a single printable ASCII character and each typed " +"character is replaced by it. For example, ``echo_char='*'`` will display " +"asterisks instead of the actual input." msgstr "" msgid "" @@ -68,6 +68,14 @@ msgid "" "you launched IDLE from rather than the idle window itself." msgstr "" +msgid "" +"On Unix systems, when *echo_char* is set, the terminal will be configured to " +"operate in :manpage:`noncanonical mode " +"`. In particular, this means " +"that line editing shortcuts such as :kbd:`Ctrl+U` will not work and may " +"insert unexpected characters into the input." +msgstr "" + msgid "Added the *echo_char* parameter for keyboard feedback." msgstr "" diff --git a/library/gettext.po b/library/gettext.po index 43657c0d5d..b90487ff7c 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!gettext` --- Multilingual internationalization services" msgstr "" msgid "**Source code:** :source:`Lib/gettext.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/gettext.py`" msgid "" -"The :mod:`gettext` module provides internationalization (I18N) and " +"The :mod:`!gettext` module provides internationalization (I18N) and " "localization (L10N) services for your Python modules and applications. It " "supports both the GNU :program:`gettext` message catalog API and a higher " "level, class-based API that may be more appropriate for Python files. The " @@ -48,7 +47,7 @@ msgid "GNU :program:`gettext` API" msgstr "" msgid "" -"The :mod:`gettext` module defines the following API, which is very similar " +"The :mod:`!gettext` module defines the following API, which is very similar " "to the GNU :program:`gettext` API. If you use this API you will affect the " "translation of your entire application globally. Often this is what you " "want if your application is monolingual, with the choice of language " @@ -59,7 +58,7 @@ msgstr "" msgid "" "Bind the *domain* to the locale directory *localedir*. More concretely, :" -"mod:`gettext` will look for binary :file:`.mo` files for the given domain " +"mod:`!gettext` will look for binary :file:`.mo` files for the given domain " "using the path (on Unix): :file:`{localedir}/{language}/LC_MESSAGES/{domain}." "mo`, where *language* is searched for in the environment variables :envvar:" "`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` " @@ -134,7 +133,7 @@ msgid "Class-based API" msgstr "" msgid "" -"The class-based API of the :mod:`gettext` module gives you more flexibility " +"The class-based API of the :mod:`!gettext` module gives you more flexibility " "and greater convenience than the GNU :program:`gettext` API. It is the " "recommended way of localizing your Python applications and modules. :mod:`!" "gettext` defines a :class:`GNUTranslations` class which implements the " @@ -436,7 +435,7 @@ msgid "The Catalog constructor" msgstr "" msgid "" -"GNOME uses a version of the :mod:`gettext` module by James Henstridge, but " +"GNOME uses a version of the :mod:`!gettext` module by James Henstridge, but " "this version has a slightly different API. Its documented usage was::" msgstr "" @@ -481,7 +480,8 @@ msgid "create language-specific translations of the message catalogs" msgstr "" msgid "" -"use the :mod:`gettext` module so that message strings are properly translated" +"use the :mod:`!gettext` module so that message strings are properly " +"translated" msgstr "" msgid "" @@ -541,12 +541,12 @@ msgid "" "language. They send back the completed language-specific versions as a :" "file:`.po` file that's compiled into a machine-readable :file:" "`.mo` binary catalog file using the :program:`msgfmt` program. The :file:`." -"mo` files are used by the :mod:`gettext` module for the actual translation " +"mo` files are used by the :mod:`!gettext` module for the actual translation " "processing at run-time." msgstr "" msgid "" -"How you use the :mod:`gettext` module in your code depends on whether you " +"How you use the :mod:`!gettext` module in your code depends on whether you " "are internationalizing a single module or your entire application. The next " "two sections will discuss each case." msgstr "" diff --git a/library/glob.po b/library/glob.po index 8d7e350329..e4ab835ae1 100644 --- a/library/glob.po +++ b/library/glob.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stefan Ocetkiewicz , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,22 +27,26 @@ msgid ":mod:`!glob` --- Unix style pathname pattern expansion" msgstr "" msgid "**Source code:** :source:`Lib/glob.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/glob.py`" msgid "" -"The :mod:`glob` module finds all the pathnames matching a specified pattern " -"according to the rules used by the Unix shell, although results are returned " -"in arbitrary order. No tilde expansion is done, but ``*``, ``?``, and " +"The :mod:`!glob` module finds pathnames using pattern matching rules similar " +"to the Unix shell. No tilde expansion is done, but ``*``, ``?``, and " "character ranges expressed with ``[]`` will be correctly matched. This is " "done by using the :func:`os.scandir` and :func:`fnmatch.fnmatch` functions " "in concert, and not by actually invoking a subshell." msgstr "" msgid "" -"Note that files beginning with a dot (``.``) can only be matched by patterns " -"that also start with a dot, unlike :func:`fnmatch.fnmatch` or :func:`pathlib." -"Path.glob`. (For tilde and shell variable expansion, use :func:`os.path." -"expanduser` and :func:`os.path.expandvars`.)" +"The pathnames are returned in no particular order. If you need a specific " +"order, sort the results." +msgstr "" + +msgid "" +"Files beginning with a dot (``.``) can only be matched by patterns that also " +"start with a dot, unlike :func:`fnmatch.fnmatch` or :func:`pathlib.Path." +"glob`. For tilde and shell variable expansion, use :func:`os.path." +"expanduser` and :func:`os.path.expandvars`." msgstr "" msgid "" @@ -52,7 +54,7 @@ msgid "" "``'[?]'`` matches the character ``'?'``." msgstr "" -msgid "The :mod:`glob` module defines the following functions:" +msgid "The :mod:`!glob` module defines the following functions:" msgstr "" msgid "" @@ -69,7 +71,7 @@ msgstr "" msgid "" "If *root_dir* is not ``None``, it should be a :term:`path-like object` " "specifying the root directory for searching. It has the same effect on :" -"func:`glob` as changing the current directory before calling it. If " +"func:`!glob` as changing the current directory before calling it. If " "*pathname* is relative, the result will contain paths relative to *root_dir*." msgstr "" diff --git a/library/graphlib.po b/library/graphlib.po index da545162a2..17f71b572f 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Igor Zubrycki , 2021\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +28,7 @@ msgid "" msgstr "" msgid "**Source code:** :source:`Lib/graphlib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/graphlib.py`" msgid "" "Provides functionality to topologically sort a graph of :term:`hashable` " @@ -260,7 +260,7 @@ msgstr "" msgid "Exceptions" msgstr "Wyjątki" -msgid "The :mod:`graphlib` module defines the following exception classes:" +msgid "The :mod:`!graphlib` module defines the following exception classes:" msgstr "" msgid "" diff --git a/library/grp.po b/library/grp.po index bbd5f3d1e6..38b6a4a3cc 100644 --- a/library/grp.po +++ b/library/grp.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!grp` --- The group database" -msgstr "" +msgstr ":mod:`!grp` --- Baza danych grup" msgid "" "This module provides access to the Unix group database. It is available on " @@ -43,7 +41,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Attribute" msgstr "atrybut" @@ -55,7 +53,7 @@ msgid "0" msgstr "0" msgid "gr_name" -msgstr "" +msgstr "gr_name" msgid "the name of the group" msgstr "" @@ -64,7 +62,7 @@ msgid "1" msgstr "1" msgid "gr_passwd" -msgstr "" +msgstr "gr_passwd" msgid "the (encrypted) group password; often empty" msgstr "" @@ -73,7 +71,7 @@ msgid "2" msgstr "2" msgid "gr_gid" -msgstr "" +msgstr "gr_gid" msgid "the numerical group ID" msgstr "" @@ -82,7 +80,7 @@ msgid "3" msgstr "3" msgid "gr_mem" -msgstr "" +msgstr "gr_mem" msgid "all the group member's user names" msgstr "" @@ -118,7 +116,7 @@ msgid "Return a list of all available group entries, in arbitrary order." msgstr "" msgid "Module :mod:`pwd`" -msgstr "" +msgstr "Moduł :mod:`pwd`" msgid "An interface to the user database, similar to this." msgstr "" diff --git a/library/gzip.po b/library/gzip.po index 705522a6ab..7ca06a04ff 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -4,16 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Waldemar Stoczkowski, 2023\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,15 +35,26 @@ msgid "" "just like the GNU programs :program:`gzip` and :program:`gunzip` would." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "The data compression is provided by the :mod:`zlib` module." msgstr "Kompresję danych zapewnia moduł :mod:`zlib`." msgid "" -"The :mod:`gzip` module provides the :class:`GzipFile` class, as well as the :" -"func:`.open`, :func:`compress` and :func:`decompress` convenience functions. " -"The :class:`GzipFile` class reads and writes :program:`gzip`\\ -format " -"files, automatically compressing or decompressing the data so that it looks " -"like an ordinary :term:`file object`." +"The :mod:`!gzip` module provides the :class:`GzipFile` class, as well as " +"the :func:`.open`, :func:`compress` and :func:`decompress` convenience " +"functions. The :class:`GzipFile` class reads and writes :program:`gzip`\\ -" +"format files, automatically compressing or decompressing the data so that it " +"looks like an ordinary :term:`file object`." msgstr "" msgid "" @@ -332,15 +344,15 @@ msgid "" "speeds up (de)compression with a mostly compatible API." msgstr "" -msgid "Command Line Interface" -msgstr "Interfejs linii komend" +msgid "Command-line interface" +msgstr "" msgid "" -"The :mod:`gzip` module provides a simple command line interface to compress " +"The :mod:`!gzip` module provides a simple command line interface to compress " "or decompress files." msgstr "" -msgid "Once executed the :mod:`gzip` module keeps the input file(s)." +msgid "Once executed the :mod:`!gzip` module keeps the input file(s)." msgstr "" msgid "" @@ -348,8 +360,8 @@ msgid "" "execute the CLI, the default compression level is 6." msgstr "" -msgid "Command line options" -msgstr "Opcje wiersza poleceń" +msgid "Command-line options" +msgstr "" msgid "If *file* is not specified, read from :data:`sys.stdin`." msgstr "" diff --git a/library/hashlib.po b/library/hashlib.po index aaa5bb142c..3cd684a7c7 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!hashlib` --- Secure hashes and message digests" msgstr "" msgid "**Source code:** :source:`Lib/hashlib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/hashlib.py`" msgid "" "This module implements a common interface to many different hash algorithms. " @@ -76,7 +74,7 @@ msgstr "" msgid "" "Additional algorithms may also be available if your Python distribution's :" -"mod:`hashlib` was linked against a build of OpenSSL that provides others. " +"mod:`!hashlib` was linked against a build of OpenSSL that provides others. " "Others *are not guaranteed available* on all installations and will only be " "accessible by name via :func:`new`. See :data:`algorithms_available`." msgstr "" @@ -111,7 +109,7 @@ msgid "" msgstr "" msgid "Usage" -msgstr "" +msgstr "Użytek" msgid "" "To obtain the digest of the byte string ``b\"Nobody inspects the spammish " @@ -130,6 +128,16 @@ msgid "" ">>> m.hexdigest()\n" "'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'" msgstr "" +">>> import hashlib\n" +">>> m = hashlib.sha256()\n" +">>> m.update(b\"Nobody inspects\")\n" +">>> m.update(b\" the spammish repetition\")\n" +">>> m.digest()\n" +"b'\\x03\\x1e\\xdd}Ae\\x15\\x93\\xc5\\xfe\\\\" +"\\x00o\\xa5u+7\\xfd\\xdf\\xf7\\xbcN\\x84:" +"\\xa6\\xaf\\x0c\\x95\\x0fK\\x94\\x06'\n" +">>> m.hexdigest()\n" +"'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'" msgid "More condensed:" msgstr "" @@ -288,8 +296,8 @@ msgid "Example:" msgstr "Przykład:" msgid "" -"Now raises a :exc:`BlockingIOError` if the file is opened in blocking mode. " -"Previously, spurious null bytes were added to the digest." +"Now raises a :exc:`BlockingIOError` if the file is opened in non-blocking " +"mode. Previously, spurious null bytes were added to the digest." msgstr "" msgid "Key derivation" @@ -357,7 +365,7 @@ msgid "" msgstr "" msgid "BLAKE2" -msgstr "" +msgstr "BLAKE2" msgid "" "BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes " @@ -380,8 +388,8 @@ msgid "" msgstr "" msgid "" -"Hash objects from this module follow the API of standard library's :mod:" -"`hashlib` objects." +"Hash objects from this module follow the API of standard library's :mod:`!" +"hashlib` objects." msgstr "" msgid "Creating hash objects" @@ -428,28 +436,28 @@ msgid "digest_size" msgstr "" msgid "len(key)" -msgstr "" +msgstr "len(key)" msgid "len(salt)" -msgstr "" +msgstr "len(salt)" msgid "len(person)" -msgstr "" +msgstr "len(person)" msgid "BLAKE2b" -msgstr "" +msgstr "BLAKE2b" msgid "64" -msgstr "" +msgstr "64" msgid "16" -msgstr "" +msgstr "16" msgid "BLAKE2s" -msgstr "" +msgstr "BLAKE2s" msgid "32" -msgstr "" +msgstr "32" msgid "8" msgstr "8" @@ -736,6 +744,9 @@ msgid "" " / \\\n" "00 01" msgstr "" +" 10\n" +" / \\\n" +"00 01" msgid "" "This example uses 64-byte internal digests, and returns the 32-byte final " @@ -887,4 +898,4 @@ msgid "(use in module hashlib)" msgstr "" msgid "blake2b, blake2s" -msgstr "" +msgstr "blake2b, blake2s" diff --git a/library/heapq.po b/library/heapq.po index 5e1138e00a..2491235472 100644 --- a/library/heapq.po +++ b/library/heapq.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-13 14:39+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,21 +24,26 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!heapq` --- Heap queue algorithm" -msgstr "" +msgstr ":mod:`!heapq` --- Algorytm kolejki kopcowej" msgid "**Source code:** :source:`Lib/heapq.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/heapq.py`" msgid "" "This module provides an implementation of the heap queue algorithm, also " "known as the priority queue algorithm." msgstr "" +"Ten moduł zawiera implementację algorytmu kolejki kopcowej, znanego również " +"jako algorytm kolejki priorytetowej." msgid "" "Min-heaps are binary trees for which every parent node has a value less than " "or equal to any of its children. We refer to this condition as the heap " "invariant." msgstr "" +"Min-kopce to drzewa binarne, w których każdy węzeł nadrzędny ma wartość " +"mniejszą lub równą dowolnemu z jego dzieci. Warunek ten nazywamy " +"niezmiennikiem kopca." msgid "" "For min-heaps, this implementation uses lists for which ``heap[k] <= " @@ -48,6 +52,11 @@ msgid "" "property of a min-heap is that its smallest element is always the root, " "``heap[0]``." msgstr "" +"Dla min-kopców, ta implementacja używa list, w których ``kopiec[k] <= " +"kopiec[2*k+1]`` i ``kopiec[k] <= kopiec[2*k+2]`` dla wszystkich *k* dla " +"których istnieją porównywane elementy. Elementy są indeksowane od zera. " +"Interesującą właściwość min-kopców jest to, że ich najmniejszy element jest " +"zawsze korzeniem, ``kopiec[0]``." msgid "" "Max-heaps satisfy the reverse invariant: every parent node has a value " @@ -94,6 +103,9 @@ msgstr "" msgid "The following functions are provided for min-heaps:" msgstr "" +msgid "Transform list *x* into a min-heap, in-place, in linear time." +msgstr "" + msgid "" "Push the value *item* onto the *heap*, maintaining the min-heap invariant." msgstr "" @@ -110,9 +122,6 @@ msgid "" "followed by a separate call to :func:`heappop`." msgstr "" -msgid "Transform list *x* into a min-heap, in-place, in linear time." -msgstr "" - msgid "" "Pop and return the smallest item from the *heap*, and also push the new " "*item*. The heap size doesn't change. If the heap is empty, :exc:" @@ -229,7 +238,7 @@ msgid "" msgstr "" msgid "Basic Examples" -msgstr "" +msgstr "Podstawowe przykłady" msgid "" "A `heapsort `_ can be implemented by " @@ -247,6 +256,14 @@ msgid "" ">>> heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])\n" "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" msgstr "" +">>> def heapsort(iterable):\n" +"... h = []\n" +"... for value in iterable:\n" +"... heappush(h, value)\n" +"... return [heappop(h) for i in range(len(h))]\n" +"...\n" +">>> heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])\n" +"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" msgid "" "This is similar to ``sorted(iterable)``, but unlike :func:`sorted`, this " @@ -268,6 +285,49 @@ msgid "" "(1, 'write spec')" msgstr "" +msgid "Other Applications" +msgstr "" + +msgid "" +"`Medians `_ are a measure of central " +"tendency for a set of numbers. In distributions skewed by outliers, the " +"median provides a more stable estimate than an average (arithmetic mean). A " +"running median is an `online algorithm `_ that updates continuously as new data arrives." +msgstr "" + +msgid "" +"A running median can be efficiently implemented by balancing two heaps, a " +"max-heap for values at or below the midpoint and a min-heap for values above " +"the midpoint. When the two heaps have the same size, the new median is the " +"average of the tops of the two heaps; otherwise, the median is at the top of " +"the larger heap::" +msgstr "" + +msgid "" +"def running_median(iterable):\n" +" \"Yields the cumulative median of values seen so far.\"\n" +"\n" +" lo = [] # max-heap\n" +" hi = [] # min-heap (same size as or one smaller than lo)\n" +"\n" +" for x in iterable:\n" +" if len(lo) == len(hi):\n" +" heappush_max(lo, heappushpop(hi, x))\n" +" yield lo[0]\n" +" else:\n" +" heappush(hi, heappushpop_max(lo, x))\n" +" yield (lo[0] + hi[0]) / 2" +msgstr "" + +msgid "For example::" +msgstr "Dla przykładu::" + +msgid "" +">>> list(running_median([5.0, 9.0, 4.0, 12.0, 8.0, 9.0]))\n" +"[5.0, 7.0, 5.0, 7.0, 8.0, 8.5]" +msgstr "" + msgid "Priority Queue Implementation Notes" msgstr "" @@ -319,6 +379,13 @@ msgid "" " priority: int\n" " item: Any=field(compare=False)" msgstr "" +"from dataclasses import dataclass, field\n" +"from typing import Any\n" +"\n" +"@dataclass(order=True)\n" +"class PrioritizedItem:\n" +" priority: int\n" +" item: Any=field(compare=False)" msgid "" "The remaining challenges revolve around finding a pending task and making " @@ -363,7 +430,7 @@ msgid "" msgstr "" msgid "Theory" -msgstr "" +msgstr "Teoria" msgid "" "Heaps are arrays for which ``a[k] <= a[2*k+1]`` and ``a[k] <= a[2*k+2]`` for " @@ -388,6 +455,15 @@ msgid "" "\n" "15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30" msgstr "" +" 0\n" +"\n" +" 1 2\n" +"\n" +" 3 4 5 6\n" +"\n" +" 7 8 9 10 11 12 13 14\n" +"\n" +"15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30" msgid "" "In the tree above, each cell *k* is topping ``2*k+1`` and ``2*k+2``. In a " diff --git a/library/hmac.po b/library/hmac.po index e9aeb55610..a5d71f9c9d 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-07-25 14:21+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,13 +23,17 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" +msgid ":mod:`!hmac` --- Keyed-Hashing for Message Authentication" msgstr "" msgid "**Source code:** :source:`Lib/hmac.py`" msgstr "" -msgid "This module implements the HMAC algorithm as described by :rfc:`2104`." +msgid "" +"This module implements the HMAC algorithm as described by :rfc:`2104`. The " +"interface allows to use any hash function with a *fixed* digest size. In " +"particular, extendable output functions such as SHAKE-128 or SHAKE-256 " +"cannot be used with HMAC." msgstr "" msgid "" @@ -47,9 +51,8 @@ msgid "" msgstr "" msgid "" -"MD5 as implicit default digest for *digestmod* is deprecated. The digestmod " -"parameter is now required. Pass it as a keyword argument to avoid " -"awkwardness when you do not have an initial msg." +"The *digestmod* argument is now required. Pass it as a keyword argument to " +"avoid awkwardness when you do not have an initial *msg*." msgstr "" msgid "" @@ -112,21 +115,20 @@ msgid "" msgstr "" msgid "A hash object has the following attributes:" -msgstr "" +msgstr "Хеш-об’єкт має такі атрибути:" msgid "The size of the resulting HMAC digest in bytes." msgstr "" msgid "The internal block size of the hash algorithm in bytes." -msgstr "" +msgstr "Розмір внутрішнього блоку хеш-алгоритму в байтах." msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." msgstr "" msgid "" -"The undocumented attributes ``HMAC.digest_cons``, ``HMAC.inner``, and ``HMAC." -"outer`` are internal implementation details and will be removed in Python " -"3.10." +"Removed the undocumented attributes ``HMAC.digest_cons``, ``HMAC.inner``, " +"and ``HMAC.outer``." msgstr "" msgid "This module also provides the following helper function:" diff --git a/library/html.entities.po b/library/html.entities.po index e5d6cb3753..56c7077583 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!html.entities` --- Definitions of HTML general entities" msgstr "" msgid "**Source code:** :source:`Lib/html/entities.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/html/entities.py`" msgid "" "This module defines four dictionaries, :data:`html5`, :data:" diff --git a/library/html.parser.po b/library/html.parser.po index 32e7dad2c1..093ee2d63e 100644 --- a/library/html.parser.po +++ b/library/html.parser.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 03:57+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!html.parser` --- Simple HTML and XHTML parser" msgstr "" msgid "**Source code:** :source:`Lib/html/parser.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/html/parser.py`" msgid "" "This module defines a class :class:`HTMLParser` which serves as the basis " @@ -39,9 +39,15 @@ msgid "Create a parser instance able to parse invalid markup." msgstr "" msgid "" -"If *convert_charrefs* is ``True`` (the default), all character references " -"(except the ones in ``script``/``style`` elements) are automatically " -"converted to the corresponding Unicode characters." +"If *convert_charrefs* is true (the default), all character references " +"(except the ones in elements like ``script`` and ``style``) are " +"automatically converted to the corresponding Unicode characters." +msgstr "" + +msgid "" +"If *scripting* is false (the default), the content of the ``noscript`` " +"element is parsed normally; if it's true, it's returned as is without being " +"parsed." msgstr "" msgid "" @@ -63,6 +69,9 @@ msgstr "" msgid "The default value for argument *convert_charrefs* is now ``True``." msgstr "" +msgid "Added the *scripting* parameter." +msgstr "" + msgid "Example HTML Parser Application" msgstr "" @@ -190,21 +199,21 @@ msgstr "" msgid "" "This method is called to process arbitrary data (e.g. text nodes and the " -"content of ```` and ````)." +"content of elements like ``script`` and ``style``)." msgstr "" msgid "" "This method is called to process a named character reference of the form " "``&name;`` (e.g. ``>``), where *name* is a general entity reference (e.g. " -"``'gt'``). This method is never called if *convert_charrefs* is ``True``." +"``'gt'``). This method is only called if *convert_charrefs* is false." msgstr "" msgid "" "This method is called to process decimal and hexadecimal numeric character " "references of the form :samp:`&#{NNN};` and :samp:`&#x{NNN};`. For example, " "the decimal equivalent for ``>`` is ``>``, whereas the hexadecimal is " -"``>``; in this case the method will receive ``'62'`` or ``'x3E'``. " -"This method is never called if *convert_charrefs* is ``True``." +"``>``; in this case the method will receive ``'62'`` or ``'x3E'``. This " +"method is only called if *convert_charrefs* is false." msgstr "" msgid "" @@ -328,8 +337,8 @@ msgid "" msgstr "" msgid "" -"The content of ``script`` and ``style`` elements is returned as is, without " -"further parsing:" +"The content of elements like ``script`` and ``style`` is returned as is, " +"without further parsing:" msgstr "" msgid "" @@ -341,10 +350,10 @@ msgid "" "End tag : style\n" "\n" ">>> parser.feed('')\n" +"... 'alert(\"hello! ☺\");')\n" "Start tag: script\n" " attr: ('type', 'text/javascript')\n" -"Data : alert(\"hello!\");\n" +"Data : alert(\"hello! ☺\");\n" "End tag : script" msgstr "" @@ -377,8 +386,8 @@ msgstr "" msgid "" "Feeding incomplete chunks to :meth:`~HTMLParser.feed` works, but :meth:" -"`~HTMLParser.handle_data` might be called more than once (unless " -"*convert_charrefs* is set to ``True``):" +"`~HTMLParser.handle_data` might be called more than once if " +"*convert_charrefs* is false:" msgstr "" msgid "" diff --git a/library/http.client.po b/library/http.client.po index c0f65d1cf5..e7bcb567b1 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!http.client` --- HTTP protocol client" msgstr "" msgid "**Source code:** :source:`Lib/http/client.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/http/client.py`" msgid "" "This module defines classes that implement the client side of the HTTP and " @@ -155,7 +154,7 @@ msgstr "" msgid "" "Parse the headers from a file pointer *fp* representing a HTTP request/" "response. The file has to be a :class:`~io.BufferedIOBase` reader (i.e. not " -"text) and must provide a valid :rfc:`2822` style header." +"text) and must provide a valid :rfc:`5322` style header." msgstr "" msgid "" @@ -308,6 +307,12 @@ msgid "" "that is not also a file as the body representation." msgstr "" +msgid "" +"Note that you must have read the whole response or call :meth:`close` if :" +"meth:`getresponse` raised an non-:exc:`ConnectionError` exception before you " +"can send a new request to the server." +msgstr "" + msgid "*body* can now be an iterable." msgstr "" @@ -323,17 +328,18 @@ msgid "" "server. Returns an :class:`HTTPResponse` instance." msgstr "" -msgid "" -"Note that you must have read the whole response before you can send a new " -"request to the server." -msgstr "" - msgid "" "If a :exc:`ConnectionError` or subclass is raised, the :class:" "`HTTPConnection` object will be ready to reconnect when a new request is " "sent." msgstr "" +msgid "" +"Note that this does not apply to :exc:`OSError`\\s raised by the underlying " +"socket. Instead the caller is responsible to call :meth:`close` on the " +"existing connection." +msgstr "" + msgid "" "Set the debugging level. The default debug level is ``0``, meaning no " "debugging output is printed. Any value greater than ``0`` will cause all " diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index a9ba928864..9277e4e9f1 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,14 +27,14 @@ msgid ":mod:`!http.cookiejar` --- Cookie handling for HTTP clients" msgstr "" msgid "**Source code:** :source:`Lib/http/cookiejar.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/http/cookiejar.py`" msgid "" -"The :mod:`http.cookiejar` module defines classes for automatic handling of " -"HTTP cookies. It is useful for accessing web sites that require small " -"pieces of data -- :dfn:`cookies` -- to be set on the client machine by an " -"HTTP response from a web server, and then returned to the server in later " -"HTTP requests." +"The :mod:`!http.cookiejar` module defines classes for automatic handling of " +"HTTP cookies. It is useful for accessing websites that require small pieces " +"of data -- :dfn:`cookies` -- to be set on the client machine by an HTTP " +"response from a web server, and then returned to the server in later HTTP " +"requests." msgstr "" msgid "" @@ -44,7 +43,7 @@ msgid "" "`2109` cookies are parsed as Netscape cookies and subsequently treated " "either as Netscape or RFC 2965 cookies according to the 'policy' in effect. " "Note that the great majority of cookies on the internet are Netscape " -"cookies. :mod:`http.cookiejar` attempts to follow the de-facto Netscape " +"cookies. :mod:`!http.cookiejar` attempts to follow the de-facto Netscape " "cookie protocol (which differs substantially from that set out in the " "original Netscape specification), including taking note of the ``max-age`` " "and ``port`` cookie-attributes introduced with RFC 2965." @@ -134,7 +133,7 @@ msgstr "" msgid "" "This class represents Netscape, :rfc:`2109` and :rfc:`2965` cookies. It is " -"not expected that users of :mod:`http.cookiejar` construct their own :class:" +"not expected that users of :mod:`!http.cookiejar` construct their own :class:" "`Cookie` instances. Instead, if necessary, call :meth:`make_cookies` on a :" "class:`CookieJar` instance." msgstr "" @@ -149,8 +148,8 @@ msgid "Module :mod:`http.cookies`" msgstr "" msgid "" -"HTTP cookie classes, principally useful for server-side code. The :mod:" -"`http.cookiejar` and :mod:`http.cookies` modules do not depend on each other." +"HTTP cookie classes, principally useful for server-side code. The :mod:`!" +"http.cookiejar` and :mod:`http.cookies` modules do not depend on each other." msgstr "" msgid "https://curl.se/rfc/cookie_spec.html" @@ -159,7 +158,7 @@ msgstr "https://curl.se/rfc/cookie_spec.html" msgid "" "The specification of the original Netscape cookie protocol. Though this is " "still the dominant protocol, the 'Netscape cookie protocol' implemented by " -"all the major browsers (and :mod:`http.cookiejar`) only bears a passing " +"all the major browsers (and :mod:`!http.cookiejar`) only bears a passing " "resemblance to the one sketched out in ``cookie_spec.html``." msgstr "" @@ -636,8 +635,8 @@ msgid "Don't allow setting cookies whose path doesn't path-match request URI." msgstr "" msgid "" -":attr:`strict_ns_domain` is a collection of flags. Its value is constructed " -"by or-ing together (for example, ``DomainStrictNoDots|" +":attr:`~DefaultCookiePolicy.strict_ns_domain` is a collection of flags. Its " +"value is constructed by or-ing together (for example, ``DomainStrictNoDots|" "DomainStrictNonDomain`` means both flags are set)." msgstr "" @@ -679,7 +678,7 @@ msgid "" "The correspondence is not one-to-one, because there are complicated rules " "for assigning default values, because the ``max-age`` and ``expires`` cookie-" "attributes contain equivalent information, and because :rfc:`2109` cookies " -"may be 'downgraded' by :mod:`http.cookiejar` from version 1 to version 0 " +"may be 'downgraded' by :mod:`!http.cookiejar` from version 1 to version 0 " "(Netscape) cookies." msgstr "" @@ -692,8 +691,8 @@ msgstr "" msgid "" "Integer or :const:`None`. Netscape cookies have :attr:`version` 0. :rfc:" "`2965` and :rfc:`2109` cookies have a ``version`` cookie-attribute of 1. " -"However, note that :mod:`http.cookiejar` may 'downgrade' RFC 2109 cookies to " -"Netscape cookies, in which case :attr:`version` is 0." +"However, note that :mod:`!http.cookiejar` may 'downgrade' RFC 2109 cookies " +"to Netscape cookies, in which case :attr:`version` is 0." msgstr "" msgid "Cookie name (a string)." @@ -738,7 +737,7 @@ msgid "" "``True`` if this cookie was received as an :rfc:`2109` cookie (ie. the " "cookie arrived in a :mailheader:`Set-Cookie` header, and the value of the " "Version cookie-attribute in that header was 1). This attribute is provided " -"because :mod:`http.cookiejar` may 'downgrade' RFC 2109 cookies to Netscape " +"because :mod:`!http.cookiejar` may 'downgrade' RFC 2109 cookies to Netscape " "cookies, in which case :attr:`version` is 0." msgstr "" @@ -784,7 +783,7 @@ msgid "Examples" msgstr "Przykłady" msgid "" -"The first example shows the most common usage of :mod:`http.cookiejar`::" +"The first example shows the most common usage of :mod:`!http.cookiejar`::" msgstr "" msgid "" diff --git a/library/http.cookies.po b/library/http.cookies.po index f10dd9f47a..185853529b 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!http.cookies` --- HTTP state management" msgstr "" msgid "**Source code:** :source:`Lib/http/cookies.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/http/cookies.py`" msgid "" -"The :mod:`http.cookies` module defines classes for abstracting the concept " +"The :mod:`!http.cookies` module defines classes for abstracting the concept " "of cookies, an HTTP state management mechanism. It supports both simple " "string-only cookies, and provides an abstraction for having any serializable " "data-type as cookie value." @@ -88,7 +88,7 @@ msgstr "" msgid "" "HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` and :mod:" -"`http.cookies` modules do not depend on each other." +"`!http.cookies` modules do not depend on each other." msgstr "" msgid ":rfc:`2109` - HTTP State Management Mechanism" @@ -161,9 +161,12 @@ msgid "" msgstr "" msgid "" -"The attribute :attr:`samesite` specifies that the browser is not allowed to " -"send the cookie along with cross-site requests. This helps to mitigate CSRF " -"attacks. Valid values for this attribute are \"Strict\" and \"Lax\"." +"The attribute :attr:`samesite` controls when the browser sends the cookie " +"with cross-site requests. This helps to mitigate CSRF attacks. Valid values " +"are \"Strict\" (only sent with same-site requests), \"Lax\" (sent with same-" +"site requests and top-level navigations), and \"None\" (sent with same-site " +"and cross-site requests). When using \"None\", the \"secure\" attribute must " +"also be set, as required by modern browsers." msgstr "" msgid "" @@ -255,7 +258,8 @@ msgid "Example" msgstr "Przykład" msgid "" -"The following example demonstrates how to use the :mod:`http.cookies` module." +"The following example demonstrates how to use the :mod:`!http.cookies` " +"module." msgstr "" msgid "" @@ -283,9 +287,9 @@ msgid "" "Set-Cookie: chips=ahoy\n" "Set-Cookie: vienna=finger\n" ">>> C = cookies.SimpleCookie()\n" -">>> C.load('keebler=\"E=everybody; L=\\\\\"Loves\\\\\"; fudge=\\\\012;\";')\n" +">>> C.load('keebler=\"E=everybody; L=\\\\\"Loves\\\\\"; fudge=;\";')\n" ">>> print(C)\n" -"Set-Cookie: keebler=\"E=everybody; L=\\\"Loves\\\"; fudge=\\012;\"\n" +"Set-Cookie: keebler=\"E=everybody; L=\\\"Loves\\\"; fudge=;\"\n" ">>> C = cookies.SimpleCookie()\n" ">>> C[\"oreo\"] = \"doublestuff\"\n" ">>> C[\"oreo\"][\"path\"] = \"/\"\n" diff --git a/library/http.po b/library/http.po index f1fe1d0f45..0bc86b2cbd 100644 --- a/library/http.po +++ b/library/http.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!http` --- HTTP modules" msgstr "" msgid "**Source code:** :source:`Lib/http/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/http/__init__.py`" msgid "" -":mod:`http` is a package that collects several modules for working with the " +":mod:`!http` is a package that collects several modules for working with the " "HyperText Transfer Protocol:" msgstr "" @@ -54,7 +53,7 @@ msgid ":mod:`http.cookiejar` provides persistence of cookies" msgstr "" msgid "" -"The :mod:`http` module also defines the following enums that help you work " +"The :mod:`!http` module also defines the following enums that help you work " "with http related code:" msgstr "" @@ -212,7 +211,7 @@ msgid "``208``" msgstr "``208``" msgid "``ALREADY_REPORTED``" -msgstr "" +msgstr "``ALREADY_REPORTED``" msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.1 (Experimental)" msgstr "" @@ -230,7 +229,7 @@ msgid "``300``" msgstr "``300``" msgid "``MULTIPLE_CHOICES``" -msgstr "" +msgstr "``MULTIPLE_CHOICES``" msgid "HTTP Semantics :rfc:`9110`, Section 15.4.1" msgstr "" @@ -239,7 +238,7 @@ msgid "``301``" msgstr "``301``" msgid "``MOVED_PERMANENTLY``" -msgstr "" +msgstr "``MOVED_PERMANENTLY``" msgid "HTTP Semantics :rfc:`9110`, Section 15.4.2" msgstr "" @@ -257,7 +256,7 @@ msgid "``303``" msgstr "``303``" msgid "``SEE_OTHER``" -msgstr "" +msgstr "``SEE_OTHER``" msgid "HTTP Semantics :rfc:`9110`, Section 15.4.4" msgstr "" @@ -356,7 +355,7 @@ msgid "``406``" msgstr "``406``" msgid "``NOT_ACCEPTABLE``" -msgstr "" +msgstr "``NOT_ACCEPTABLE``" msgid "HTTP Semantics :rfc:`9110`, Section 15.5.7" msgstr "" @@ -401,7 +400,7 @@ msgid "``411``" msgstr "``411``" msgid "``LENGTH_REQUIRED``" -msgstr "" +msgstr "``LENGTH_REQUIRED``" msgid "HTTP Semantics :rfc:`9110`, Section 15.5.12" msgstr "" @@ -473,7 +472,7 @@ msgid "``421``" msgstr "``421``" msgid "``MISDIRECTED_REQUEST``" -msgstr "" +msgstr "``MISDIRECTED_REQUEST``" msgid "HTTP Semantics :rfc:`9110`, Section 15.5.20" msgstr "" @@ -518,7 +517,7 @@ msgid "``426``" msgstr "``426``" msgid "``UPGRADE_REQUIRED``" -msgstr "" +msgstr "``UPGRADE_REQUIRED``" msgid "HTTP Semantics :rfc:`9110`, Section 15.5.22" msgstr "" @@ -611,7 +610,7 @@ msgid "``506``" msgstr "``506``" msgid "``VARIANT_ALSO_NEGOTIATES``" -msgstr "" +msgstr "``VARIANT_ALSO_NEGOTIATES``" msgid "" "Transparent Content Negotiation in HTTP :rfc:`2295`, Section 8.1 " @@ -622,7 +621,7 @@ msgid "``507``" msgstr "``507``" msgid "``INSUFFICIENT_STORAGE``" -msgstr "" +msgstr "``INSUFFICIENT_STORAGE``" msgid "WebDAV :rfc:`4918`, Section 11.5" msgstr "" @@ -674,7 +673,9 @@ msgstr "" msgid "" "Implemented RFC9110 naming for status constants. Old constant names are " -"preserved for backwards compatibility." +"preserved for backwards compatibility: ``413 REQUEST_ENTITY_TOO_LARGE``, " +"``414 REQUEST_URI_TOO_LONG``, ``416 REQUESTED_RANGE_NOT_SATISFIABLE`` and " +"``422 UNPROCESSABLE_ENTITY``." msgstr "" msgid "HTTP status category" @@ -776,55 +777,55 @@ msgid "Method" msgstr "" msgid "``GET``" -msgstr "" +msgstr "``GET``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.1" msgstr "" msgid "``HEAD``" -msgstr "" +msgstr "``HEAD``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.2" msgstr "" msgid "``POST``" -msgstr "" +msgstr "``POST``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.3" msgstr "" msgid "``PUT``" -msgstr "" +msgstr "``PUT``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.4" msgstr "" msgid "``DELETE``" -msgstr "" +msgstr "``DELETE``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.5" msgstr "" msgid "``CONNECT``" -msgstr "" +msgstr "``CONNECT``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.6" msgstr "" msgid "``OPTIONS``" -msgstr "" +msgstr "``OPTIONS``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.7" msgstr "" msgid "``TRACE``" -msgstr "" +msgstr "``TRACE``" msgid "HTTP Semantics :rfc:`9110`, Section 9.3.8" msgstr "" msgid "``PATCH``" -msgstr "" +msgstr "``PATCH``" msgid "HTTP/1.1 :rfc:`5789`" msgstr "" diff --git a/library/http.server.po b/library/http.server.po index 8168c93339..b800201341 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-04-03 14:38+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,13 +27,13 @@ msgid ":mod:`!http.server` --- HTTP servers" msgstr "" msgid "**Source code:** :source:`Lib/http/server.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/http/server.py`" msgid "This module defines classes for implementing HTTP servers." msgstr "" msgid "" -":mod:`http.server` is not recommended for production. It only implements :" +":mod:`!http.server` is not recommended for production. It only implements :" "ref:`basic security checks `." msgstr "" @@ -177,7 +176,7 @@ msgid "" "variable. This instance parses and manages the headers in the HTTP request. " "The :func:`~http.client.parse_headers` function from :mod:`http.client` is " "used to parse the headers and it requires that the HTTP request provide a " -"valid :rfc:`2822` style header." +"valid :rfc:`5322` style header." msgstr "" msgid "" @@ -309,6 +308,9 @@ msgid "" "`end_headers` MUST BE called in order to complete the operation." msgstr "" +msgid "This method does not reject input containing CRLF sequences." +msgstr "" + msgid "Headers are stored in an internal buffer." msgstr "" @@ -319,6 +321,9 @@ msgid "" "message corresponding the response *code* is sent." msgstr "" +msgid "This method does not reject *message* containing CRLF sequences." +msgstr "" + msgid "" "Adds a blank line (indicating the end of the HTTP headers in the response) " "to the headers buffer and calls :meth:`flush_headers`." @@ -458,8 +463,7 @@ msgstr "" msgid "" "Then follows a blank line signifying the end of the headers, and then the " -"contents of the file are output. If the file's MIME type starts with ``text/" -"`` the file is opened in text mode; otherwise binary mode is used." +"contents of the file are output." msgstr "" msgid "" @@ -554,7 +558,7 @@ msgid "Command-line interface" msgstr "" msgid "" -":mod:`http.server` can also be invoked directly using the :option:`-m` " +":mod:`!http.server` can also be invoked directly using the :option:`-m` " "switch of the interpreter. The following example illustrates how to serve " "files relative to the current directory::" msgstr "" @@ -613,7 +617,7 @@ msgid "python -m http.server --cgi" msgstr "" msgid "" -":mod:`http.server` command line ``--cgi`` support is being removed because :" +":mod:`!http.server` command line ``--cgi`` support is being removed because :" "class:`CGIHTTPRequestHandler` is being removed." msgstr "" @@ -657,6 +661,13 @@ msgid "" "directory to be served." msgstr "" +msgid "" +"Methods :meth:`BaseHTTPRequestHandler.send_header` and :meth:" +"`BaseHTTPRequestHandler.send_response_only` assume sanitized input and does " +"not perform input validation such as checking for the presence of CRLF " +"sequences. Untrusted input may result in HTTP Header injection attacks." +msgstr "" + msgid "" "Earlier versions of Python did not scrub control characters from the log " "messages emitted to stderr from ``python -m http.server`` or the default :" diff --git a/library/idle.po b/library/idle.po index fb48c44af4..13fae6bc44 100644 --- a/library/idle.po +++ b/library/idle.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +28,7 @@ msgid "IDLE --- Python editor and shell" msgstr "IDLE --- Python edytor i powłoka" msgid "**Source code:** :source:`Lib/idlelib/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/idlelib/`" msgid "IDLE is Python's Integrated Development and Learning Environment." msgstr "" @@ -62,6 +62,20 @@ msgstr "" msgid "configuration, browsers, and other dialogs" msgstr "" +msgid "The IDLE application is implemented in the :mod:`idlelib` package." +msgstr "" + +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "Menus" msgstr "" @@ -142,7 +156,7 @@ msgstr "" msgid "" "Save the current window with a Save As dialog. The file saved becomes the " -"new associated file for the window. (If your file namager is set to hide " +"new associated file for the window. (If your file manager is set to hide " "extensions, the current extension will be omitted in the file name box. If " "the new filename has no '.', '.py' and '.txt' will be added for Python and " "text files, except that on macOS Aqua,'.py' is added for all files.)" @@ -266,7 +280,7 @@ msgstr "" msgid "" "Open a scrollable list allowing selection of existing names. See :ref:" -"`Completions ` in the Editing and navigation section below." +"`Completions ` in the Editing and Navigation section below." msgstr "" msgid "Expand Word" @@ -283,7 +297,7 @@ msgstr "" msgid "" "After an unclosed parenthesis for a function, open a small window with " "function parameter hints. See :ref:`Calltips ` in the Editing and " -"navigation section below." +"Navigation section below." msgstr "" msgid "Show Surrounding Parens" @@ -299,9 +313,9 @@ msgid "Format Paragraph" msgstr "" msgid "" -"Reformat the current blank-line-delimited paragraph in comment block or " -"multiline string or selected line in a string. All lines in the paragraph " -"will be formatted to less than N columns, where N defaults to 72." +"Rewrap the text block containing the text insert cursor. Avoid code lines. " +"See :ref:`Format block` in the Editing and Navigation section " +"below." msgstr "" msgid "Indent Region" @@ -356,12 +370,12 @@ msgid "" "community is 4 spaces." msgstr "" -msgid "Strip Trailing Chitespace" +msgid "Strip Trailing Whitespace" msgstr "" msgid "" "Remove trailing space and other whitespace characters after the last non-" -"whitespace character of a line by applying str.rstrip to each line, " +"whitespace character of a line by applying :meth:`str.rstrip` to each line, " "including lines within multiline strings. Except for Shell windows, remove " "extra newlines at the end of the file." msgstr "" @@ -828,6 +842,19 @@ msgid "" "function definitions, or after opening an existing file." msgstr "" +msgid "Format block" +msgstr "" + +msgid "" +"Reformat Paragraph rewraps a block ('paragraph') of contiguous equally " +"indented non-blank comments, a similar block of text within a multiline " +"string, or a selected subset of either. If needed, add a blank line to " +"separate string from code. Partial lines in a selection expand to complete " +"lines. The resulting lines have the same indent as before but have maximum " +"total length of N columns (characters). Change the default N of 72 on the " +"Window tab of IDLE Settings." +msgstr "" + msgid "Code Context" msgstr "" @@ -950,7 +977,7 @@ msgid "" "importing functions to be used from IDLE's Python shell." msgstr "" -msgid "Command line usage" +msgid "Command-line usage" msgstr "" msgid "" @@ -1372,7 +1399,7 @@ msgid "idlelib --- implementation of IDLE application" msgstr "" msgid "**Source code:** :source:`Lib/idlelib`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/idlelib`" msgid "" "The Lib/idlelib package implements the IDLE application. See the rest of " diff --git a/library/imaplib.po b/library/imaplib.po index fbba6ce0b4..d82495dbcd 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!imaplib` --- IMAP4 protocol client" msgstr "" msgid "**Source code:** :source:`Lib/imaplib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/imaplib.py`" msgid "" "This module defines three classes, :class:`IMAP4`, :class:`IMAP4_SSL` and :" @@ -46,7 +46,7 @@ msgid "" msgstr "" msgid "" -"Three classes are provided by the :mod:`imaplib` module, :class:`IMAP4` is " +"Three classes are provided by the :mod:`!imaplib` module, :class:`IMAP4` is " "the base class:" msgstr "" @@ -425,6 +425,9 @@ msgid "" "includes the phrase ``AUTH=CRAM-MD5``." msgstr "" +msgid "An :exc:`IMAP4.error` is raised if MD5 support is not available." +msgstr "" + msgid "Shutdown connection to server. Returns server ``BYE`` response." msgstr "" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index 6ca8c0ea2a..1ec86fa278 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +30,7 @@ msgid "``importlib.metadata`` is no longer provisional." msgstr "" msgid "**Source code:** :source:`Lib/importlib/metadata/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/importlib/metadata/__init__.py`" msgid "" "``importlib.metadata`` is a library that provides access to the metadata of " diff --git a/library/importlib.po b/library/importlib.po index 425dd9d79d..ede3ca71df 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,12 +27,12 @@ msgid ":mod:`!importlib` --- The implementation of :keyword:`!import`" msgstr "" msgid "**Source code:** :source:`Lib/importlib/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/importlib/__init__.py`" msgid "Introduction" msgstr "Wprowadzenie" -msgid "The purpose of the :mod:`importlib` package is three-fold." +msgid "The purpose of the :mod:`!importlib` package is three-fold." msgstr "" msgid "" @@ -306,14 +304,20 @@ msgid "" "class:`~importlib.machinery.ModuleSpec`." msgstr "" -msgid ":mod:`importlib.abc` -- Abstract base classes related to import" +msgid "" +"This function is not thread-safe. Calling it from multiple threads can " +"result in unexpected behavior. It's recommended to use the :class:`threading." +"Lock` or other synchronization primitives for thread-safe module reloading." msgstr "" -msgid "**Source code:** :source:`Lib/importlib/abc.py`" +msgid ":mod:`!importlib.abc` -- Abstract base classes related to import" msgstr "" +msgid "**Source code:** :source:`Lib/importlib/abc.py`" +msgstr "**Kod źródłowy:** :source:`Lib/importlib/abc.py`" + msgid "" -"The :mod:`importlib.abc` module contains all of the core abstract base " +"The :mod:`!importlib.abc` module contains all of the core abstract base " "classes used by :keyword:`import`. Some subclasses of the core abstract base " "classes are also provided to help in implementing the core ABCs." msgstr "" @@ -481,7 +485,8 @@ msgstr "" msgid "" "This ABC is deprecated in favour of supporting resource loading through :" -"class:`importlib.resources.abc.TraversableResources`." +"class:`importlib.resources.abc.TraversableResources`. This class exists for " +"backwards compatibility only with other ABCs in this module." msgstr "" msgid "" @@ -702,151 +707,11 @@ msgid "" "``__init__``." msgstr "" -msgid "" -"An :term:`abstract base class` to provide the ability to read *resources*." -msgstr "" - -msgid "" -"From the perspective of this ABC, a *resource* is a binary artifact that is " -"shipped within a package. Typically this is something like a data file that " -"lives next to the ``__init__.py`` file of the package. The purpose of this " -"class is to help abstract out the accessing of such data files so that it " -"does not matter if the package and its data file(s) are stored e.g. in a zip " -"file versus on the file system." -msgstr "" - -msgid "" -"For any of methods of this class, a *resource* argument is expected to be a :" -"term:`path-like object` which represents conceptually just a file name. This " -"means that no subdirectory paths should be included in the *resource* " -"argument. This is because the location of the package the reader is for, " -"acts as the \"directory\". Hence the metaphor for directories and file names " -"is packages and resources, respectively. This is also why instances of this " -"class are expected to directly correlate to a specific package (instead of " -"potentially representing multiple packages or a module)." -msgstr "" - -msgid "" -"Loaders that wish to support resource reading are expected to provide a " -"method called ``get_resource_reader(fullname)`` which returns an object " -"implementing this ABC's interface. If the module specified by fullname is " -"not a package, this method should return :const:`None`. An object compatible " -"with this ABC should only be returned when the specified module is a package." -msgstr "" - -msgid "Use :class:`importlib.resources.abc.TraversableResources` instead." -msgstr "" - -msgid "" -"Returns an opened, :term:`file-like object` for binary reading of the " -"*resource*." -msgstr "" - -msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." -msgstr "" - -msgid "Returns the file system path to the *resource*." -msgstr "" - -msgid "" -"If the resource does not concretely exist on the file system, raise :exc:" -"`FileNotFoundError`." -msgstr "" - -msgid "" -"Returns ``True`` if the named *name* is considered a resource. :exc:" -"`FileNotFoundError` is raised if *name* does not exist." -msgstr "" - -msgid "" -"Returns an :term:`iterable` of strings over the contents of the package. Do " -"note that it is not required that all names returned by the iterator be " -"actual resources, e.g. it is acceptable to return names for which :meth:" -"`is_resource` would be false." -msgstr "" - -msgid "" -"Allowing non-resource names to be returned is to allow for situations where " -"how a package and its resources are stored are known a priori and the non-" -"resource names would be useful. For instance, returning subdirectory names " -"is allowed so that when it is known that the package and resources are " -"stored on the file system then those subdirectory names can be used directly." -msgstr "" - -msgid "The abstract method returns an iterable of no items." -msgstr "" - -msgid "" -"An object with a subset of :class:`pathlib.Path` methods suitable for " -"traversing directories and opening files." -msgstr "" - -msgid "" -"For a representation of the object on the file-system, use :meth:`importlib." -"resources.as_file`." -msgstr "" - -msgid "Use :class:`importlib.resources.abc.Traversable` instead." -msgstr "" - -msgid "Abstract. The base name of this object without any parent references." -msgstr "" - -msgid "Yield ``Traversable`` objects in ``self``." -msgstr "" - -msgid "Return ``True`` if ``self`` is a directory." -msgstr "" - -msgid "Return ``True`` if ``self`` is a file." -msgstr "" - -msgid "Return Traversable child in ``self``." -msgstr "" - -msgid "Return ``Traversable`` child in ``self``." -msgstr "" - -msgid "" -"*mode* may be 'r' or 'rb' to open as text or binary. Return a handle " -"suitable for reading (same as :attr:`pathlib.Path.open`)." -msgstr "" - -msgid "" -"When opening as text, accepts encoding parameters such as those accepted by :" -"class:`io.TextIOWrapper`." -msgstr "" - -msgid "Read contents of ``self`` as bytes." -msgstr "" - -msgid "Read contents of ``self`` as text." -msgstr "" - -msgid "" -"An abstract base class for resource readers capable of serving the :meth:" -"`importlib.resources.files` interface. Subclasses :class:`importlib." -"resources.abc.ResourceReader` and provides concrete implementations of the :" -"class:`importlib.resources.abc.ResourceReader`'s abstract methods. " -"Therefore, any loader supplying :class:`importlib.abc.TraversableResources` " -"also supplies ResourceReader." -msgstr "" - -msgid "" -"Loaders that wish to support resource reading are expected to implement this " -"interface." -msgstr "" - -msgid "" -"Returns a :class:`importlib.resources.abc.Traversable` object for the loaded " -"package." -msgstr "" - -msgid ":mod:`importlib.machinery` -- Importers and path hooks" +msgid ":mod:`!importlib.machinery` -- Importers and path hooks" msgstr "" msgid "**Source code:** :source:`Lib/importlib/machinery.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/importlib/machinery.py`" msgid "" "This module contains the various objects that help :keyword:`import` find " @@ -1216,8 +1081,8 @@ msgid "" "To accommodate this requirement, when running on iOS, extension module " "binaries are *not* packaged as ``.so`` files on ``sys.path``, but as " "individual standalone frameworks. To discover those frameworks, this loader " -"is be registered against the ``.fwork`` file extension, with a ``.fwork`` " -"file acting as a placeholder in the original location of the binary on ``sys." +"is registered against the ``.fwork`` file extension, with a ``.fwork`` file " +"acting as a placeholder in the original location of the binary on ``sys." "path``. The ``.fwork`` file contains the path of the actual binary in the " "``Frameworks`` folder, relative to the app bundle. To allow for resolving a " "framework-packaged binary back to the original location, the framework is " @@ -1264,11 +1129,11 @@ msgstr "Dostępność" msgid "Path to the ``.fwork`` file for the extension module." msgstr "" -msgid ":mod:`importlib.util` -- Utility code for importers" +msgid ":mod:`!importlib.util` -- Utility code for importers" msgstr "" msgid "**Source code:** :source:`Lib/importlib/util.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/importlib/util.py`" msgid "" "This module contains the various objects that help in the construction of " diff --git a/library/importlib.resources.abc.po b/library/importlib.resources.abc.po index c607c46fb9..da49c2d8d9 100644 --- a/library/importlib.resources.abc.po +++ b/library/importlib.resources.abc.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,25 +23,25 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`importlib.resources.abc` -- Abstract base classes for resources" +msgid ":mod:`!importlib.resources.abc` -- Abstract base classes for resources" msgstr "" msgid "**Source code:** :source:`Lib/importlib/resources/abc.py`" msgstr "" msgid "*Superseded by TraversableResources*" -msgstr "" +msgstr "*Замінено TraversableResources*" msgid "" "An :term:`abstract base class` to provide the ability to read *resources*." -msgstr "" +msgstr ":term:`abstract base class` для надання можливості читати *ресурси*." msgid "" "From the perspective of this ABC, a *resource* is a binary artifact that is " "shipped within a package. Typically this is something like a data file that " "lives next to the ``__init__.py`` file of the package. The purpose of this " "class is to help abstract out the accessing of such data files so that it " -"does not matter if the package and its data file(s) are stored in a e.g. zip " +"does not matter if the package and its data file(s) are stored e.g. in a zip " "file versus on the file system." msgstr "" @@ -55,6 +55,14 @@ msgid "" "class are expected to directly correlate to a specific package (instead of " "potentially representing multiple packages or a module)." msgstr "" +"Для будь-якого методу цього класу очікується, що аргумент *resource* буде :" +"term:`path-like object`, який концептуально представляє лише ім’я файлу. Це " +"означає, що шляхи підкаталогів не повинні включатися в аргумент *resource*. " +"Це пояснюється тим, що місце розташування пакета, для якого призначений " +"зчитувач, діє як \"каталог\". Тому метафорою для каталогів і імен файлів є " +"пакети та ресурси відповідно. Ось чому очікується, що екземпляри цього класу " +"безпосередньо співвідносяться з певним пакетом (замість того, щоб потенційно " +"представляти кілька пакетів або модуль)." msgid "" "Loaders that wish to support resource reading are expected to provide a " @@ -63,27 +71,40 @@ msgid "" "not a package, this method should return :const:`None`. An object compatible " "with this ABC should only be returned when the specified module is a package." msgstr "" +"Очікується, що завантажувачі, які бажають підтримувати читання ресурсів, " +"нададуть метод під назвою ``get_resource_reader(fullname)``, який повертає " +"об’єкт, що реалізує цей інтерфейс ABC. Якщо модуль, указаний повним іменем, " +"не є пакетом, цей метод має повернути :const:`None`. Об’єкт, сумісний із цим " +"ABC, слід повертати лише тоді, коли вказаний модуль є пакетом." + +msgid "Use :class:`importlib.resources.abc.TraversableResources` instead." +msgstr "" msgid "" "Returns an opened, :term:`file-like object` for binary reading of the " "*resource*." msgstr "" +"Повертає відкритий :term:`file-like object` для двійкового читання *ресурсу*." msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." -msgstr "" +msgstr "Якщо ресурс не знайдено, виникає :exc:`FileNotFoundError`." msgid "Returns the file system path to the *resource*." -msgstr "" +msgstr "Повертає шлях файлової системи до *ресурсу*." msgid "" "If the resource does not concretely exist on the file system, raise :exc:" "`FileNotFoundError`." msgstr "" +"Якщо ресурс конкретно не існує у файловій системі, викликайте :exc:" +"`FileNotFoundError`." msgid "" "Returns ``True`` if the named *name* is considered a resource. :exc:" "`FileNotFoundError` is raised if *name* does not exist." msgstr "" +"Повертає ``True``, якщо назване *ім’я* вважається ресурсом. :exc:" +"`FileNotFoundError` виникає, якщо *name* не існує." msgid "" "Returns an :term:`iterable` of strings over the contents of the package. Do " @@ -91,6 +112,10 @@ msgid "" "actual resources, e.g. it is acceptable to return names for which :meth:" "`is_resource` would be false." msgstr "" +"Повертає :term:`iterable` рядків над вмістом пакета. Зауважте, що не " +"обов’язково, щоб усі імена, які повертає ітератор, були фактичними " +"ресурсами, наприклад. прийнятно повертати імена, для яких :meth:" +"`is_resource` буде false." msgid "" "Allowing non-resource names to be returned is to allow for situations where " @@ -99,9 +124,14 @@ msgid "" "is allowed so that when it is known that the package and resources are " "stored on the file system then those subdirectory names can be used directly." msgstr "" +"Дозволити повертати нересурсні імена, щоб дозволити ситуації, коли те, як " +"пакет і його ресурси зберігаються, відомі апріорі, і нересурсні імена будуть " +"корисними. Наприклад, дозволено повертати імена підкаталогів, щоб, якщо " +"відомо, що пакет і ресурси зберігаються у файловій системі, ці імена " +"підкаталогів можна було використовувати безпосередньо." msgid "The abstract method returns an iterable of no items." -msgstr "" +msgstr "Абстрактний метод повертає ітерацію без елементів." msgid "" "An object with a subset of :class:`pathlib.Path` methods suitable for " @@ -117,40 +147,74 @@ msgid "Abstract. The base name of this object without any parent references." msgstr "" msgid "Yield Traversable objects in self." +msgstr "Прибуток Traversable об'єктів в себе." + +msgid "Return ``True`` if self is a directory." +msgstr "" + +msgid "Return ``True`` if self is a file." +msgstr "" + +msgid "" +"Traverse directories according to *pathsegments* and return the result as :" +"class:`!Traversable`." msgstr "" -msgid "Return True if self is a directory." +msgid "" +"Each *pathsegments* argument may contain multiple names separated by forward " +"slashes (``/``, ``posixpath.sep`` ). For example, the following are " +"equivalent::" msgstr "" -msgid "Return True if self is a file." +msgid "" +"files.joinpath('subdir', 'subsuddir', 'file.txt')\n" +"files.joinpath('subdir/subsuddir/file.txt')" msgstr "" -msgid "Return Traversable child in self." +msgid "" +"Note that some :class:`!Traversable` implementations might not be updated to " +"the latest version of the protocol. For compatibility with such " +"implementations, provide a single argument without path separators to each " +"call to ``joinpath``. For example::" +msgstr "" + +msgid "files.joinpath('subdir').joinpath('subsubdir').joinpath('file.txt')" +msgstr "" + +msgid "" +"``joinpath`` accepts multiple *pathsegments*, and these segments may contain " +"forward slashes as path separators. Previously, only a single *child* " +"argument was accepted." +msgstr "" + +msgid "Return Traversable child in self. Equivalent to ``joinpath(child)``." msgstr "" msgid "" "*mode* may be 'r' or 'rb' to open as text or binary. Return a handle " "suitable for reading (same as :attr:`pathlib.Path.open`)." msgstr "" +"*mode* може бути \"r\" або \"rb\", щоб відкрити як текстовий або двійковий " +"файл. Повертає дескриптор, придатний для читання (те саме, що :attr:`pathlib." +"Path.open`)." msgid "" "When opening as text, accepts encoding parameters such as those accepted by :" -"attr:`io.TextIOWrapper`." +"class:`io.TextIOWrapper`." msgstr "" msgid "Read contents of self as bytes." -msgstr "" +msgstr "Читати вміст себе як байти." msgid "Read contents of self as text." -msgstr "" +msgstr "Прочитати вміст себе як текст." msgid "" "An abstract base class for resource readers capable of serving the :meth:" -"`importlib.resources.files` interface. Subclasses :class:`importlib." -"resources.abc.ResourceReader` and provides concrete implementations of the :" -"class:`importlib.resources.abc.ResourceReader`'s abstract methods. " -"Therefore, any loader supplying :class:`importlib.abc.TraversableResources` " -"also supplies ResourceReader." +"`importlib.resources.files` interface. Subclasses :class:`ResourceReader` " +"and provides concrete implementations of the :class:`!ResourceReader`'s " +"abstract methods. Therefore, any loader supplying :class:`!" +"TraversableResources` also supplies :class:`!ResourceReader`." msgstr "" msgid "" diff --git a/library/importlib.resources.po b/library/importlib.resources.po index d811af5474..8752c387a4 100644 --- a/library/importlib.resources.po +++ b/library/importlib.resources.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,8 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`importlib.resources` -- Resources" +msgid "" +":mod:`!importlib.resources` -- Package resource reading, opening and access" msgstr "" msgid "**Source code:** :source:`Lib/importlib/resources/__init__.py`" @@ -31,9 +32,21 @@ msgstr "" msgid "" "This module leverages Python's import system to provide access to " -"*resources* within *packages*. If you can import a package, you can access " -"resources within that package. Resources can be opened or read, in either " -"binary or text mode." +"*resources* within *packages*." +msgstr "" + +msgid "" +"\"Resources\" are file-like resources associated with a module or package in " +"Python. The resources may be contained directly in a package, within a " +"subdirectory contained in that package, or adjacent to modules outside a " +"package. Resources may be text or binary. As a result, Python module sources " +"(.py) of a package and compilation artifacts (pycache) are technically de-" +"facto resources of that package. In practice, however, resources are " +"primarily those non-Python artifacts exposed specifically by the package " +"author." +msgstr "" + +msgid "Resources can be opened or read in either binary or text mode." msgstr "" msgid "" @@ -67,155 +80,209 @@ msgid "" msgstr "" msgid "" -"Whenever a function accepts a ``Package`` argument, you can pass in either " -"a :class:`module object ` or a module name as a string. " -"You can only pass module objects whose ``__spec__." -"submodule_search_locations`` is not ``None``." +"Represents an anchor for resources, either a :class:`module object ` or a module name as a string. Defined as ``Union[str, " +"ModuleType]``." msgstr "" -msgid "The ``Package`` type is defined as ``Union[str, ModuleType]``." +msgid "" +"Returns a :class:`~importlib.resources.abc.Traversable` object representing " +"the resource container (think directory) and its resources (think files). A " +"Traversable may contain other containers (think subdirectories)." msgstr "" msgid "" -"Returns a :class:`~importlib.resources.abc.Traversable` object representing " -"the resource container for the package (think directory) and its resources " -"(think files). A Traversable may contain other containers (think " -"subdirectories)." +"*anchor* is an optional :class:`Anchor`. If the anchor is a package, " +"resources are resolved from that package. If a module, resources are " +"resolved adjacent to that module (in the same package or the package root). " +"If the anchor is omitted, the caller's module is used." msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the :data:" -"`Package` requirements." +"*package* parameter was renamed to *anchor*. *anchor* can now be a non-" +"package module and if omitted will default to the caller's module. *package* " +"is still accepted for compatibility but will raise a :exc:" +"`DeprecationWarning`. Consider passing the anchor positionally or using " +"``importlib_resources >= 5.10`` for a compatible interface on older Pythons." msgstr "" msgid "" "Given a :class:`~importlib.resources.abc.Traversable` object representing a " -"file, typically from :func:`importlib.resources.files`, return a context " -"manager for use in a :keyword:`with` statement. The context manager provides " -"a :class:`pathlib.Path` object." +"file or directory, typically from :func:`importlib.resources.files`, return " +"a context manager for use in a :keyword:`with` statement. The context " +"manager provides a :class:`pathlib.Path` object." msgstr "" msgid "" -"Exiting the context manager cleans up any temporary file created when the " -"resource was extracted from e.g. a zip file." +"Exiting the context manager cleans up any temporary file or directory " +"created when the resource was extracted from e.g. a zip file." msgstr "" msgid "" "Use ``as_file`` when the Traversable methods (``read_text``, etc) are " -"insufficient and an actual file on the file system is required." +"insufficient and an actual file or directory on the file system is required." msgstr "" -msgid "Deprecated functions" +msgid "Added support for *traversable* representing a directory." msgstr "" +msgid "Functional API" +msgstr "Функціональний API" + msgid "" -"An older, deprecated set of functions is still available, but is scheduled " -"for removal in a future version of Python. The main drawback of these " -"functions is that they do not support directories: they assume all resources " -"are located directly within a *package*." +"A set of simplified, backwards-compatible helpers is available. These allow " +"common operations in a single function call." +msgstr "" + +msgid "For all the following functions:" msgstr "" msgid "" -"For *resource* arguments of the functions below, you can pass in the name of " -"a resource as a string or a :class:`path-like object `." +"*anchor* is an :class:`~importlib.resources.Anchor`, as in :func:`~importlib." +"resources.files`. Unlike in ``files``, it may not be omitted." msgstr "" -msgid "The ``Resource`` type is defined as ``Union[str, os.PathLike]``." +msgid "" +"*path_names* are components of a resource's path name, relative to the " +"anchor. For example, to get the text of resource named ``info.txt``, use::" msgstr "" -msgid "Open for binary reading the *resource* within *package*." +msgid "importlib.resources.read_text(my_module, \"info.txt\")" msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements. *resource* is the name of the resource to open " -"within *package*; it may not contain path separators and it may not have sub-" -"resources (i.e. it cannot be a directory). This function returns a ``typing." -"BinaryIO`` instance, a binary I/O stream open for reading." +"Like :meth:`Traversable.joinpath `, The " +"individual components should use forward slashes (``/``) as path separators. " +"For example, the following are equivalent::" msgstr "" -msgid "Calls to this function can be replaced by::" +msgid "" +"importlib.resources.read_binary(my_module, \"pics/painting.png\")\n" +"importlib.resources.read_binary(my_module, \"pics\", \"painting.png\")" msgstr "" msgid "" -"Open for text reading the *resource* within *package*. By default, the " -"resource is opened for reading as UTF-8." +"For backward compatibility reasons, functions that read text require an " +"explicit *encoding* argument if multiple *path_names* are given. For " +"example, to get the text of ``info/chapter1.txt``, use::" msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements. *resource* is the name of the resource to open " -"within *package*; it may not contain path separators and it may not have sub-" -"resources (i.e. it cannot be a directory). *encoding* and *errors* have the " -"same meaning as with built-in :func:`open`." +"importlib.resources.read_text(my_module, \"info\", \"chapter1.txt\",\n" +" encoding='utf-8')" +msgstr "" + +msgid "Open the named resource for binary reading." msgstr "" msgid "" -"This function returns a ``typing.TextIO`` instance, a text I/O stream open " -"for reading." +"See :ref:`the introduction ` for details on " +"*anchor* and *path_names*." msgstr "" msgid "" -"Read and return the contents of the *resource* within *package* as ``bytes``." +"This function returns a :class:`~typing.BinaryIO` object, that is, a binary " +"stream open for reading." +msgstr "" + +msgid "This function is roughly equivalent to::" +msgstr "" + +msgid "files(anchor).joinpath(*path_names).open('rb')" +msgstr "" + +msgid "Multiple *path_names* are accepted." msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements. *resource* is the name of the resource to open " -"within *package*; it may not contain path separators and it may not have sub-" -"resources (i.e. it cannot be a directory). This function returns the " -"contents of the resource as :class:`bytes`." +"Open the named resource for text reading. By default, the contents are read " +"as strict UTF-8." msgstr "" msgid "" -"Read and return the contents of *resource* within *package* as a ``str``. By " -"default, the contents are read as strict UTF-8." +"See :ref:`the introduction ` for details on " +"*anchor* and *path_names*. *encoding* and *errors* have the same meaning as " +"in built-in :func:`open`." msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements. *resource* is the name of the resource to open " -"within *package*; it may not contain path separators and it may not have sub-" -"resources (i.e. it cannot be a directory). *encoding* and *errors* have the " -"same meaning as with built-in :func:`open`. This function returns the " -"contents of the resource as :class:`str`." +"For backward compatibility reasons, the *encoding* argument must be given " +"explicitly if there are multiple *path_names*. This limitation is scheduled " +"to be removed in Python 3.15." msgstr "" msgid "" -"Return the path to the *resource* as an actual file system path. This " +"This function returns a :class:`~typing.TextIO` object, that is, a text " +"stream open for reading." +msgstr "" + +msgid "files(anchor).joinpath(*path_names).open('r', encoding=encoding)" +msgstr "" + +msgid "" +"Multiple *path_names* are accepted. *encoding* and *errors* must be given as " +"keyword arguments." +msgstr "" + +msgid "Read and return the contents of the named resource as :class:`bytes`." +msgstr "" + +msgid "files(anchor).joinpath(*path_names).read_bytes()" +msgstr "" + +msgid "" +"Read and return the contents of the named resource as :class:`str`. By " +"default, the contents are read as strict UTF-8." +msgstr "" + +msgid "files(anchor).joinpath(*path_names).read_text(encoding=encoding)" +msgstr "" + +msgid "" +"Provides the path to the *resource* as an actual file system path. This " "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" msgid "" -"Exiting the context manager cleans up any temporary file created when the " -"resource needs to be extracted from e.g. a zip file." +"Exiting the context manager cleans up any temporary files created, e.g. when " +"the resource needs to be extracted from a zip file." +msgstr "" + +msgid "" +"For example, the :meth:`~pathlib.Path.stat` method requires an actual file " +"system path; it can be used like this::" +msgstr "" + +msgid "" +"with importlib.resources.path(anchor, \"resource.txt\") as fspath:\n" +" result = fspath.stat()" +msgstr "" + +msgid "as_file(files(anchor).joinpath(*path_names))" msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements. *resource* is the name of the resource to open " -"within *package*; it may not contain path separators and it may not have sub-" -"resources (i.e. it cannot be a directory)." +"Return ``True`` if the named resource exists, otherwise ``False``. This " +"function does not consider directories to be resources." msgstr "" -msgid "Calls to this function can be replaced using :func:`as_file`::" +msgid "files(anchor).joinpath(*path_names).is_file()" msgstr "" msgid "" -"Return ``True`` if there is a resource named *name* in the package, " -"otherwise ``False``. This function does not consider directories to be " -"resources. *package* is either a name or a module object which conforms to " -"the ``Package`` requirements." +"Return an iterable over the named items within the package or path. The " +"iterable returns names of resources (e.g. files) and non-resources (e.g. " +"directories) as :class:`str`. The iterable does not recurse into " +"subdirectories." msgstr "" msgid "" -"Return an iterable over the named items within the package. The iterable " -"returns :class:`str` resources (e.g. files) and non-resources (e.g. " -"directories). The iterable does not recurse into subdirectories." +"for resource in files(anchor).joinpath(*path_names).iterdir():\n" +" yield resource.name" msgstr "" msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements." +"Prefer ``iterdir()`` as above, which offers more control over the results " +"and richer functionality." msgstr "" diff --git a/library/index.po b/library/index.po index 6995992229..6252249e8a 100644 --- a/library/index.po +++ b/library/index.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/inspect.po b/library/inspect.po index a776dd4841..ea358d1480 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,10 +27,10 @@ msgid ":mod:`!inspect` --- Inspect live objects" msgstr "" msgid "**Source code:** :source:`Lib/inspect.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/inspect.py`" msgid "" -"The :mod:`inspect` module provides several useful functions to help get " +"The :mod:`!inspect` module provides several useful functions to help get " "information about live objects such as modules, classes, methods, functions, " "tracebacks, frame objects, and code objects. For example, it can help you " "examine the contents of a class, retrieve the source code of a method, " @@ -180,19 +177,19 @@ msgid "traceback" msgstr "" msgid "tb_frame" -msgstr "" +msgstr "tb_frame" msgid "frame object at this level" msgstr "" msgid "tb_lasti" -msgstr "" +msgstr "tb_lasti" msgid "index of last attempted instruction in bytecode" msgstr "" msgid "tb_lineno" -msgstr "" +msgstr "tb_lineno" msgid "current line number in Python source code" msgstr "" @@ -207,25 +204,25 @@ msgid "frame" msgstr "" msgid "f_back" -msgstr "" +msgstr "f_back" msgid "next outer frame object (this frame's caller)" msgstr "" msgid "f_builtins" -msgstr "" +msgstr "f_builtins" msgid "builtins namespace seen by this frame" msgstr "" msgid "f_code" -msgstr "" +msgstr "f_code" msgid "code object being executed in this frame" msgstr "" msgid "f_globals" -msgstr "" +msgstr "f_globals" msgid "global namespace seen by this frame" msgstr "" @@ -234,10 +231,10 @@ msgid "f_lasti" msgstr "" msgid "f_lineno" -msgstr "" +msgstr "f_lineno" msgid "f_locals" -msgstr "" +msgstr "f_locals" msgid "local namespace seen by this frame" msgstr "" @@ -279,7 +276,7 @@ msgid "code" msgstr "" msgid "co_argcount" -msgstr "" +msgstr "co_argcount" msgid "" "number of arguments (not including keyword only arguments, \\* or \\*\\* " @@ -287,7 +284,7 @@ msgid "" msgstr "" msgid "co_code" -msgstr "" +msgstr "co_code" msgid "string of raw compiled bytecode" msgstr "" @@ -299,7 +296,7 @@ msgid "tuple of names of cell variables (referenced by containing scopes)" msgstr "" msgid "co_consts" -msgstr "" +msgstr "co_consts" msgid "tuple of constants used in the bytecode" msgstr "" @@ -311,13 +308,13 @@ msgid "name of file in which this code object was created" msgstr "" msgid "co_firstlineno" -msgstr "" +msgstr "co_firstlineno" msgid "number of first line in Python source code" msgstr "" msgid "co_flags" -msgstr "" +msgstr "co_flags" msgid "" "bitmap of ``CO_*`` flags, read more :ref:`here `" @@ -336,19 +333,19 @@ msgid "tuple of names of free variables (referenced via a function's closure)" msgstr "" msgid "co_posonlyargcount" -msgstr "" +msgstr "co_posonlyargcount" msgid "number of positional only arguments" msgstr "" msgid "co_kwonlyargcount" -msgstr "" +msgstr "co_kwonlyargcount" msgid "number of keyword only arguments (not including \\*\\* arg)" msgstr "" msgid "co_name" -msgstr "" +msgstr "co_name" msgid "name with which this code object was defined" msgstr "" @@ -366,13 +363,13 @@ msgid "tuple of names other than arguments and function locals" msgstr "" msgid "co_nlocals" -msgstr "" +msgstr "co_nlocals" msgid "number of local variables" msgstr "" msgid "co_stacksize" -msgstr "" +msgstr "co_stacksize" msgid "virtual machine stack space required" msgstr "" @@ -409,14 +406,20 @@ msgid "name" msgstr "nazwa" msgid "gi_frame" -msgstr "" +msgstr "gi_frame" msgid "gi_running" -msgstr "" +msgstr "gi_running" msgid "is the generator running?" msgstr "" +msgid "gi_suspended" +msgstr "" + +msgid "is the generator suspended?" +msgstr "" + msgid "gi_code" msgstr "" @@ -441,6 +444,9 @@ msgstr "" msgid "ag_running" msgstr "" +msgid "ag_suspended" +msgstr "" + msgid "ag_code" msgstr "" @@ -448,10 +454,10 @@ msgid "coroutine" msgstr "" msgid "cr_await" -msgstr "" +msgstr "cr_await" msgid "cr_frame" -msgstr "" +msgstr "cr_frame" msgid "cr_running" msgstr "" @@ -459,9 +465,15 @@ msgstr "" msgid "is the coroutine running?" msgstr "" -msgid "cr_code" +msgid "cr_suspended" msgstr "" +msgid "is the coroutine suspended?" +msgstr "" + +msgid "cr_code" +msgstr "cr_code" + msgid "cr_origin" msgstr "" @@ -491,6 +503,15 @@ msgstr "" msgid "Add ``__builtins__`` attribute to functions." msgstr "" +msgid "Add ``gi_suspended`` attribute to generators." +msgstr "" + +msgid "Add ``cr_suspended`` attribute to coroutines." +msgstr "" + +msgid "Add ``ag_suspended`` attribute to async generators." +msgstr "" + msgid "Add ``f_generator`` attribute to frames." msgstr "" @@ -661,6 +682,11 @@ msgid "" "wrapped function is an :term:`asynchronous generator` function." msgstr "" +msgid "" +"Functions wrapped in :func:`functools.partialmethod` now return ``True`` if " +"the wrapped function is a :term:`asynchronous generator` function." +msgstr "" + msgid "" "Return ``True`` if the object is an :term:`asynchronous generator iterator` " "created by an :term:`asynchronous generator` function." @@ -1332,7 +1358,7 @@ msgid "" "This method was previously documented as deprecated in favour of :func:" "`signature` in Python 3.5, but that decision has been reversed in order to " "restore a clearly supported standard interface for single-source Python 2/3 " -"code migrating away from the legacy :func:`getargspec` API." +"code migrating away from the legacy :func:`!getargspec` API." msgstr "" msgid "" @@ -1430,6 +1456,11 @@ msgid "" "documentation of that function for more information." msgstr "" +msgid "" +"This function may execute arbitrary code contained in annotations. See :ref:" +"`annotationlib-security` for more information." +msgstr "" + msgid "" "This function is now an alias for :func:`annotationlib.get_annotations`. " "Calling it as ``inspect.get_annotations`` will continue to work." @@ -1843,7 +1874,7 @@ msgid "" "The flags are specific to CPython, and may not be defined in other Python " "implementations. Furthermore, the flags are an implementation detail, and " "can be removed or deprecated in future Python releases. It's recommended to " -"use public APIs from the :mod:`inspect` module for any introspection needs." +"use public APIs from the :mod:`!inspect` module for any introspection needs." msgstr "" msgid "Buffer flags" @@ -1858,11 +1889,11 @@ msgstr "" msgid "The meaning of the flags is explained at :ref:`buffer-request-types`." msgstr "" -msgid "Command Line Interface" -msgstr "Interfejs linii komend" +msgid "Command-line interface" +msgstr "" msgid "" -"The :mod:`inspect` module also provides a basic introspection capability " +"The :mod:`!inspect` module also provides a basic introspection capability " "from the command line." msgstr "" diff --git a/library/internet.po b/library/internet.po index 943aaf5308..2d1017d67d 100644 --- a/library/internet.po +++ b/library/internet.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/intro.po b/library/intro.po index 5c71d60f9a..b508f1b8a4 100644 --- a/library/intro.po +++ b/library/intro.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/io.po b/library/io.po index 4031087ae8..752db99fd9 100644 --- a/library/io.po +++ b/library/io.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 -# Rafael Fontenelle , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,13 +27,13 @@ msgid ":mod:`!io` --- Core tools for working with streams" msgstr "" msgid "**Source code:** :source:`Lib/io.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/io.py`" msgid "Overview" msgstr "Skorowidz" msgid "" -"The :mod:`io` module provides Python's main facilities for dealing with " +"The :mod:`!io` module provides Python's main facilities for dealing with " "various types of I/O. There are three main types of I/O: *text I/O*, " "*binary I/O* and *raw I/O*. These are generic categories, and various " "backing stores can be used for each of them. A concrete object belonging to " @@ -360,7 +357,7 @@ msgid "" msgstr "" msgid "" -"The following table summarizes the ABCs provided by the :mod:`io` module:" +"The following table summarizes the ABCs provided by the :mod:`!io` module:" msgstr "" msgid "ABC" @@ -656,15 +653,14 @@ msgstr "" msgid "" "The main difference with :class:`RawIOBase` is that methods :meth:`read`, :" "meth:`readinto` and :meth:`write` will try (respectively) to read as much " -"input as requested or to consume all given output, at the expense of making " -"perhaps more than one system call." +"input as requested or to emit all provided data." msgstr "" msgid "" -"In addition, those methods can raise :exc:`BlockingIOError` if the " -"underlying raw stream is in non-blocking mode and cannot take or give enough " -"data; unlike their :class:`RawIOBase` counterparts, they will never return " -"``None``." +"In addition, if the underlying raw stream is in non-blocking mode, when the " +"system returns would block :meth:`write` will raise :exc:`BlockingIOError` " +"with :attr:`BlockingIOError.characters_written` and :meth:`read` will return " +"data read so far or ``None`` if no data is available." msgstr "" msgid "" @@ -702,34 +698,37 @@ msgid "" msgstr "" msgid "" -"Read and return up to *size* bytes. If the argument is omitted, ``None``, " -"or negative, data is read and returned until EOF is reached. An empty :" -"class:`bytes` object is returned if the stream is already at EOF." +"Read and return up to *size* bytes. If the argument is omitted, ``None``, or " +"negative read as much as possible." msgstr "" msgid "" -"If the argument is positive, and the underlying raw stream is not " -"interactive, multiple raw reads may be issued to satisfy the byte count " -"(unless EOF is reached first). But for interactive raw streams, at most one " -"raw read will be issued, and a short result does not imply that EOF is " -"imminent." +"Fewer bytes may be returned than requested. An empty :class:`bytes` object " +"is returned if the stream is already at EOF. More than one read may be made " +"and calls may be retried if specific errors are encountered, see :meth:`os." +"read` and :pep:`475` for more details. Less than size bytes being returned " +"does not imply that EOF is imminent." msgstr "" msgid "" -"A :exc:`BlockingIOError` is raised if the underlying raw stream is in non " -"blocking-mode, and has no data available at the moment." +"When reading as much as possible the default implementation will use ``raw." +"readall`` if available (which should implement :meth:`RawIOBase.readall`), " +"otherwise will read in a loop until read returns ``None``, an empty :class:" +"`bytes`, or a non-retryable error. For most streams this is to EOF, but for " +"non-blocking streams more data may become available." msgstr "" msgid "" -"Read and return up to *size* bytes, with at most one call to the underlying " -"raw stream's :meth:`~RawIOBase.read` (or :meth:`~RawIOBase.readinto`) " -"method. This can be useful if you are implementing your own buffering on " -"top of a :class:`BufferedIOBase` object." +"When the underlying raw stream is non-blocking, implementations may either " +"raise :exc:`BlockingIOError` or return ``None`` if no data is available. :" +"mod:`!io` implementations return ``None``." msgstr "" msgid "" -"If *size* is ``-1`` (the default), an arbitrary number of bytes are returned " -"(more than zero unless EOF is reached)." +"Read and return up to *size* bytes, calling :meth:`~RawIOBase.readinto` " +"which may retry if :py:const:`~errno.EINTR` is encountered per :pep:`475`. " +"If *size* is ``-1`` or not provided, the implementation will choose an " +"arbitrary value for *size*." msgstr "" msgid "" @@ -743,6 +742,11 @@ msgid "" "stream, unless the latter is interactive." msgstr "" +msgid "" +"A :exc:`BlockingIOError` is raised if the underlying raw stream is in non " +"blocking-mode, and has no data available at the moment." +msgstr "" + msgid "" "Read bytes into a pre-allocated, writable :term:`bytes-like object` *b*, " "using at most one call to the underlying raw stream's :meth:`~RawIOBase." @@ -924,25 +928,18 @@ msgid "" msgstr "" msgid "" -"Return bytes from the stream without advancing the position. At most one " -"single read on the raw stream is done to satisfy the call. The number of " -"bytes returned may be less or more than requested." -msgstr "" - -msgid "" -"Read and return *size* bytes, or if *size* is not given or negative, until " -"EOF or if the read call would block in non-blocking mode." +"Return bytes from the stream without advancing the position. The number of " +"bytes returned may be less or more than requested. If the underlying raw " +"stream is non-blocking and the operation would block, returns empty bytes." msgstr "" msgid "" -"When the underlying raw stream is non-blocking, a :exc:`BlockingIOError` may " -"be raised if a read operation cannot be completed immediately." +"In :class:`BufferedReader` this is the same as :meth:`io.BufferedIOBase.read`" msgstr "" msgid "" -"Read and return up to *size* bytes with only one call on the raw stream. If " -"at least one byte is buffered, only buffered bytes are returned. Otherwise, " -"one raw stream read call is made." +"In :class:`BufferedReader` this is the same as :meth:`io.BufferedIOBase." +"read1`" msgstr "" msgid "" @@ -989,8 +986,9 @@ msgstr "" msgid "" "Write the :term:`bytes-like object`, *b*, and return the number of bytes " -"written. When in non-blocking mode, a :exc:`BlockingIOError` is raised if " -"the buffer needs to be written out but the raw stream blocks." +"written. When in non-blocking mode, a :exc:`BlockingIOError` with :attr:" +"`BlockingIOError.characters_written` set is raised if the buffer needs to be " +"written out but the raw stream blocks." msgstr "" msgid "" @@ -1060,9 +1058,9 @@ msgid "" msgstr "" msgid "" -"The underlying binary buffer (a :class:`BufferedIOBase` instance) that :" -"class:`TextIOBase` deals with. This is not part of the :class:`TextIOBase` " -"API and may not exist in some implementations." +"The underlying binary buffer (a :class:`BufferedIOBase` or :class:" +"`RawIOBase` instance) that :class:`TextIOBase` deals with. This is not part " +"of the :class:`TextIOBase` API and may not exist in some implementations." msgstr "" msgid "" @@ -1212,6 +1210,11 @@ msgid "" "The *encoding* argument now supports the ``\"locale\"`` dummy encoding name." msgstr "" +msgid "" +"When the underlying raw stream is non-blocking, a :exc:`BlockingIOError` may " +"be raised if a read operation cannot be completed immediately." +msgstr "" + msgid "" ":class:`TextIOWrapper` provides these data attributes and methods in " "addition to those from :class:`TextIOBase` and :class:`IOBase`:" diff --git a/library/ipaddress.po b/library/ipaddress.po index fcfef66c85..ae9e82a5f2 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,11 +27,11 @@ msgid ":mod:`!ipaddress` --- IPv4/IPv6 manipulation library" msgstr "" msgid "**Source code:** :source:`Lib/ipaddress.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/ipaddress.py`" msgid "" -":mod:`ipaddress` provides the capabilities to create, manipulate and operate " -"on IPv4 and IPv6 addresses and networks." +":mod:`!ipaddress` provides the capabilities to create, manipulate and " +"operate on IPv4 and IPv6 addresses and networks." msgstr "" msgid "" @@ -51,7 +51,7 @@ msgid "Convenience factory functions" msgstr "" msgid "" -"The :mod:`ipaddress` module provides factory functions to conveniently " +"The :mod:`!ipaddress` module provides factory functions to conveniently " "create IP addresses, networks and interfaces:" msgstr "" @@ -266,7 +266,22 @@ msgid "" "`2373` (for IPv6)." msgstr "" -msgid "``True`` if the address is otherwise IETF reserved." +msgid "" +"``True`` if the address is noted as reserved by the IETF. For IPv4, this is " +"only ``240.0.0.0/4``, the ``Reserved`` address block. For IPv6, this is all " +"addresses `allocated `__ as ``Reserved by IETF`` " +"for future use." +msgstr "" + +msgid "" +"For IPv4, ``is_reserved`` is not related to the address block value of the " +"``Reserved-by-Protocol`` column in iana-ipv4-special-registry_." +msgstr "" + +msgid "" +"For IPv6, ``fec0::/10`` a former Site-Local scoped address prefix is " +"currently excluded from that list (see :attr:`~IPv6Address.is_site_local` & :" +"rfc:`3879`)." msgstr "" msgid "" @@ -911,7 +926,7 @@ msgstr "" msgid "" "doesn't make sense. There are some times however, where you may wish to " -"have :mod:`ipaddress` sort these anyway. If you need to do this, you can " +"have :mod:`!ipaddress` sort these anyway. If you need to do this, you can " "use this function as the *key* argument to :func:`sorted`." msgstr "" diff --git a/library/itertools.po b/library/itertools.po index 626ca07bb2..4fcda21ff5 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -47,7 +46,7 @@ msgid "" "by combining :func:`map` and :func:`count` to form ``map(f, count())``." msgstr "" -msgid "**Infinite iterators:**" +msgid "**General iterators:**" msgstr "" msgid "Iterator" @@ -62,45 +61,6 @@ msgstr "" msgid "Example" msgstr "Przykład" -msgid ":func:`count`" -msgstr ":func:`count`" - -msgid "[start[, step]]" -msgstr "" - -msgid "start, start+step, start+2*step, ..." -msgstr "" - -msgid "``count(10) → 10 11 12 13 14 ...``" -msgstr "" - -msgid ":func:`cycle`" -msgstr ":func:`cycle`" - -msgid "p" -msgstr "" - -msgid "p0, p1, ... plast, p0, p1, ..." -msgstr "" - -msgid "``cycle('ABCD') → A B C D A B C D ...``" -msgstr "" - -msgid ":func:`repeat`" -msgstr ":func:`repeat`" - -msgid "elem [,n]" -msgstr "" - -msgid "elem, elem, elem, ... endlessly or up to n times" -msgstr "" - -msgid "``repeat(10, 3) → 10 10 10``" -msgstr "" - -msgid "**Iterators terminating on the shortest input sequence:**" -msgstr "" - msgid ":func:`accumulate`" msgstr ":func:`accumulate`" @@ -158,6 +118,30 @@ msgstr "" msgid "``compress('ABCDEF', [1,0,1,0,1,1]) → A C E F``" msgstr "" +msgid ":func:`count`" +msgstr ":func:`count`" + +msgid "[start[, step]]" +msgstr "" + +msgid "start, start+step, start+2*step, ..." +msgstr "" + +msgid "``count(10) → 10 11 12 13 14 ...``" +msgstr "" + +msgid ":func:`cycle`" +msgstr ":func:`cycle`" + +msgid "p" +msgstr "p" + +msgid "p0, p1, ... plast, p0, p1, ..." +msgstr "" + +msgid "``cycle('ABCD') → A B C D A B C D ...``" +msgstr "" + msgid ":func:`dropwhile`" msgstr ":func:`dropwhile`" @@ -212,6 +196,18 @@ msgstr "" msgid "``pairwise('ABCDEFG') → AB BC CD DE EF FG``" msgstr "" +msgid ":func:`repeat`" +msgstr ":func:`repeat`" + +msgid "elem [,n]" +msgstr "" + +msgid "elem, elem, elem, ... endlessly or up to n times" +msgstr "" + +msgid "``repeat(10, 3) → 10 10 10``" +msgstr "" + msgid ":func:`starmap`" msgstr ":func:`starmap`" @@ -294,19 +290,19 @@ msgid "Examples" msgstr "Przykłady" msgid "``product('ABCD', repeat=2)``" -msgstr "" +msgstr "``product('ABCD', repeat=2)``" msgid "``AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD``" msgstr "" msgid "``permutations('ABCD', 2)``" -msgstr "" +msgstr "``permutations('ABCD', 2)``" msgid "``AB AC AD BA BC BD CA CB CD DA DB DC``" msgstr "" msgid "``combinations('ABCD', 2)``" -msgstr "" +msgstr "``combinations('ABCD', 2)``" msgid "``AB AC AD BC BD CD``" msgstr "" @@ -1119,7 +1115,7 @@ msgstr "" msgid "" "A secondary purpose of the recipes is to serve as an incubator. The " "``accumulate()``, ``compress()``, and ``pairwise()`` itertools started out " -"as recipes. Currently, the ``sliding_window()``, ``iter_index()``, and " +"as recipes. Currently, the ``sliding_window()``, ``derangements()``, and " "``sieve()`` recipes are being tested to see whether they prove their worth." msgstr "" @@ -1143,11 +1139,17 @@ msgid "" msgstr "" msgid "" +"from itertools import (accumulate, batched, chain, combinations, compress,\n" +" count, cycle, filterfalse, groupby, islice, permutations, product,\n" +" repeat, starmap, tee, zip_longest)\n" "from collections import Counter, deque\n" "from contextlib import suppress\n" "from functools import reduce\n" -"from math import comb, prod, sumprod, isqrt\n" -"from operator import itemgetter, getitem, mul, neg\n" +"from math import comb, isqrt, prod, sumprod\n" +"from operator import getitem, is_not, itemgetter, mul, neg, truediv\n" +"\n" +"\n" +"# ==== Basic one liners ====\n" "\n" "def take(n, iterable):\n" " \"Return first n items of the iterable as a list.\"\n" @@ -1158,9 +1160,10 @@ msgid "" " # prepend(1, [2, 3, 4]) → 1 2 3 4\n" " return chain([value], iterable)\n" "\n" -"def tabulate(function, start=0):\n" -" \"Return function(0), function(1), ...\"\n" -" return map(function, count(start))\n" +"def running_mean(iterable):\n" +" \"Yield the average of all values seen so far.\"\n" +" # running_mean([8.5, 9.5, 7.5, 6.5]) -> 8.5 9.0 8.5 8.0\n" +" return map(truediv, accumulate(iterable), count(1))\n" "\n" "def repeatfunc(function, times=None, *args):\n" " \"Repeat calls to a function with specified arguments.\"\n" @@ -1206,8 +1209,8 @@ msgid "" "def first_true(iterable, default=False, predicate=None):\n" " \"Returns the first true value or the *default* if there is no true " "value.\"\n" -" # first_true([a,b,c], x) → a or b or c or x\n" -" # first_true([a,b], x, f) → a if f(a) else b if f(b) else x\n" +" # first_true([a, b, c], x) → a or b or c or x\n" +" # first_true([a, b], x, f) → a if f(a) else b if f(b) else x\n" " return next(filter(predicate, iterable), default)\n" "\n" "def all_equal(iterable, key=None):\n" @@ -1215,6 +1218,9 @@ msgid "" " # all_equal('4٤௪౪໔', key=int) → True\n" " return len(take(2, groupby(iterable, key))) <= 1\n" "\n" +"\n" +"# ==== Data pipelines ====\n" +"\n" "def unique_justseen(iterable, key=None):\n" " \"Yield unique elements, preserving order. Remember only the element " "just seen.\"\n" @@ -1249,7 +1255,7 @@ msgid "" "\n" "def sliding_window(iterable, n):\n" " \"Collect data into overlapping fixed-length chunks or blocks.\"\n" -" # sliding_window('ABCDEFG', 4) → ABCD BCDE CDEF DEFG\n" +" # sliding_window('ABCDEFG', 3) → ABC BCD CDE DEF EFG\n" " iterator = iter(iterable)\n" " window = deque(islice(iterator, n - 1), maxlen=n)\n" " for x in iterator:\n" @@ -1258,7 +1264,7 @@ msgid "" "\n" "def grouper(iterable, n, *, incomplete='fill', fillvalue=None):\n" " \"Collect data into non-overlapping fixed-length chunks or blocks.\"\n" -" # grouper('ABCDEFG', 3, fillvalue='x') → ABC DEF Gxx\n" +" # grouper('ABCDEFG', 3, fillvalue='x') → ABC DEF Gxx\n" " # grouper('ABCDEFG', 3, incomplete='strict') → ABC DEF ValueError\n" " # grouper('ABCDEFG', 3, incomplete='ignore') → ABC DEF\n" " iterators = [iter(iterable)] * n\n" @@ -1287,6 +1293,17 @@ msgid "" " slices = starmap(slice, combinations(range(len(seq) + 1), 2))\n" " return map(getitem, repeat(seq), slices)\n" "\n" +"def derangements(iterable, r=None):\n" +" \"Produce r length permutations without fixed points.\"\n" +" # derangements('ABCD') → BADC BCDA BDAC CADB CDAB CDBA DABC DCAB DCBA\n" +" # Algorithm credited to Stefan Pochmann\n" +" seq = tuple(iterable)\n" +" pos = tuple(range(len(seq)))\n" +" have_moved = map(map, repeat(is_not), repeat(pos), permutations(pos, " +"r=r))\n" +" valid_derangements = map(all, have_moved)\n" +" return compress(permutations(seq, r=r), valid_derangements)\n" +"\n" "def iter_index(iterable, value, start=0, stop=None):\n" " \"Return indices where a value occurs in a sequence or iterable.\"\n" " # iter_index('AABCADEAF', 'A') → 0 1 4 7\n" @@ -1311,13 +1328,11 @@ msgid "" " if first is not None:\n" " yield first()\n" " while True:\n" -" yield function()" -msgstr "" - -msgid "The following recipes have a more mathematical flavor:" -msgstr "" - -msgid "" +" yield function()\n" +"\n" +"\n" +"# ==== Mathematical operations ====\n" +"\n" "def multinomial(*counts):\n" " \"Number of distinct arrangements of a multiset.\"\n" " # Counter('abracadabra').values() → 5 2 2 1 1\n" @@ -1335,9 +1350,12 @@ msgid "" " # sum_of_squares([10, 20, 30]) → 1400\n" " return sumprod(*tee(iterable))\n" "\n" +"\n" +"# ==== Matrix operations ====\n" +"\n" "def reshape(matrix, columns):\n" " \"Reshape a 2-D matrix to have a given number of columns.\"\n" -" # reshape([(0, 1), (2, 3), (4, 5)], 3) → (0, 1, 2), (3, 4, 5)\n" +" # reshape([(0, 1), (2, 3), (4, 5)], 3) → (0, 1, 2) (3, 4, 5)\n" " return batched(chain.from_iterable(matrix), columns, strict=True)\n" "\n" "def transpose(matrix):\n" @@ -1347,10 +1365,13 @@ msgid "" "\n" "def matmul(m1, m2):\n" " \"Multiply two matrices.\"\n" -" # matmul([(7, 5), (3, 5)], [(2, 5), (7, 9)]) → (49, 80), (41, 60)\n" +" # matmul([(7, 5), (3, 5)], [(2, 5), (7, 9)]) → (49, 80) (41, 60)\n" " n = len(m2[0])\n" " return batched(starmap(sumprod, product(m1, transpose(m2))), n)\n" "\n" +"\n" +"# ==== Polynomial arithmetic ====\n" +"\n" "def convolve(signal, kernel):\n" " \"\"\"Discrete linear convolution of two iterables.\n" " Equivalent to polynomial multiplication.\n" @@ -1405,6 +1426,9 @@ msgid "" " powers = reversed(range(1, n))\n" " return list(map(mul, coefficients, powers))\n" "\n" +"\n" +"# ==== Number theory ====\n" +"\n" "def sieve(n):\n" " \"Primes less than n.\"\n" " # sieve(30) → 2 3 5 7 11 13 17 19 23 29\n" diff --git a/library/json.po b/library/json.po index 08d09d7322..2a673c63eb 100644 --- a/library/json.po +++ b/library/json.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Waldemar Stoczkowski, 2023 -# haaritsubaki, 2023 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +27,7 @@ msgid ":mod:`!json` --- JSON encoder and decoder" msgstr "" msgid "**Source code:** :source:`Lib/json/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/json/__init__.py`" msgid "" "`JSON (JavaScript Object Notation) `_, specified by :rfc:" @@ -42,6 +38,12 @@ msgid "" "strict subset of JavaScript [#rfc-errata]_ )." msgstr "" +msgid "" +"The term \"object\" in the context of JSON processing in Python can be " +"ambiguous. All values in Python are objects. In JSON, an object refers to " +"any data wrapped in curly braces, similar to a Python dictionary." +msgstr "" + msgid "" "Be cautious when parsing JSON data from untrusted sources. A malicious JSON " "string may cause the decoder to consume considerable CPU and memory " @@ -49,7 +51,7 @@ msgid "" msgstr "" msgid "" -":mod:`json` exposes an API familiar to users of the standard library :mod:" +"This module exposes an API familiar to users of the standard library :mod:" "`marshal` and :mod:`pickle` modules." msgstr "" @@ -96,7 +98,7 @@ msgid "" "}" msgstr "" -msgid "Specializing JSON object encoding::" +msgid "Customizing JSON object encoding::" msgstr "" msgid "" @@ -126,7 +128,7 @@ msgid "" "['streaming API']" msgstr "" -msgid "Specializing JSON object decoding::" +msgid "Customizing JSON object decoding::" msgstr "" msgid "" @@ -164,7 +166,7 @@ msgid "" "['[2.0', ', 1.0', ']']" msgstr "" -msgid "Using :mod:`json` from the shell to validate and pretty-print:" +msgid "Using :mod:`!json` from the shell to validate and pretty-print:" msgstr "" msgid "" @@ -226,8 +228,10 @@ msgstr "" msgid "" "If ``True`` (the default), the output is guaranteed to have all incoming non-" -"ASCII characters escaped. If ``False``, these characters will be outputted " -"as-is." +"ASCII and non-printable characters escaped. If ``False``, all characters " +"will be outputted as-is, except for the characters that must be escaped: " +"quotation mark, reverse solidus, and the control characters U+0000 through " +"U+001F." msgstr "" msgid "" @@ -315,7 +319,7 @@ msgid "" msgstr "" msgid "" -"If set, a function that is called with the result of any object literal " +"If set, a function that is called with the result of any JSON object literal " "decoded (a :class:`dict`). The return value of this function will be used " "instead of the :class:`dict`. This feature can be used to implement custom " "decoders, for example `JSON-RPC `_ class hinting. " @@ -323,7 +327,7 @@ msgid "" msgstr "" msgid "" -"If set, a function that is called with the result of any object literal " +"If set, a function that is called with the result of any JSON object literal " "decoded with an ordered list of pairs. The return value of this function " "will be used instead of the :class:`dict`. This feature can be used to " "implement custom decoders. If *object_hook* is also set, *object_pairs_hook* " @@ -406,7 +410,7 @@ msgid "JSON" msgstr "" msgid "Python" -msgstr "" +msgstr "Python" msgid "object" msgstr "obiekt" @@ -569,8 +573,10 @@ msgstr "" msgid "" "If *ensure_ascii* is true (the default), the output is guaranteed to have " -"all incoming non-ASCII characters escaped. If *ensure_ascii* is false, " -"these characters will be output as-is." +"all incoming non-ASCII and non-printable characters escaped. If " +"*ensure_ascii* is false, all characters will be output as-is, except for the " +"characters that must be escaped: quotation mark, reverse solidus, and the " +"control characters U+0000 through U+001F." msgstr "" msgid "" @@ -724,7 +730,7 @@ msgstr "" msgid "" "As permitted, though not required, by the RFC, this module's serializer sets " "*ensure_ascii=True* by default, thus escaping the output so that the " -"resulting strings only contain ASCII characters." +"resulting strings only contain printable ASCII characters." msgstr "" msgid "" @@ -855,11 +861,11 @@ msgid "Command-line interface" msgstr "" msgid "**Source code:** :source:`Lib/json/tool.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/json/tool.py`" msgid "" -"The :mod:`json` module can be invoked as a script via ``python -m json`` to " -"validate and pretty-print JSON objects. The :mod:`json.tool` submodule " +"The :mod:`!json` module can be invoked as a script via ``python -m json`` to " +"validate and pretty-print JSON objects. The :mod:`!json.tool` submodule " "implements this interface." msgstr "" @@ -883,7 +889,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`json` module may now be directly executed as ``python -m json``. " +"The :mod:`!json` module may now be directly executed as ``python -m json``. " "For backwards compatibility, invoking the CLI as ``python -m json.tool`` " "remains supported." msgstr "" diff --git a/library/linecache.po b/library/linecache.po index 0df88c764f..15aa7b8ba0 100644 --- a/library/linecache.po +++ b/library/linecache.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!linecache` --- Random access to text lines" msgstr "" msgid "**Source code:** :source:`Lib/linecache.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/linecache.py`" msgid "" -"The :mod:`linecache` module allows one to get any line from a Python source " +"The :mod:`!linecache` module allows one to get any line from a Python source " "file, while attempting to optimize internally, using a cache, the common " "case where many lines are read from a single file. This is used by the :mod:" "`traceback` module to retrieve source lines for inclusion in the formatted " @@ -44,7 +43,7 @@ msgid "" "the absence of an encoding token, the file encoding defaults to UTF-8." msgstr "" -msgid "The :mod:`linecache` module defines the following functions:" +msgid "The :mod:`!linecache` module defines the following functions:" msgstr "" msgid "" @@ -55,7 +54,7 @@ msgstr "" msgid "" "If *filename* indicates a frozen module (starting with ``', YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,21 +27,22 @@ msgid ":mod:`!locale` --- Internationalization services" msgstr "" msgid "**Source code:** :source:`Lib/locale.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/locale.py`" msgid "" -"The :mod:`locale` module opens access to the POSIX locale database and " +"The :mod:`!locale` module opens access to the POSIX locale database and " "functionality. The POSIX locale mechanism allows programmers to deal with " "certain cultural issues in an application, without requiring the programmer " "to know all the specifics of each country where the software is executed." msgstr "" msgid "" -"The :mod:`locale` module is implemented on top of the :mod:`!_locale` " +"The :mod:`!locale` module is implemented on top of the :mod:`!_locale` " "module, which in turn uses an ANSI C locale implementation if available." msgstr "" -msgid "The :mod:`locale` module defines the following exception and functions:" +msgid "" +"The :mod:`!locale` module defines the following exception and functions:" msgstr "" msgid "" @@ -53,12 +53,17 @@ msgstr "" msgid "" "If *locale* is given and not ``None``, :func:`setlocale` modifies the locale " "setting for the *category*. The available categories are listed in the data " -"description below. *locale* may be a string, or an iterable of two strings " -"(language code and encoding). If it's an iterable, it's converted to a " -"locale name using the locale aliasing engine. An empty string specifies the " -"user's default settings. If the modification of the locale fails, the " -"exception :exc:`Error` is raised. If successful, the new locale setting is " -"returned." +"description below. *locale* may be a :ref:`string `, or a pair, " +"language code and encoding. An empty string specifies the user's default " +"settings. If the modification of the locale fails, the exception :exc:" +"`Error` is raised. If successful, the new locale setting is returned." +msgstr "" + +msgid "" +"If *locale* is a pair, it is converted to a locale name using the locale " +"aliasing engine. The language code has the same format as a :ref:`locale " +"name `, but without encoding and ``@``-modifier. The language " +"code and encoding can be ``None``." msgstr "" msgid "" @@ -66,9 +71,24 @@ msgid "" "returned." msgstr "" +msgid "Example::" +msgstr "Przykład::" + +msgid "" +">>> import locale\n" +">>> loc = locale.setlocale(locale.LC_ALL) # get current locale\n" +"# use German locale; name and availability varies with platform\n" +">>> locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')\n" +">>> locale.strcoll('f\\xe4n', 'foo') # compare a string containing an " +"umlaut\n" +">>> locale.setlocale(locale.LC_ALL, '') # use user's preferred locale\n" +">>> locale.setlocale(locale.LC_ALL, 'C') # use default (C) locale\n" +">>> locale.setlocale(locale.LC_ALL, loc) # restore saved locale" +msgstr "" + msgid "" ":func:`setlocale` is not thread-safe on most systems. Applications typically " -"start with a call of ::" +"start with a call of::" msgstr "" msgid "" @@ -427,15 +447,17 @@ msgid "" msgstr "" msgid "" -"Except for the code ``'C'``, the language code corresponds to :rfc:`1766`. " -"*language code* and *encoding* may be ``None`` if their values cannot be " -"determined." +"The language code has the same format as a :ref:`locale name `, " +"but without encoding and ``@``-modifier. The language code and encoding may " +"be ``None`` if their values cannot be determined. The \"C\" locale is " +"represented as ``(None, None)``." msgstr "" msgid "" -"Returns the current setting for the given locale category as sequence " -"containing *language code*, *encoding*. *category* may be one of the :const:" -"`!LC_\\*` values except :const:`LC_ALL`. It defaults to :const:`LC_CTYPE`." +"Returns the current setting for the given locale category as a tuple " +"containing the language code and encoding. *category* may be one of the :" +"const:`!LC_\\*` values except :const:`LC_ALL`. It defaults to :const:" +"`LC_CTYPE`." msgstr "" msgid "" @@ -586,13 +608,13 @@ msgstr "" msgid "" "Python doesn't internally use locale-dependent character transformation " -"functions from ``ctype.h``. Instead, an internal ``pyctype.h`` provides " -"locale-independent equivalents like :c:macro:`!Py_TOLOWER`." +"functions from ``ctype.h``. Instead, ``pyctype.h`` provides locale-" +"independent equivalents like :c:macro:`Py_TOLOWER`." msgstr "" msgid "" "Locale category for sorting strings. The functions :func:`strcoll` and :" -"func:`strxfrm` of the :mod:`locale` module are affected." +"func:`strxfrm` of the :mod:`!locale` module are affected." msgstr "" msgid "" @@ -619,8 +641,8 @@ msgstr "" msgid "" "Locale category for formatting numbers. The functions :func:" -"`format_string`, :func:`atoi`, :func:`atof` and :func:`.str` of the :mod:" -"`locale` module are affected by that category. All other numeric formatting " +"`format_string`, :func:`atoi`, :func:`atof` and :func:`.str` of the :mod:`!" +"locale` module are affected by that category. All other numeric formatting " "operations are not affected." msgstr "" @@ -638,21 +660,6 @@ msgid "" "`localeconv`." msgstr "" -msgid "Example::" -msgstr "Przykład::" - -msgid "" -">>> import locale\n" -">>> loc = locale.getlocale() # get current locale\n" -"# use German locale; name might vary with platform\n" -">>> locale.setlocale(locale.LC_ALL, 'de_DE')\n" -">>> locale.strcoll('f\\xe4n', 'foo') # compare a string containing an " -"umlaut\n" -">>> locale.setlocale(locale.LC_ALL, '') # use user's preferred locale\n" -">>> locale.setlocale(locale.LC_ALL, 'C') # use default (C) locale\n" -">>> locale.setlocale(locale.LC_ALL, loc) # restore saved locale" -msgstr "" - msgid "Background, details, hints, tips and caveats" msgstr "" @@ -705,6 +712,68 @@ msgid "" "whitespace." msgstr "" +msgid "Locale names" +msgstr "" + +msgid "" +"The format of the locale name is platform dependent, and the set of " +"supported locales can depend on the system configuration." +msgstr "" + +msgid "On Posix platforms, it usually has the format [1]_:" +msgstr "" + +msgid "" +"where *language* is a two- or three-letter language code from `ISO 639`_, " +"*territory* is a two-letter country or region code from `ISO 3166`_, " +"*charset* is a locale encoding, and *modifier* is a script name, a language " +"subtag, a sort order identifier, or other locale modifier (for example, " +"\"latin\", \"valencia\", \"stroke\" and \"euro\")." +msgstr "" + +msgid "" +"On Windows, several formats are supported. [2]_ [3]_ A subset of `IETF BCP " +"47`_ tags:" +msgstr "" + +msgid "" +"where *language* and *territory* have the same meaning as in Posix, *script* " +"is a four-letter script code from `ISO 15924`_, and *modifier* is a language " +"subtag, a sort order identifier or custom modifier (for example, " +"\"valencia\", \"stroke\" or \"x-python\"). Both hyphen (``'-'``) and " +"underscore (``'_'``) separators are supported. Only UTF-8 encoding is " +"allowed for BCP 47 tags." +msgstr "" + +msgid "Windows also supports locale names in the format:" +msgstr "" + +msgid "" +"where *language* and *territory* are full names, such as \"English\" and " +"\"United States\", and *charset* is either a code page number (for example, " +"\"1252\") or UTF-8. Only the underscore separator is supported in this " +"format." +msgstr "" + +msgid "The \"C\" locale is supported on all platforms." +msgstr "" + +msgid "" +"`IEEE Std 1003.1-2024; 8.2 Internationalization Variables `_" +msgstr "" + +msgid "" +"`UCRT Locale names, Languages, and Country/Region strings `_" +msgstr "" + +msgid "" +"`Locale Names `_" +msgstr "" + msgid "For extension writers and programs that embed Python" msgstr "" @@ -716,7 +785,7 @@ msgid "" msgstr "" msgid "" -"When Python code uses the :mod:`locale` module to change the locale, this " +"When Python code uses the :mod:`!locale` module to change the locale, this " "also affects the embedding application. If the embedding application " "doesn't want this to happen, it should remove the :mod:`!_locale` extension " "module (which does all the work) from the table of built-in modules in the :" diff --git a/library/logging.config.po b/library/logging.config.po index fae34957a2..dfc217eb1e 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!logging.config` --- Logging configuration" msgstr "" msgid "**Source code:** :source:`Lib/logging/config.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/logging/config.py`" msgid "" "This page contains only reference information. For tutorials, please see" @@ -51,7 +50,7 @@ msgstr "" msgid "" "The following functions configure the logging module. They are located in " -"the :mod:`logging.config` module. Their use is optional --- you can " +"the :mod:`!logging.config` module. Their use is optional --- you can " "configure the logging module using these functions or by making calls to the " "main API (defined in :mod:`logging` itself) and defining handlers which are " "declared either in :mod:`logging` or :mod:`logging.handlers`." @@ -92,7 +91,7 @@ msgstr "" msgid "" "Parsing is performed by the :class:`DictConfigurator` class, whose " "constructor is passed the dictionary used for configuration, and has a :meth:" -"`configure` method. The :mod:`logging.config` module has a callable " +"`configure` method. The :mod:`!logging.config` module has a callable " "attribute :attr:`dictConfigClass` which is initially set to :class:" "`DictConfigurator`. You can replace the value of :attr:`dictConfigClass` " "with a suitable implementation of your own." @@ -669,10 +668,10 @@ msgid "" msgstr "" msgid "" -"You can also specify a special key ``'.'`` whose value is a dictionary is a " -"mapping of attribute names to values. If found, the specified attributes " -"will be set on the user-defined object before it is returned. Thus, with the " -"following configuration::" +"You can also specify a special key ``'.'`` whose value is a mapping of " +"attribute names to values. If found, the specified attributes will be set on " +"the user-defined object before it is returned. Thus, with the following " +"configuration::" msgstr "" msgid "" @@ -712,7 +711,7 @@ msgid "" "handler has been configured) it points to the configured handler instance. " "Thus, ``cfg://handlers.foo`` could resolve to either a dictionary or a " "handler instance. In general, it is wise to name handlers in a way such that " -"dependent handlers are configured _after_ any handlers they depend on; that " +"dependent handlers are configured *after* any handlers they depend on; that " "allows something like ``cfg://handlers.foo`` to be used in configuring a " "handler that depends on handler ``foo``. If that dependent handler were " "named ``bar``, problems would result, because the configuration of ``bar`` " diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 7a3a8e5e24..99dcc0bdd8 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!logging.handlers` --- Logging handlers" msgstr "" msgid "**Source code:** :source:`Lib/logging/handlers.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/logging/handlers.py`" msgid "" "This page contains only reference information. For tutorials, please see" @@ -176,7 +175,7 @@ msgid "WatchedFileHandler" msgstr "" msgid "" -"The :class:`WatchedFileHandler` class, located in the :mod:`logging." +"The :class:`WatchedFileHandler` class, located in the :mod:`!logging." "handlers` module, is a :class:`FileHandler` which watches the file it is " "logging to. If the file changes, it is closed and reopened using the file " "name." @@ -224,7 +223,7 @@ msgid "BaseRotatingHandler" msgstr "" msgid "" -"The :class:`BaseRotatingHandler` class, located in the :mod:`logging." +"The :class:`BaseRotatingHandler` class, located in the :mod:`!logging." "handlers` module, is the base class for the rotating file handlers, :class:" "`RotatingFileHandler` and :class:`TimedRotatingFileHandler`. You should not " "need to instantiate this class, but it has attributes and methods you may " @@ -324,7 +323,7 @@ msgid "RotatingFileHandler" msgstr "" msgid "" -"The :class:`RotatingFileHandler` class, located in the :mod:`logging." +"The :class:`RotatingFileHandler` class, located in the :mod:`!logging." "handlers` module, supports rotation of disk log files." msgstr "" @@ -363,11 +362,16 @@ msgid "" "previously." msgstr "" -msgid "TimedRotatingFileHandler" +msgid "" +"See if the supplied record would cause the file to exceed the configured " +"size limit." msgstr "" +msgid "TimedRotatingFileHandler" +msgstr "TimedRotatingFileHandler" + msgid "" -"The :class:`TimedRotatingFileHandler` class, located in the :mod:`logging." +"The :class:`TimedRotatingFileHandler` class, located in the :mod:`!logging." "handlers` module, supports rotation of disk log files at certain timed " "intervals." msgstr "" @@ -512,11 +516,16 @@ msgid "" "handler." msgstr "" +msgid "" +"See if enough time has passed for a rollover to occur and if it has, compute " +"the next rollover time." +msgstr "" + msgid "SocketHandler" msgstr "" msgid "" -"The :class:`SocketHandler` class, located in the :mod:`logging.handlers` " +"The :class:`SocketHandler` class, located in the :mod:`!logging.handlers` " "module, sends logging output to a network socket. The base class uses a TCP " "socket." msgstr "" @@ -619,7 +628,7 @@ msgid "DatagramHandler" msgstr "" msgid "" -"The :class:`DatagramHandler` class, located in the :mod:`logging.handlers` " +"The :class:`DatagramHandler` class, located in the :mod:`!logging.handlers` " "module, inherits from :class:`SocketHandler` to support sending logging " "messages over UDP sockets." msgstr "" @@ -665,7 +674,7 @@ msgid "SysLogHandler" msgstr "" msgid "" -"The :class:`SysLogHandler` class, located in the :mod:`logging.handlers` " +"The :class:`SysLogHandler` class, located in the :mod:`!logging.handlers` " "module, supports sending logging messages to a remote or local Unix syslog." msgstr "" @@ -781,7 +790,7 @@ msgid "``alert``" msgstr "" msgid "LOG_ALERT" -msgstr "" +msgstr "LOG_ALERT" msgid "``crit`` or ``critical``" msgstr "" @@ -793,19 +802,19 @@ msgid "``debug``" msgstr "" msgid "LOG_DEBUG" -msgstr "" +msgstr "LOG_DEBUG" msgid "``emerg`` or ``panic``" msgstr "" msgid "LOG_EMERG" -msgstr "" +msgstr "LOG_EMERG" msgid "``err`` or ``error``" msgstr "" msgid "LOG_ERR" -msgstr "" +msgstr "LOG_ERR" msgid "``info``" msgstr "``info``" @@ -817,13 +826,13 @@ msgid "``notice``" msgstr "" msgid "LOG_NOTICE" -msgstr "" +msgstr "LOG_NOTICE" msgid "``warn`` or ``warning``" msgstr "" msgid "LOG_WARNING" -msgstr "" +msgstr "LOG_WARNING" msgid "**Facilities**" msgstr "" @@ -832,25 +841,25 @@ msgid "``auth``" msgstr "``auth``" msgid "LOG_AUTH" -msgstr "" +msgstr "LOG_AUTH" msgid "``authpriv``" msgstr "``authpriv``" msgid "LOG_AUTHPRIV" -msgstr "" +msgstr "LOG_AUTHPRIV" msgid "``cron``" msgstr "``cron``" msgid "LOG_CRON" -msgstr "" +msgstr "LOG_CRON" msgid "``daemon``" msgstr "" msgid "LOG_DAEMON" -msgstr "" +msgstr "LOG_DAEMON" msgid "``ftp``" msgstr "``ftp``" @@ -874,7 +883,7 @@ msgid "``mail``" msgstr "``mail``" msgid "LOG_MAIL" -msgstr "" +msgstr "LOG_MAIL" msgid "``news``" msgstr "``news``" @@ -886,19 +895,19 @@ msgid "``syslog``" msgstr "" msgid "LOG_SYSLOG" -msgstr "" +msgstr "LOG_SYSLOG" msgid "``user``" msgstr "" msgid "LOG_USER" -msgstr "" +msgstr "LOG_USER" msgid "``uucp``" msgstr "``uucp``" msgid "LOG_UUCP" -msgstr "" +msgstr "LOG_UUCP" msgid "``local0``" msgstr "``local0``" @@ -910,13 +919,13 @@ msgid "``local1``" msgstr "``local1``" msgid "LOG_LOCAL1" -msgstr "" +msgstr "LOG_LOCAL1" msgid "``local2``" msgstr "" msgid "LOG_LOCAL2" -msgstr "" +msgstr "LOG_LOCAL2" msgid "``local3``" msgstr "``local3``" @@ -934,7 +943,7 @@ msgid "``local5``" msgstr "``local5``" msgid "LOG_LOCAL5" -msgstr "" +msgstr "LOG_LOCAL5" msgid "``local6``" msgstr "``local6``" @@ -946,7 +955,7 @@ msgid "``local7``" msgstr "``local7``" msgid "LOG_LOCAL7" -msgstr "" +msgstr "LOG_LOCAL7" msgid "" "Maps a logging level name to a syslog priority name. You may need to " @@ -960,10 +969,10 @@ msgid "NTEventLogHandler" msgstr "" msgid "" -"The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " -"module, supports sending logging messages to a local Windows NT, Windows " -"2000 or Windows XP event log. Before you can use it, you need Mark Hammond's " -"Win32 extensions for Python installed." +"The :class:`NTEventLogHandler` class, located in the :mod:`!logging." +"handlers` module, supports sending logging messages to a local Windows NT, " +"Windows 2000 or Windows XP event log. Before you can use it, you need Mark " +"Hammond's Win32 extensions for Python installed." msgstr "" msgid "" @@ -1018,10 +1027,10 @@ msgid "" msgstr "" msgid "SMTPHandler" -msgstr "" +msgstr "SMTPHandler" msgid "" -"The :class:`SMTPHandler` class, located in the :mod:`logging.handlers` " +"The :class:`SMTPHandler` class, located in the :mod:`!logging.handlers` " "module, supports sending logging messages to an email address via SMTP." msgstr "" @@ -1064,7 +1073,7 @@ msgid "MemoryHandler" msgstr "" msgid "" -"The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " +"The :class:`MemoryHandler` class, located in the :mod:`!logging.handlers` " "module, supports buffering of logging records in memory, periodically " "flushing them to a :dfn:`target` handler. Flushing occurs whenever the " "buffer is full, or when an event of a certain severity or greater is seen." @@ -1130,10 +1139,10 @@ msgid "Checks for buffer full or a record at the *flushLevel* or higher." msgstr "" msgid "HTTPHandler" -msgstr "" +msgstr "HTTPHandler" msgid "" -"The :class:`HTTPHandler` class, located in the :mod:`logging.handlers` " +"The :class:`HTTPHandler` class, located in the :mod:`!logging.handlers` " "module, supports sending logging messages to a web server, using either " "``GET`` or ``POST`` semantics." msgstr "" @@ -1181,7 +1190,7 @@ msgid "QueueHandler" msgstr "" msgid "" -"The :class:`QueueHandler` class, located in the :mod:`logging.handlers` " +"The :class:`QueueHandler` class, located in the :mod:`!logging.handlers` " "module, supports sending logging messages to a queue, such as those " "implemented in the :mod:`queue` or :mod:`multiprocessing` modules." msgstr "" @@ -1209,6 +1218,15 @@ msgid "" "`~queue.SimpleQueue` and instead use :class:`multiprocessing.Queue`." msgstr "" +msgid "" +"The :mod:`multiprocessing` module uses an internal logger created and " +"accessed via :meth:`~multiprocessing.get_logger`. :class:`multiprocessing." +"Queue` will log ``DEBUG`` level messages upon items being queued. If those " +"log messages are processed by a :class:`QueueHandler` using the same :class:" +"`multiprocessing.Queue` instance, it will cause a deadlock or infinite " +"recursion." +msgstr "" + msgid "" "Enqueues the result of preparing the LogRecord. Should an exception occur (e." "g. because a bounded queue has filled up), the :meth:`~logging.Handler." @@ -1269,7 +1287,7 @@ msgid "QueueListener" msgstr "" msgid "" -"The :class:`QueueListener` class, located in the :mod:`logging.handlers` " +"The :class:`QueueListener` class, located in the :mod:`!logging.handlers` " "module, supports receiving logging messages from a queue, such as those " "implemented in the :mod:`queue` or :mod:`multiprocessing` modules. The " "messages are received from a queue in an internal thread and passed, on the " diff --git a/library/logging.po b/library/logging.po index a1efb7d0d3..a7e3cd1334 100644 --- a/library/logging.po +++ b/library/logging.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!logging` --- Logging facility for Python" msgstr "" msgid "**Source code:** :source:`Lib/logging/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/logging/__init__.py`" msgid "" "This page contains the API reference information. For tutorial information " @@ -756,19 +755,18 @@ msgid "" msgstr "" msgid "" -"A format string in the given *style* for the date/time portion of the logged " -"output. If not specified, the default described in :meth:`formatTime` is " -"used." +"A format string for the date/time portion of the logged output. If not " +"specified, the default described in :meth:`formatTime` is used." msgstr "" msgid "" "Can be one of ``'%'``, ``'{'`` or ``'$'`` and determines how the format " "string will be merged with its data: using one of :ref:`old-string-" "formatting` (``%``), :meth:`str.format` (``{``) or :class:`string.Template` " -"(``$``). This only applies to *fmt* and *datefmt* (e.g. ``'%(message)s'`` " -"versus ``'{message}'``), not to the actual log messages passed to the " -"logging methods. However, there are :ref:`other ways ` to " -"use ``{``- and ``$``-formatting for log messages." +"(``$``). This only applies to *fmt* (e.g. ``'%(message)s'`` versus " +"``'{message}'``), not to the actual log messages passed to the logging " +"methods. However, there are :ref:`other ways ` to use " +"``{``- and ``$``-formatting for log messages." msgstr "" msgid "" @@ -1142,6 +1140,14 @@ msgid "" "``None``." msgstr "" +msgid "exc_text" +msgstr "" + +msgid "" +"Exception information formatted as a string. This is set when :meth:" +"`Formatter.format` is invoked, or ``None`` if no exception has occurred." +msgstr "" + msgid "filename" msgstr "" @@ -1332,11 +1338,12 @@ msgstr "" msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " -"underlying :class:`Logger` instance, a dict-like object (*extra*), and a " -"boolean (*merge_extra*) indicating whether or not the *extra* argument of " -"individual log calls should be merged with the :class:`LoggerAdapter` extra. " -"The default behavior is to ignore the *extra* argument of individual log " -"calls and only use the one of the :class:`LoggerAdapter` instance" +"underlying :class:`Logger` instance, an optional dict-like object (*extra*), " +"and an optional boolean (*merge_extra*) indicating whether or not the " +"*extra* argument of individual log calls should be merged with the :class:" +"`LoggerAdapter` extra. The default behavior is to ignore the *extra* " +"argument of individual log calls and only use the one of the :class:" +"`LoggerAdapter` instance" msgstr "" msgid "" @@ -1375,7 +1382,10 @@ msgid "" "delegate to the underlying logger and allow adapters to be nested." msgstr "" -msgid "The *merge_extra* argument was added." +msgid "The *extra* argument is now optional." +msgstr "" + +msgid "The *merge_extra* parameter was added." msgstr "" msgid "Thread Safety" @@ -1383,7 +1393,7 @@ msgstr "" msgid "" "The logging module is intended to be thread-safe without any special work " -"needing to be done by its clients. It achieves this though using threading " +"needing to be done by its clients. It achieves this through using threading " "locks; there is one lock to serialize access to the module's shared data, " "and each handler also creates a lock to serialize access to its underlying I/" "O." @@ -1859,8 +1869,8 @@ msgid "Integration with the warnings module" msgstr "" msgid "" -"The :func:`captureWarnings` function can be used to integrate :mod:`logging` " -"with the :mod:`warnings` module." +"The :func:`captureWarnings` function can be used to integrate :mod:`!" +"logging` with the :mod:`warnings` module." msgstr "" msgid "" @@ -1907,9 +1917,9 @@ msgid "" msgstr "" msgid "" -"This is the original source for the :mod:`logging` package. The version of " +"This is the original source for the :mod:`!logging` package. The version of " "the package available from this site is suitable for use with Python 1.5.2, " -"2.1.x and 2.2.x, which do not include the :mod:`logging` package in the " +"2.1.x and 2.2.x, which do not include the :mod:`!logging` package in the " "standard library." msgstr "" diff --git a/library/lzma.po b/library/lzma.po index b5792379ac..1a37ff8795 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +28,7 @@ msgid ":mod:`!lzma` --- Compression using the LZMA algorithm" msgstr "" msgid "**Source code:** :source:`Lib/lzma.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/lzma.py`" msgid "" "This module provides classes and convenience functions for compressing and " @@ -44,6 +44,17 @@ msgid "" "multiple threads, it is necessary to protect it with a lock." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "" "This exception is raised when an error occurs during compression or " "decompression, or while initializing the compressor/decompressor state." diff --git a/library/mailbox.po b/library/mailbox.po index c3e54e6664..8a97946a5e 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!mailbox` --- Manipulate mailboxes in various formats" msgstr "" msgid "**Source code:** :source:`Lib/mailbox.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/mailbox.py`" msgid "" "This module defines two classes, :class:`Mailbox` and :class:`Message`, for " @@ -880,7 +878,7 @@ msgid "" "contents are copied; furthermore, any format-specific information is " "converted insofar as possible if *message* is a :class:`!Message` instance. " "If *message* is a string, a byte string, or a file, it should contain an :" -"rfc:`2822`\\ -compliant message, which is read and parsed. Files should be " +"rfc:`5322`\\ -compliant message, which is read and parsed. Files should be " "open in binary mode, but text mode files are accepted for backward " "compatibility." msgstr "" @@ -1030,7 +1028,7 @@ msgstr "" msgid "" "Unset the flag(s) specified by *flag* without changing other flags. To " -"remove more than one flag at a time, *flag* maybe a string of more than one " +"remove more than one flag at a time, *flag* may be a string of more than one " "character. If \"info\" contains experimental information rather than flags, " "the current \"info\" is not modified." msgstr "" @@ -1224,7 +1222,7 @@ msgstr "" msgid "" "Unset the flag(s) specified by *flag* without changing other flags. To " -"remove more than one flag at a time, *flag* maybe a string of more than one " +"remove more than one flag at a time, *flag* may be a string of more than one " "character." msgstr "" @@ -1498,7 +1496,7 @@ msgid "" "The following exception classes are defined in the :mod:`!mailbox` module:" msgstr "" -msgid "The based class for all other module-specific exceptions." +msgid "The base class for all other module-specific exceptions." msgstr "" msgid "" @@ -1516,8 +1514,8 @@ msgstr "" msgid "" "Raised when some mailbox-related condition beyond the control of the program " "causes it to be unable to proceed, such as when failing to acquire a lock " -"that another program already holds a lock, or when a uniquely generated file " -"name already exists." +"that another program already holds, or when a uniquely generated file name " +"already exists." msgstr "" msgid "" diff --git a/library/marshal.po b/library/marshal.po index 3d8c2dacf4..e3a93579ad 100644 --- a/library/marshal.po +++ b/library/marshal.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Waldemar Stoczkowski, 2025 -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,7 +38,7 @@ msgstr "" msgid "" "This is not a general \"persistence\" module. For general persistence and " "transfer of Python objects through RPC calls, see the modules :mod:`pickle` " -"and :mod:`shelve`. The :mod:`marshal` module exists mainly to support " +"and :mod:`shelve`. The :mod:`!marshal` module exists mainly to support " "reading and writing the \"pseudo-compiled\" code for Python modules of :file:" "`.pyc` files. Therefore, the Python maintainers reserve the right to modify " "the marshal format in backward incompatible ways should the need arise. The " @@ -54,7 +51,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`marshal` module is not intended to be secure against erroneous or " +"The :mod:`!marshal` module is not intended to be secure against erroneous or " "maliciously constructed data. Never unmarshal data received from an " "untrusted or unauthenticated source." msgstr "" diff --git a/library/math.po b/library/math.po index fdecd47cc4..ed51d627ca 100644 --- a/library/math.po +++ b/library/math.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Michał Biliński , 2021 -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,8 +27,8 @@ msgid ":mod:`!math` --- Mathematical functions" msgstr "" msgid "" -"This module provides access to the mathematical functions defined by the C " -"standard." +"This module provides access to common mathematical functions and constants, " +"including those defined by the C standard." msgstr "" msgid "" @@ -61,25 +59,25 @@ msgid "" msgstr "" msgid ":func:`factorial(n) `" -msgstr "" +msgstr ":func:`factorial(n) `" msgid "*n* factorial" msgstr "" msgid ":func:`gcd(*integers) `" -msgstr "" +msgstr ":func:`gcd(*integers) `" msgid "Greatest common divisor of the integer arguments" msgstr "" msgid ":func:`isqrt(n) `" -msgstr "" +msgstr ":func:`isqrt(n) `" msgid "Integer square root of a nonnegative integer *n*" msgstr "" msgid ":func:`lcm(*integers) `" -msgstr "" +msgstr ":func:`lcm(*integers) `" msgid "Least common multiple of the integer arguments" msgstr "" @@ -96,19 +94,19 @@ msgid "**Floating point arithmetic**" msgstr "" msgid ":func:`ceil(x) `" -msgstr "" +msgstr ":func:`ceil(x) `" msgid "Ceiling of *x*, the smallest integer greater than or equal to *x*" msgstr "" msgid ":func:`fabs(x) `" -msgstr "" +msgstr ":func:`fabs(x) `" msgid "Absolute value of *x*" msgstr "" msgid ":func:`floor(x) `" -msgstr "" +msgstr ":func:`floor(x) `" msgid "Floor of *x*, the largest integer less than or equal to *x*" msgstr "" @@ -126,7 +124,7 @@ msgid "Remainder of division ``x / y``" msgstr "" msgid ":func:`modf(x) `" -msgstr "" +msgstr ":func:`modf(x) `" msgid "Fractional and integer parts of *x*" msgstr "" @@ -138,7 +136,7 @@ msgid "Remainder of *x* with respect to *y*" msgstr "" msgid ":func:`trunc(x) `" -msgstr "" +msgstr ":func:`trunc(x) `" msgid "Integer part of *x*" msgstr "" @@ -153,7 +151,7 @@ msgid "Magnitude (absolute value) of *x* with the sign of *y*" msgstr "" msgid ":func:`frexp(x) `" -msgstr "" +msgstr ":func:`frexp(x) `" msgid "Mantissa and exponent of *x*" msgstr "" @@ -165,19 +163,19 @@ msgid "Check if the values *a* and *b* are close to each other" msgstr "" msgid ":func:`isfinite(x) `" -msgstr "" +msgstr ":func:`isfinite(x) `" msgid "Check if *x* is neither an infinity nor a NaN" msgstr "" msgid ":func:`isinf(x) `" -msgstr "" +msgstr ":func:`isinf(x) `" msgid "Check if *x* is a positive or negative infinity" msgstr "" msgid ":func:`isnan(x) `" -msgstr "" +msgstr ":func:`isnan(x) `" msgid "Check if *x* is a NaN (not a number)" msgstr "" @@ -195,7 +193,7 @@ msgid "Floating-point value *steps* steps after *x* towards *y*" msgstr "" msgid ":func:`ulp(x) `" -msgstr "" +msgstr ":func:`ulp(x) `" msgid "Value of the least significant bit of *x*" msgstr "" @@ -204,25 +202,25 @@ msgid "**Power, exponential and logarithmic functions**" msgstr "" msgid ":func:`cbrt(x) `" -msgstr "" +msgstr ":func:`cbrt(x) `" msgid "Cube root of *x*" msgstr "" msgid ":func:`exp(x) `" -msgstr "" +msgstr ":func:`exp(x) `" msgid "*e* raised to the power *x*" msgstr "" msgid ":func:`exp2(x) `" -msgstr "" +msgstr ":func:`exp2(x) `" msgid "*2* raised to the power *x*" msgstr "" msgid ":func:`expm1(x) `" -msgstr "" +msgstr ":func:`expm1(x) `" msgid "*e* raised to the power *x*, minus 1" msgstr "" @@ -234,19 +232,19 @@ msgid "Logarithm of *x* to the given base (*e* by default)" msgstr "" msgid ":func:`log1p(x) `" -msgstr "" +msgstr ":func:`log1p(x) `" msgid "Natural logarithm of *1+x* (base *e*)" msgstr "" msgid ":func:`log2(x) `" -msgstr "" +msgstr ":func:`log2(x) `" msgid "Base-2 logarithm of *x*" msgstr "" msgid ":func:`log10(x) `" -msgstr "" +msgstr ":func:`log10(x) `" msgid "Base-10 logarithm of *x*" msgstr "" @@ -258,7 +256,7 @@ msgid "*x* raised to the power *y*" msgstr "" msgid ":func:`sqrt(x) `" -msgstr "" +msgstr ":func:`sqrt(x) `" msgid "Square root of *x*" msgstr "" @@ -275,13 +273,13 @@ msgid "" msgstr "" msgid ":func:`fsum(iterable) `" -msgstr "" +msgstr ":func:`fsum(iterable) `" msgid "Sum of values in the input *iterable*" msgstr "" msgid ":func:`hypot(*coordinates) `" -msgstr "" +msgstr ":func:`hypot(*coordinates) `" msgid "Euclidean norm of an iterable of coordinates" msgstr "" @@ -302,13 +300,13 @@ msgid "**Angular conversion**" msgstr "" msgid ":func:`degrees(x) `" -msgstr "" +msgstr ":func:`degrees(x) `" msgid "Convert angle *x* from radians to degrees" msgstr "" msgid ":func:`radians(x) `" -msgstr "" +msgstr ":func:`radians(x) `" msgid "Convert angle *x* from degrees to radians" msgstr "" @@ -317,19 +315,19 @@ msgid "**Trigonometric functions**" msgstr "" msgid ":func:`acos(x) `" -msgstr "" +msgstr ":func:`acos(x) `" msgid "Arc cosine of *x*" msgstr "" msgid ":func:`asin(x) `" -msgstr "" +msgstr ":func:`asin(x) `" msgid "Arc sine of *x*" msgstr "" msgid ":func:`atan(x) `" -msgstr "" +msgstr ":func:`atan(x) `" msgid "Arc tangent of *x*" msgstr "" @@ -341,19 +339,19 @@ msgid "``atan(y / x)``" msgstr "``atan(y / x)``" msgid ":func:`cos(x) `" -msgstr "" +msgstr ":func:`cos(x) `" msgid "Cosine of *x*" msgstr "" msgid ":func:`sin(x) `" -msgstr "" +msgstr ":func:`sin(x) `" msgid "Sine of *x*" msgstr "" msgid ":func:`tan(x) `" -msgstr "" +msgstr ":func:`tan(x) `" msgid "Tangent of *x*" msgstr "" @@ -362,37 +360,37 @@ msgid "**Hyperbolic functions**" msgstr "" msgid ":func:`acosh(x) `" -msgstr "" +msgstr ":func:`acosh(x) `" msgid "Inverse hyperbolic cosine of *x*" msgstr "" msgid ":func:`asinh(x) `" -msgstr "" +msgstr ":func:`asinh(x) `" msgid "Inverse hyperbolic sine of *x*" msgstr "" msgid ":func:`atanh(x) `" -msgstr "" +msgstr ":func:`atanh(x) `" msgid "Inverse hyperbolic tangent of *x*" msgstr "" msgid ":func:`cosh(x) `" -msgstr "" +msgstr ":func:`cosh(x) `" msgid "Hyperbolic cosine of *x*" msgstr "" msgid ":func:`sinh(x) `" -msgstr "" +msgstr ":func:`sinh(x) `" msgid "Hyperbolic sine of *x*" msgstr "" msgid ":func:`tanh(x) `" -msgstr "" +msgstr ":func:`tanh(x) `" msgid "Hyperbolic tangent of *x*" msgstr "" @@ -401,13 +399,13 @@ msgid "**Special functions**" msgstr "" msgid ":func:`erf(x) `" -msgstr "" +msgstr ":func:`erf(x) `" msgid "`Error function `_ at *x*" msgstr "" msgid ":func:`erfc(x) `" -msgstr "" +msgstr ":func:`erfc(x) `" msgid "" "`Complementary error function `" -msgstr "" +msgstr ":func:`gamma(x) `" msgid "`Gamma function `_ at *x*" msgstr "" msgid ":func:`lgamma(x) `" -msgstr "" +msgstr ":func:`lgamma(x) `" msgid "" "Natural logarithm of the absolute value of the `Gamma function `_, and start " -"celebrating `Tau day `_ by eating twice as much pie!" +"(still) Wrong `_, and start celebrating `Tau " +"day `_ by eating twice as much pie!" msgstr "" msgid "" @@ -1085,7 +1083,7 @@ msgid "It is now always available." msgstr "" msgid "" -"The :mod:`math` module consists mostly of thin wrappers around the platform " +"The :mod:`!math` module consists mostly of thin wrappers around the platform " "C math library functions. Behavior in exceptional cases follows Annex F of " "the C99 standard where appropriate. The current implementation will raise :" "exc:`ValueError` for invalid operations like ``sqrt(-1.0)`` or ``log(0.0)`` " diff --git a/library/mimetypes.po b/library/mimetypes.po index 7e7395d16f..c27441732b 100644 --- a/library/mimetypes.po +++ b/library/mimetypes.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!mimetypes` --- Map filenames to MIME types" msgstr "" msgid "**Source code:** :source:`Lib/mimetypes.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/mimetypes.py`" msgid "" -"The :mod:`mimetypes` module converts between a filename or URL and the MIME " +"The :mod:`!mimetypes` module converts between a filename or URL and the MIME " "type associated with the filename extension. Conversions are provided from " "filename to MIME type and from MIME type to filename extension; encodings " "are not supported for the latter conversion." @@ -216,7 +215,7 @@ msgstr "" msgid "" "The :class:`MimeTypes` class may be useful for applications which may want " "more than one MIME-type database; it provides an interface similar to the " -"one of the :mod:`mimetypes` module." +"one of the :mod:`!mimetypes` module." msgstr "" msgid "" diff --git a/library/mmap.po b/library/mmap.po index 1ec344757f..b8f10df994 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -319,7 +319,7 @@ msgstr "" msgid "" "Resizing a map created with *access* of :const:`ACCESS_READ` or :const:" "`ACCESS_COPY`, will raise a :exc:`TypeError` exception. Resizing a map " -"created with with *trackfd* set to ``False``, will raise a :exc:`ValueError` " +"created with *trackfd* set to ``False``, will raise a :exc:`ValueError` " "exception." msgstr "" diff --git a/library/msvcrt.po b/library/msvcrt.po index 68c1055ac6..c2fe6f3dce 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,13 +23,13 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`msvcrt` --- Useful routines from the MS VC++ runtime" +msgid ":mod:`!msvcrt` --- Useful routines from the MS VC++ runtime" msgstr "" msgid "" "These functions provide access to some useful capabilities on Windows " -"platforms. Some higher-level modules use these functions to build the " -"Windows implementations of their services. For example, the :mod:`getpass` " +"platforms. Some higher-level modules use these functions to build the " +"Windows implementations of their services. For example, the :mod:`getpass` " "module uses this in the implementation of the :func:`getpass` function." msgstr "" @@ -45,6 +45,9 @@ msgid "" "where ever possible." msgstr "" +msgid "Availability" +msgstr "Dostępność" + msgid "" "Operations in this module now raise :exc:`OSError` where :exc:`IOError` was " "raised." @@ -54,12 +57,12 @@ msgid "File Operations" msgstr "" msgid "" -"Lock part of a file based on file descriptor *fd* from the C runtime. " -"Raises :exc:`OSError` on failure. The locked region of the file extends " -"from the current file position for *nbytes* bytes, and may continue beyond " -"the end of the file. *mode* must be one of the :const:`LK_\\*` constants " -"listed below. Multiple regions in a file may be locked at the same time, but " -"may not overlap. Adjacent regions are not merged; they must be unlocked " +"Lock part of a file based on file descriptor *fd* from the C runtime. " +"Raises :exc:`OSError` on failure. The locked region of the file extends from " +"the current file position for *nbytes* bytes, and may continue beyond the " +"end of the file. *mode* must be one of the :const:`!LK_\\*` constants listed " +"below. Multiple regions in a file may be locked at the same time, but may " +"not overlap. Adjacent regions are not merged; they must be unlocked " "individually." msgstr "" @@ -70,7 +73,7 @@ msgstr "" msgid "" "Locks the specified bytes. If the bytes cannot be locked, the program " -"immediately tries again after 1 second. If, after 10 attempts, the bytes " +"immediately tries again after 1 second. If, after 10 attempts, the bytes " "cannot be locked, :exc:`OSError` is raised." msgstr "" @@ -89,10 +92,16 @@ msgid "" msgstr "" msgid "" -"Create a C runtime file descriptor from the file handle *handle*. The " +"Create a C runtime file descriptor from the file handle *handle*. The " "*flags* parameter should be a bitwise OR of :const:`os.O_APPEND`, :const:`os." -"O_RDONLY`, and :const:`os.O_TEXT`. The returned file descriptor may be used " -"as a parameter to :func:`os.fdopen` to create a file object." +"O_RDONLY`, :const:`os.O_TEXT` and :const:`os.O_NOINHERIT`. The returned file " +"descriptor may be used as a parameter to :func:`os.fdopen` to create a file " +"object." +msgstr "" + +msgid "" +"The file descriptor is inheritable by default. Pass :const:`os.O_NOINHERIT` " +"flag to make it non inheritable." msgstr "" msgid "" @@ -101,7 +110,7 @@ msgid "" msgstr "" msgid "" -"Return the file handle for the file descriptor *fd*. Raises :exc:`OSError` " +"Return the file handle for the file descriptor *fd*. Raises :exc:`OSError` " "if *fd* is not recognized." msgstr "" @@ -113,12 +122,14 @@ msgstr "" msgid "Console I/O" msgstr "" -msgid "Return ``True`` if a keypress is waiting to be read." +msgid "" +"Returns a nonzero value if a keypress is waiting to be read. Otherwise, " +"return 0." msgstr "" msgid "" "Read a keypress and return the resulting character as a byte string. Nothing " -"is echoed to the console. This call will block if a keypress is not already " +"is echoed to the console. This call will block if a keypress is not already " "available, but will not wait for :kbd:`Enter` to be pressed. If the pressed " "key was a special function key, this will return ``'\\000'`` or ``'\\xe0'``; " "the next call will return the keycode. The :kbd:`Control-C` keypress cannot " @@ -129,8 +140,8 @@ msgid "Wide char variant of :func:`getch`, returning a Unicode value." msgstr "" msgid "" -"Similar to :func:`getch`, but the keypress will be echoed if it represents " -"a printable character." +"Similar to :func:`getch`, but the keypress will be echoed if it represents a " +"printable character." msgstr "" msgid "Wide char variant of :func:`getche`, returning a Unicode value." @@ -155,5 +166,88 @@ msgstr "" msgid "" "Force the :c:func:`malloc` heap to clean itself up and return unused blocks " -"to the operating system. On failure, this raises :exc:`OSError`." +"to the operating system. On failure, this raises :exc:`OSError`." +msgstr "" + +msgid "" +"Changes the location where the C runtime writes an error message for an " +"error that might end the program. *mode* must be one of the :const:`!" +"OUT_\\*` constants listed below or :const:`REPORT_ERRMODE`. Returns the old " +"setting or -1 if an error occurs. Only available in :ref:`debug build of " +"Python `." +msgstr "" + +msgid "" +"Error sink is determined by the app's type. Only available in :ref:`debug " +"build of Python `." +msgstr "" + +msgid "" +"Error sink is a standard error. Only available in :ref:`debug build of " +"Python `." +msgstr "" + +msgid "" +"Error sink is a message box. Only available in :ref:`debug build of Python " +"`." +msgstr "" + +msgid "" +"Report the current error mode value. Only available in :ref:`debug build of " +"Python `." +msgstr "" + +msgid "" +"Specifies the destination or destinations for a specific report type " +"generated by :c:func:`!_CrtDbgReport` in the MS VC++ runtime. *type* must be " +"one of the :const:`!CRT_\\*` constants listed below. *mode* must be one of " +"the :const:`!CRTDBG_\\*` constants listed below. Only available in :ref:" +"`debug build of Python `." +msgstr "" + +msgid "" +"After you use :func:`CrtSetReportMode` to specify :const:`CRTDBG_MODE_FILE`, " +"you can specify the file handle to receive the message text. *type* must be " +"one of the :const:`!CRT_\\*` constants listed below. *file* should be the " +"file handle your want specified. Only available in :ref:`debug build of " +"Python `." +msgstr "" + +msgid "" +"Warnings, messages, and information that doesn't need immediate attention." +msgstr "" + +msgid "" +"Errors, unrecoverable problems, and issues that require immediate attention." +msgstr "" + +msgid "Assertion failures." +msgstr "" + +msgid "Writes the message to the debugger's output window." +msgstr "" + +msgid "" +"Writes the message to a user-supplied file handle. :func:`CrtSetReportFile` " +"should be called to define the specific file or stream to use as the " +"destination." +msgstr "" + +msgid "" +"Creates a message box to display the message along with the ``Abort``, " +"``Retry``, and ``Ignore`` buttons." +msgstr "" + +msgid "Returns current *mode* for the specified *type*." +msgstr "" + +msgid "The CRT Assembly version, from the :file:`crtassem.h` header file." +msgstr "" + +msgid "" +"The VC Assembly public key token, from the :file:`crtassem.h` header file." +msgstr "" + +msgid "" +"The Libraries Assembly name prefix, from the :file:`crtassem.h` header file." msgstr "" diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 731b00a1ac..99acdc9ac0 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2024 -# Stefan Ocetkiewicz , 2024 -# Maciej Olko , 2024 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +27,7 @@ msgid ":mod:`!multiprocessing` --- Process-based parallelism" msgstr "" msgid "**Source code:** :source:`Lib/multiprocessing/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/multiprocessing/`" msgid "Availability" msgstr "Dostępność" @@ -45,19 +41,18 @@ msgid "Introduction" msgstr "Wprowadzenie" msgid "" -":mod:`multiprocessing` is a package that supports spawning processes using " -"an API similar to the :mod:`threading` module. The :mod:`multiprocessing` " +":mod:`!multiprocessing` is a package that supports spawning processes using " +"an API similar to the :mod:`threading` module. The :mod:`!multiprocessing` " "package offers both local and remote concurrency, effectively side-stepping " "the :term:`Global Interpreter Lock ` by using " -"subprocesses instead of threads. Due to this, the :mod:`multiprocessing` " +"subprocesses instead of threads. Due to this, the :mod:`!multiprocessing` " "module allows the programmer to fully leverage multiple processors on a " "given machine. It runs on both POSIX and Windows." msgstr "" msgid "" -"The :mod:`multiprocessing` module also introduces APIs which do not have " -"analogs in the :mod:`threading` module. A prime example of this is the :" -"class:`~multiprocessing.pool.Pool` object which offers a convenient means of " +"The :mod:`!multiprocessing` module also introduces the :class:" +"`~multiprocessing.pool.Pool` object which offers a convenient means of " "parallelizing the execution of a function across multiple input values, " "distributing the input data across processes (data parallelism). The " "following example demonstrates the common practice of defining such " @@ -83,6 +78,13 @@ msgstr "" msgid "[1, 4, 9]" msgstr "" +msgid "" +"The :mod:`!multiprocessing` module also introduces APIs which do not have " +"analogs in the :mod:`threading` module, like the ability to :meth:`terminate " +"`, :meth:`interrupt ` or :meth:`kill " +"` a running process." +msgstr "" + msgid "" ":class:`concurrent.futures.ProcessPoolExecutor` offers a higher level " "interface to push tasks to a background process without blocking execution " @@ -96,7 +98,7 @@ msgid "The :class:`Process` class" msgstr "" msgid "" -"In :mod:`multiprocessing`, processes are spawned by creating a :class:" +"In :mod:`!multiprocessing`, processes are spawned by creating a :class:" "`Process` object and then calling its :meth:`~Process.start` method. :class:" "`Process` follows the API of :class:`threading.Thread`. A trivial example " "of a multiprocess program is ::" @@ -144,11 +146,18 @@ msgid "" "necessary, see :ref:`multiprocessing-programming`." msgstr "" +msgid "" +"The arguments to :class:`Process` usually need to be unpickleable from " +"within the child process. If you tried typing the above example directly " +"into a REPL it could lead to an :exc:`AttributeError` in the child process " +"trying to locate the *f* function in the ``__main__`` module." +msgstr "" + msgid "Contexts and start methods" msgstr "" msgid "" -"Depending on the platform, :mod:`multiprocessing` supports three ways to " +"Depending on the platform, :mod:`!multiprocessing` supports three ways to " "start a process. These *start methods* are" msgstr "" @@ -299,8 +308,12 @@ msgid "" msgstr "" msgid "" -"A library which wants to use a particular start method should probably use :" -"func:`get_context` to avoid interfering with the choice of the library user." +"Libraries using :mod:`!multiprocessing` or :class:`~concurrent.futures." +"ProcessPoolExecutor` should be designed to allow their users to provide " +"their own multiprocessing context. Using a specific context of your own " +"within a library can lead to incompatibilities with the rest of the library " +"user's application. Always document if your library requires a specific " +"start method." msgstr "" msgid "" @@ -314,7 +327,7 @@ msgid "Exchanging objects between processes" msgstr "" msgid "" -":mod:`multiprocessing` supports two types of communication channel between " +":mod:`!multiprocessing` supports two types of communication channel between " "processes:" msgstr "" @@ -341,8 +354,8 @@ msgid "" msgstr "" msgid "" -"Queues are thread and process safe. Any object put into a :mod:" -"`~multiprocessing` queue will be serialized." +"Queues are thread and process safe. Any object put into a :mod:`!" +"multiprocessing` queue will be serialized." msgstr "" msgid "**Pipes**" @@ -386,7 +399,7 @@ msgid "Synchronization between processes" msgstr "" msgid "" -":mod:`multiprocessing` contains equivalents of all the synchronization " +":mod:`!multiprocessing` contains equivalents of all the synchronization " "primitives from :mod:`threading`. For instance one can use a lock to ensure " "that only one process prints to standard output at a time::" msgstr "" @@ -423,8 +436,8 @@ msgid "" msgstr "" msgid "" -"However, if you really do need to use some shared data then :mod:" -"`multiprocessing` provides a couple of ways of doing so." +"However, if you really do need to use some shared data then :mod:`!" +"multiprocessing` provides a couple of ways of doing so." msgstr "" msgid "**Shared memory**" @@ -637,10 +650,27 @@ msgid "Reference" msgstr "" msgid "" -"The :mod:`multiprocessing` package mostly replicates the API of the :mod:" +"The :mod:`!multiprocessing` package mostly replicates the API of the :mod:" "`threading` module." msgstr "" +msgid "Global start method" +msgstr "" + +msgid "" +"Python supports several ways to create and initialize a process. The global " +"start method sets the default mechanism for creating a process." +msgstr "" + +msgid "" +"Several multiprocessing functions and methods that may also instantiate " +"certain objects will implicitly set the global start method to the system's " +"default, if it hasn’t been set already. The global start method can only be " +"set once. If you need to change the start method from the system default, " +"you must proactively set the global start method before calling functions or " +"methods, or creating these objects." +msgstr "" + msgid ":class:`Process` and exceptions" msgstr "" @@ -671,10 +701,50 @@ msgstr "" msgid "" "If a subclass overrides the constructor, it must make sure it invokes the " -"base class constructor (:meth:`Process.__init__`) before doing anything else " +"base class constructor (``super().__init__()``) before doing anything else " "to the process." msgstr "" +msgid "" +"In general, all arguments to :class:`Process` must be picklable. This is " +"frequently observed when trying to create a :class:`Process` or use a :class:" +"`concurrent.futures.ProcessPoolExecutor` from a REPL with a locally defined " +"*target* function." +msgstr "" + +msgid "" +"Passing a callable object defined in the current REPL session causes the " +"child process to die via an uncaught :exc:`AttributeError` exception when " +"starting as *target* must have been defined within an importable module in " +"order to be loaded during unpickling." +msgstr "" + +msgid "Example of this uncatchable error from the child::" +msgstr "" + +msgid "" +">>> import multiprocessing as mp\n" +">>> def knigit():\n" +"... print(\"Ni!\")\n" +"...\n" +">>> process = mp.Process(target=knigit)\n" +">>> process.start()\n" +">>> Traceback (most recent call last):\n" +" File \".../multiprocessing/spawn.py\", line ..., in spawn_main\n" +" File \".../multiprocessing/spawn.py\", line ..., in _main\n" +"AttributeError: module '__main__' has no attribute 'knigit'\n" +">>> process\n" +"" +msgstr "" + +msgid "" +"See :ref:`multiprocessing-programming-spawn`. While this restriction is not " +"true if using the ``\"fork\"`` start method, as of Python ``3.14`` that is " +"no longer the default on any platform. See :ref:`multiprocessing-start-" +"methods`. See also :gh:`132898`." +msgstr "" + msgid "Added the *daemon* parameter." msgstr "" @@ -802,7 +872,7 @@ msgid "The process's authentication key (a byte string)." msgstr "" msgid "" -"When :mod:`multiprocessing` is initialized the main process is assigned a " +"When :mod:`!multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." msgstr "" @@ -911,7 +981,7 @@ msgid "" "True" msgstr "" -msgid "The base class of all :mod:`multiprocessing` exceptions." +msgid "The base class of all :mod:`!multiprocessing` exceptions." msgstr "" msgid "" @@ -961,10 +1031,10 @@ msgid "" msgstr "" msgid "" -"One difference from other Python queue implementations, is that :mod:" -"`multiprocessing` queues serializes all objects that are put into them " -"using :mod:`pickle`. The object return by the get method is a re-created " -"object that does not share memory with the original object." +"One difference from other Python queue implementations, is that :mod:`!" +"multiprocessing` queues serializes all objects that are put into them using :" +"mod:`pickle`. The object returned by the get method is a re-created object " +"that does not share memory with the original object." msgstr "" msgid "" @@ -973,9 +1043,9 @@ msgid "" msgstr "" msgid "" -":mod:`multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." -"Full` exceptions to signal a timeout. They are not available in the :mod:" -"`multiprocessing` namespace so you need to import them from :mod:`queue`." +":mod:`!multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." +"Full` exceptions to signal a timeout. They are not available in the :mod:`!" +"multiprocessing` namespace so you need to import them from :mod:`queue`." msgstr "" msgid "" @@ -1055,6 +1125,11 @@ msgid "" "is started which transfers objects from a buffer into the pipe." msgstr "" +msgid "" +"Instantiating this class may set the global start method. See :ref:`global-" +"start-method` for more details." +msgstr "" + msgid "" "The usual :exc:`queue.Empty` and :exc:`queue.Full` exceptions from the " "standard library's :mod:`queue` module are raised to signal timeouts." @@ -1129,11 +1204,18 @@ msgid "" "class:`queue.Queue`. These methods are usually unnecessary for most code:" msgstr "" +msgid "Close the queue: release internal resources." +msgstr "" + +msgid "" +"A queue must not be used anymore after it is closed. For example, :meth:" +"`~Queue.get`, :meth:`~Queue.put` and :meth:`~Queue.empty` methods must no " +"longer be called." +msgstr "" + msgid "" -"Indicate that no more data will be put on this queue by the current " -"process. The background thread will quit once it has flushed all buffered " -"data to the pipe. This is called automatically when the queue is garbage " -"collected." +"The background thread will quit once it has flushed all buffered data to the " +"pipe. This is called automatically when the queue is garbage collected." msgstr "" msgid "" @@ -1175,9 +1257,6 @@ msgid "" "It is a simplified :class:`Queue` type, very close to a locked :class:`Pipe`." msgstr "" -msgid "Close the queue: release internal resources." -msgstr "" - msgid "" "A queue must not be used anymore after it is closed. For example, :meth:" "`get`, :meth:`put` and :meth:`empty` methods must no longer be called." @@ -1255,7 +1334,7 @@ msgid "" msgstr "" msgid ":func:`os.cpu_count` :func:`os.process_cpu_count`" -msgstr "" +msgstr ":func:`os.cpu_count` :func:`os.process_cpu_count`" msgid "" "The return value can also be overridden using the :option:`-X cpu_count <-" @@ -1277,8 +1356,8 @@ msgid "" msgstr "" msgid "" -"Add support for when a program which uses :mod:`multiprocessing` has been " -"frozen to produce a Windows executable. (Has been tested with **py2exe**, " +"Add support for when a program which uses :mod:`!multiprocessing` has been " +"frozen to produce an executable. (Has been tested with **py2exe**, " "**PyInstaller** and **cx_Freeze**.)" msgstr "" @@ -1304,10 +1383,10 @@ msgid "" msgstr "" msgid "" -"Calling ``freeze_support()`` has no effect when invoked on any operating " -"system other than Windows. In addition, if the module is being run normally " -"by the Python interpreter on Windows (the program has not been frozen), then " -"``freeze_support()`` has no effect." +"Calling ``freeze_support()`` has no effect when the start method is not " +"*spawn*. In addition, if the module is being run normally by the Python " +"interpreter (the program has not been frozen), then ``freeze_support()`` has " +"no effect." msgstr "" msgid "" @@ -1318,24 +1397,26 @@ msgid "" msgstr "" msgid "" -"Return a context object which has the same attributes as the :mod:" -"`multiprocessing` module." +"Return a context object which has the same attributes as the :mod:`!" +"multiprocessing` module." msgstr "" msgid "" -"If *method* is ``None`` then the default context is returned. Otherwise " -"*method* should be ``'fork'``, ``'spawn'``, ``'forkserver'``. :exc:" -"`ValueError` is raised if the specified start method is not available. See :" -"ref:`multiprocessing-start-methods`." +"If *method* is ``None`` then the default context is returned. Note that if " +"the global start method has not been set, this will set it to the system " +"default See :ref:`global-start-method` for more details. Otherwise *method* " +"should be ``'fork'``, ``'spawn'``, ``'forkserver'``. :exc:`ValueError` is " +"raised if the specified start method is not available. See :ref:" +"`multiprocessing-start-methods`." msgstr "" msgid "Return the name of start method used for starting processes." msgstr "" msgid "" -"If the start method has not been fixed and *allow_none* is false, then the " -"start method is fixed to the default and the name is returned. If the start " -"method has not been fixed and *allow_none* is true then ``None`` is returned." +"If the global start method is not set and *allow_none* is ``False``, the " +"global start method is set to the default, and its name is returned. See :" +"ref:`global-start-method` for more details." msgstr "" msgid "" @@ -1352,7 +1433,7 @@ msgstr "" msgid "" "Set the path of the Python interpreter to use when starting a child process. " "(By default :data:`sys.executable` is used). Embedders will probably need " -"to do some thing like ::" +"to do something like ::" msgstr "" msgid "set_executable(os.path.join(sys.exec_prefix, 'pythonw.exe'))" @@ -1403,7 +1484,7 @@ msgid "See :ref:`multiprocessing-start-methods`." msgstr "" msgid "" -":mod:`multiprocessing` contains no analogues of :func:`threading." +":mod:`!multiprocessing` contains no analogues of :func:`threading." "active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :" "func:`threading.setprofile`, :class:`threading.Timer`, or :class:`threading." "local`." @@ -1586,6 +1667,9 @@ msgid "" "first argument is named *block*, as is consistent with :meth:`Lock.acquire`." msgstr "" +msgid "Return a boolean indicating whether this object is locked right now." +msgstr "" + msgid "" "On macOS, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." @@ -1596,7 +1680,7 @@ msgstr "" msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " -"object from :mod:`multiprocessing`." +"object from :mod:`!multiprocessing`." msgstr "" msgid "The :meth:`~threading.Condition.wait_for` method was added." @@ -1665,9 +1749,6 @@ msgid "" "invoked on an unlocked lock, a :exc:`ValueError` is raised." msgstr "" -msgid "Return a boolean indicating whether this object is locked right now." -msgstr "" - msgid "" "A recursive lock object: a close analog of :class:`threading.RLock`. A " "recursive lock must be released by the process or thread that acquired it. " @@ -1735,6 +1816,9 @@ msgstr "" msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." msgstr "" +msgid "Return the current value of semaphore." +msgstr "" + msgid "" "On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a " "timeout will emulate that function's behavior using a sleeping loop." @@ -1806,11 +1890,14 @@ msgstr "" msgid "" "*typecode_or_type* determines the type of the elements of the returned " -"array: it is either a ctypes type or a one character typecode of the kind " -"used by the :mod:`array` module. If *size_or_initializer* is an integer, " -"then it determines the length of the array, and the array will be initially " -"zeroed. Otherwise, *size_or_initializer* is a sequence which is used to " -"initialize the array and whose length determines the length of the array." +"array: it is either a :ref:`ctypes type ` or " +"a one character typecode of the kind used by the :mod:`array` module with " +"the exception of ``'w'``, which is not supported. In addition, the ``'c'`` " +"typecode is an alias for :class:`ctypes.c_char`. If *size_or_initializer* " +"is an integer, then it determines the length of the array, and the array " +"will be initially zeroed. Otherwise, *size_or_initializer* is a sequence " +"which is used to initialize the array and whose length determines the length " +"of the array." msgstr "" msgid "" @@ -1830,11 +1917,11 @@ msgid "" "which allow one to use it to store and retrieve strings." msgstr "" -msgid "The :mod:`multiprocessing.sharedctypes` module" +msgid "The :mod:`!multiprocessing.sharedctypes` module" msgstr "" msgid "" -"The :mod:`multiprocessing.sharedctypes` module provides functions for " +"The :mod:`!multiprocessing.sharedctypes` module provides functions for " "allocating :mod:`ctypes` objects from shared memory which can be inherited " "by child processes." msgstr "" @@ -1895,6 +1982,15 @@ msgid "" "not necessarily be \"process-safe\"." msgstr "" +msgid "" +"*ctx* is a context object, or ``None`` (use the current context). If " +"``None``, calling this may set the global start method. See :ref:`global-" +"start-method` for more details." +msgstr "" + +msgid "Note that *lock* and *ctx* are keyword-only parameters." +msgstr "" + msgid "" "The same as :func:`RawValue` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " @@ -2073,11 +2169,6 @@ msgid "" "``'xmlrpclib'`` (use :mod:`xmlrpc.client` serialization)." msgstr "" -msgid "" -"*ctx* is a context object, or ``None`` (use the current context). See the :" -"func:`get_context` function." -msgstr "" - msgid "" "*shutdown_timeout* is a timeout in seconds used to wait until the process " "used by the manager completes in the :meth:`shutdown` method. If the " @@ -2509,7 +2600,7 @@ msgid "" msgstr "" msgid "" -"The proxy types in :mod:`multiprocessing` do nothing to support comparisons " +"The proxy types in :mod:`!multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" msgstr "" @@ -2639,7 +2730,9 @@ msgid "" "*context* can be used to specify the context used for starting the worker " "processes. Usually a pool is created using the function :func:" "`multiprocessing.Pool` or the :meth:`Pool` method of a context object. In " -"both cases *context* is set appropriately." +"both cases *context* is set appropriately. If ``None``, calling this " +"function will have the side effect of setting the current global start " +"method if it has not been set already. See the :func:`get_context` function." msgstr "" msgid "" @@ -2676,9 +2769,9 @@ msgid "" "duration of the Pool's work queue. A frequent pattern found in other systems " "(such as Apache, mod_wsgi, etc) to free resources held by workers is to " "allow a worker within a pool to complete only a set amount of work before " -"being exiting, being cleaned up and a new process spawned to replace the old " -"one. The *maxtasksperchild* argument to the :class:`Pool` exposes this " -"ability to the end user." +"exiting, being cleaned up and a new process spawned to replace the old one. " +"The *maxtasksperchild* argument to the :class:`Pool` exposes this ability to " +"the end user." msgstr "" msgid "" @@ -2861,7 +2954,7 @@ msgid "" msgstr "" msgid "" -"However, the :mod:`multiprocessing.connection` module allows some extra " +"However, the :mod:`!multiprocessing.connection` module allows some extra " "flexibility. It basically gives a high level message oriented API for " "dealing with sockets or Windows named pipes. It also has support for " "*digest authentication* using the :mod:`hmac` module, and for polling " @@ -3170,7 +3263,7 @@ msgid "" msgstr "" msgid "" -"Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " +"Returns the logger used by :mod:`!multiprocessing`. If necessary, a new one " "will be created." msgstr "" @@ -3215,16 +3308,16 @@ msgstr "" msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" -msgid "The :mod:`multiprocessing.dummy` module" +msgid "The :mod:`!multiprocessing.dummy` module" msgstr "" msgid "" -":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " +":mod:`!multiprocessing.dummy` replicates the API of :mod:`!multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." msgstr "" msgid "" -"In particular, the ``Pool`` function provided by :mod:`multiprocessing." +"In particular, the ``Pool`` function provided by :mod:`!multiprocessing." "dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" "class:`Pool` that supports all the same method calls but uses a pool of " "worker threads rather than worker processes." @@ -3270,7 +3363,7 @@ msgstr "" msgid "" "There are certain guidelines and idioms which should be adhered to when " -"using :mod:`multiprocessing`." +"using :mod:`!multiprocessing`." msgstr "" msgid "All start methods" @@ -3328,9 +3421,9 @@ msgid "Better to inherit than pickle/unpickle" msgstr "" msgid "" -"When using the *spawn* or *forkserver* start methods many types from :mod:" -"`multiprocessing` need to be picklable so that child processes can use " -"them. However, one should generally avoid sending shared objects to other " +"When using the *spawn* or *forkserver* start methods many types from :mod:`!" +"multiprocessing` need to be picklable so that child processes can use them. " +"However, one should generally avoid sending shared objects to other " "processes using pipes or queues. Instead you should arrange the program so " "that a process which needs access to a shared resource created elsewhere can " "inherit it from an ancestor process." @@ -3444,7 +3537,7 @@ msgstr "" msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" -msgid ":mod:`multiprocessing` originally unconditionally called::" +msgid ":mod:`!multiprocessing` originally unconditionally called::" msgstr "" msgid "os.close(sys.stdin.fileno())" @@ -3501,10 +3594,10 @@ msgid "More picklability" msgstr "" msgid "" -"Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " -"if you subclass :class:`~multiprocessing.Process` then make sure that " -"instances will be picklable when the :meth:`Process.start ` method is called." +"Ensure that all arguments to :class:`~multiprocessing.Process` are " +"picklable. Also, if you subclass ``Process.__init__``, you must make sure " +"that instances will be picklable when the :meth:`Process.start " +"` method is called." msgstr "" msgid "Global variables" diff --git a/library/multiprocessing.shared_memory.po b/library/multiprocessing.shared_memory.po index fa5b940b13..d282666c99 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +29,7 @@ msgid "" msgstr "" msgid "**Source code:** :source:`Lib/multiprocessing/shared_memory.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/multiprocessing/shared_memory.py`" msgid "" "This module provides a class, :class:`SharedMemory`, for the allocation and " diff --git a/library/numeric.po b/library/numeric.po index faa7ab8345..47e379722e 100644 --- a/library/numeric.po +++ b/library/numeric.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Krzysztof Abramowicz, 2022\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/operator.po b/library/operator.po index 105a30b458..cc0f10916b 100644 --- a/library/operator.po +++ b/library/operator.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!operator` --- Standard operators as functions" msgstr "" msgid "**Source code:** :source:`Lib/operator.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/operator.py`" msgid "" -"The :mod:`operator` module exports a set of efficient functions " +"The :mod:`!operator` module exports a set of efficient functions " "corresponding to the intrinsic operators of Python. For example, ``operator." "add(x, y)`` is equivalent to the expression ``x+y``. Many function names are " "those used for special methods, without the double underscores. For " @@ -195,7 +193,7 @@ msgid "Return ``obj(*args, **kwargs)``." msgstr "" msgid "" -"The :mod:`operator` module also defines tools for generalized attribute and " +"The :mod:`!operator` module also defines tools for generalized attribute and " "item lookups. These are useful for making fast field extractors as " "arguments for :func:`map`, :func:`sorted`, :meth:`itertools.groupby`, or " "other functions that expect a function argument." @@ -306,7 +304,7 @@ msgstr "" msgid "" "This table shows how abstract operations correspond to operator symbols in " -"the Python syntax and the functions in the :mod:`operator` module." +"the Python syntax and the functions in the :mod:`!operator` module." msgstr "" msgid "Operation" @@ -331,7 +329,7 @@ msgid "Concatenation" msgstr "" msgid "``seq1 + seq2``" -msgstr "" +msgstr "``seq1 + seq2``" msgid "``concat(seq1, seq2)``" msgstr "``concat(seq1, seq2)``" @@ -340,7 +338,7 @@ msgid "Containment Test" msgstr "" msgid "``obj in seq``" -msgstr "" +msgstr "``obj in seq``" msgid "``contains(seq, obj)``" msgstr "``contains(seq, obj)``" @@ -424,13 +422,13 @@ msgid "``a is None``" msgstr "" msgid "``is_none(a)``" -msgstr "" +msgstr "``is_none(a)``" msgid "``a is not None``" msgstr "" msgid "``is_not_none(a)``" -msgstr "" +msgstr "``is_not_none(a)``" msgid "Indexed Assignment" msgstr "" diff --git a/library/optparse.po b/library/optparse.po index 42d70c3d67..d36dae51e9 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -1,23 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2023 -# Rafael Fontenelle , 2024 -# Seweryn Piórkowski , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +27,7 @@ msgid ":mod:`!optparse` --- Parser for command line options" msgstr "" msgid "**Source code:** :source:`Lib/optparse.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/optparse.py`" msgid "Choosing an argument parsing library" msgstr "" @@ -46,7 +42,7 @@ msgid "" msgstr "" msgid "" -":mod:`optparse`: a declarative replacement for ``getopt`` that provides " +":mod:`!optparse`: a declarative replacement for ``getopt`` that provides " "equivalent functionality without requiring each application to implement its " "own procedural option parsing logic. Included in the standard library since " "the Python 2.3 release." @@ -75,13 +71,14 @@ msgid "" msgstr "" msgid "" -":mod:`optparse` should be considered as an alternative to :mod:`argparse` in " -"the following cases:" +":mod:`!optparse` should be considered as an alternative to :mod:`argparse` " +"in the following cases:" msgstr "" msgid "" -"an application is already using :mod:`optparse` and doesn't want to risk the " -"subtle behavioural changes that may arise when migrating to :mod:`argparse`" +"an application is already using :mod:`!optparse` and doesn't want to risk " +"the subtle behavioural changes that may arise when migrating to :mod:" +"`argparse`" msgstr "" msgid "" @@ -109,7 +106,7 @@ msgid "" msgstr "" msgid "" -"These considerations also mean that :mod:`optparse` is likely to provide a " +"These considerations also mean that :mod:`!optparse` is likely to provide a " "better foundation for library authors writing third party command line " "argument processing libraries." msgstr "" @@ -199,16 +196,16 @@ msgid "Introduction" msgstr "Wprowadzenie" msgid "" -":mod:`optparse` is a more convenient, flexible, and powerful library for " +":mod:`!optparse` is a more convenient, flexible, and powerful library for " "parsing command-line options than the minimalist :mod:`getopt` module. :mod:" -"`optparse` uses a more declarative style of command-line parsing: you create " -"an instance of :class:`OptionParser`, populate it with options, and parse " -"the command line. :mod:`optparse` allows users to specify options in the " -"conventional GNU/POSIX syntax, and additionally generates usage and help " +"`!optparse` uses a more declarative style of command-line parsing: you " +"create an instance of :class:`OptionParser`, populate it with options, and " +"parse the command line. :mod:`!optparse` allows users to specify options in " +"the conventional GNU/POSIX syntax, and additionally generates usage and help " "messages for you." msgstr "" -msgid "Here's an example of using :mod:`optparse` in a simple script::" +msgid "Here's an example of using :mod:`!optparse` in a simple script::" msgstr "" msgid "" @@ -233,11 +230,11 @@ msgid " --file=outfile -q" msgstr "" msgid "" -"As it parses the command line, :mod:`optparse` sets attributes of the " +"As it parses the command line, :mod:`!optparse` sets attributes of the " "``options`` object returned by :meth:`~OptionParser.parse_args` based on " "user-supplied command-line values. When :meth:`~OptionParser.parse_args` " "returns from parsing this command line, ``options.filename`` will be " -"``\"outfile\"`` and ``options.verbose`` will be ``False``. :mod:`optparse` " +"``\"outfile\"`` and ``options.verbose`` will be ``False``. :mod:`!optparse` " "supports both long and short options, allows short options to be merged " "together, and allows options to be associated with their arguments in a " "variety of ways. Thus, the following command lines are all equivalent to " @@ -260,7 +257,7 @@ msgid "" msgstr "" msgid "" -"and :mod:`optparse` will print out a brief summary of your script's options:" +"and :mod:`!optparse` will print out a brief summary of your script's options:" msgstr "" msgid "" @@ -281,7 +278,7 @@ msgid "Background" msgstr "" msgid "" -":mod:`optparse` was explicitly designed to encourage the creation of " +":mod:`!optparse` was explicitly designed to encourage the creation of " "programs with straightforward command-line interfaces that follow the " "conventions established by the :c:func:`!getopt` family of functions " "available to C developers. To that end, it supports only the most common " @@ -321,7 +318,7 @@ msgid "" "to be merged into a single argument, e.g. ``-x -F`` is equivalent to ``-" "xF``. The GNU project introduced ``--`` followed by a series of hyphen-" "separated words, e.g. ``--file`` or ``--dry-run``. These are the only two " -"option syntaxes provided by :mod:`optparse`." +"option syntaxes provided by :mod:`!optparse`." msgstr "" msgid "Some other option syntaxes that the world has seen include:" @@ -349,7 +346,7 @@ msgid "" msgstr "" msgid "" -"These option syntaxes are not supported by :mod:`optparse`, and they never " +"These option syntaxes are not supported by :mod:`!optparse`, and they never " "will be. This is deliberate: the first three are non-standard on any " "environment, and the last only makes sense if you're exclusively targeting " "Windows or certain legacy platforms (e.g. VMS, MS-DOS)." @@ -360,8 +357,8 @@ msgstr "" msgid "" "an argument that follows an option, is closely associated with that option, " -"and is consumed from the argument list when that option is. With :mod:" -"`optparse`, option arguments may either be in a separate argument from their " +"and is consumed from the argument list when that option is. With :mod:`!" +"optparse`, option arguments may either be in a separate argument from their " "option:" msgstr "" @@ -384,7 +381,7 @@ msgid "" "options will take an argument if they see it, and won't if they don't. This " "is somewhat controversial, because it makes parsing ambiguous: if ``-a`` " "takes an optional argument and ``-b`` is another option entirely, how do we " -"interpret ``-ab``? Because of this ambiguity, :mod:`optparse` does not " +"interpret ``-ab``? Because of this ambiguity, :mod:`!optparse` does not " "support this feature." msgstr "" @@ -402,7 +399,7 @@ msgstr "" msgid "" "an option that must be supplied on the command-line; note that the phrase " -"\"required option\" is self-contradictory in English. :mod:`optparse` " +"\"required option\" is self-contradictory in English. :mod:`!optparse` " "doesn't prevent you from implementing required options, but doesn't give you " "much help at it either." msgstr "" @@ -496,9 +493,9 @@ msgid "Tutorial" msgstr "Tutorial" msgid "" -"While :mod:`optparse` is quite flexible and powerful, it's also " +"While :mod:`!optparse` is quite flexible and powerful, it's also " "straightforward to use in most cases. This section covers the code patterns " -"that are common to any :mod:`optparse`\\ -based program." +"that are common to any :mod:`!optparse`\\ -based program." msgstr "" msgid "" @@ -522,7 +519,7 @@ msgstr "" msgid "" "Each option has one or more option strings, such as ``-f`` or ``--file``, " -"and several option attributes that tell :mod:`optparse` what to expect and " +"and several option attributes that tell :mod:`!optparse` what to expect and " "what to do when it encounters that option on the command line." msgstr "" @@ -543,13 +540,13 @@ msgstr "" msgid "" "The option strings passed to :meth:`OptionParser.add_option` are effectively " "labels for the option defined by that call. For brevity, we will frequently " -"refer to *encountering an option* on the command line; in reality, :mod:" -"`optparse` encounters *option strings* and looks up options from them." +"refer to *encountering an option* on the command line; in reality, :mod:`!" +"optparse` encounters *option strings* and looks up options from them." msgstr "" msgid "" -"Once all of your options are defined, instruct :mod:`optparse` to parse your " -"program's command line::" +"Once all of your options are defined, instruct :mod:`!optparse` to parse " +"your program's command line::" msgstr "" msgid "(options, args) = parser.parse_args()" @@ -586,23 +583,24 @@ msgid "Understanding option actions" msgstr "" msgid "" -"Actions tell :mod:`optparse` what to do when it encounters an option on the " -"command line. There is a fixed set of actions hard-coded into :mod:" -"`optparse`; adding new actions is an advanced topic covered in section :ref:" -"`optparse-extending-optparse`. Most actions tell :mod:`optparse` to store a " -"value in some variable---for example, take a string from the command line " +"Actions tell :mod:`!optparse` what to do when it encounters an option on the " +"command line. There is a fixed set of actions hard-coded into :mod:`!" +"optparse`; adding new actions is an advanced topic covered in section :ref:" +"`optparse-extending-optparse`. Most actions tell :mod:`!optparse` to store " +"a value in some variable---for example, take a string from the command line " "and store it in an attribute of ``options``." msgstr "" msgid "" -"If you don't specify an option action, :mod:`optparse` defaults to ``store``." +"If you don't specify an option action, :mod:`!optparse` defaults to " +"``store``." msgstr "" msgid "The store action" msgstr "" msgid "" -"The most common option action is ``store``, which tells :mod:`optparse` to " +"The most common option action is ``store``, which tells :mod:`!optparse` to " "take the next argument (or the remainder of the current argument), ensure " "that it is of the correct type, and store it to your chosen destination." msgstr "" @@ -616,7 +614,7 @@ msgid "" msgstr "" msgid "" -"Now let's make up a fake command line and ask :mod:`optparse` to parse it::" +"Now let's make up a fake command line and ask :mod:`!optparse` to parse it::" msgstr "" msgid "" @@ -625,14 +623,14 @@ msgid "" msgstr "" msgid "" -"When :mod:`optparse` sees the option string ``-f``, it consumes the next " +"When :mod:`!optparse` sees the option string ``-f``, it consumes the next " "argument, ``foo.txt``, and stores it in ``options.filename``. So, after " "this call to :meth:`~OptionParser.parse_args`, ``options.filename`` is " "``\"foo.txt\"``." msgstr "" msgid "" -"Some other option types supported by :mod:`optparse` are ``int`` and " +"Some other option types supported by :mod:`!optparse` are ``int`` and " "``float``. Here's an option that expects an integer argument::" msgstr "" @@ -659,7 +657,7 @@ msgid "will print ``42``." msgstr "" msgid "" -"If you don't specify a type, :mod:`optparse` assumes ``string``. Combined " +"If you don't specify a type, :mod:`!optparse` assumes ``string``. Combined " "with the fact that the default action is ``store``, that means our first " "example can be a lot shorter::" msgstr "" @@ -668,15 +666,15 @@ msgid "parser.add_option(\"-f\", \"--file\", dest=\"filename\")" msgstr "" msgid "" -"If you don't supply a destination, :mod:`optparse` figures out a sensible " +"If you don't supply a destination, :mod:`!optparse` figures out a sensible " "default from the option strings: if the first long option string is ``--foo-" "bar``, then the default destination is ``foo_bar``. If there are no long " -"option strings, :mod:`optparse` looks at the first short option string: the " +"option strings, :mod:`!optparse` looks at the first short option string: the " "default destination for ``-f`` is ``f``." msgstr "" msgid "" -":mod:`optparse` also includes the built-in ``complex`` type. Adding types " +":mod:`!optparse` also includes the built-in ``complex`` type. Adding types " "is covered in section :ref:`optparse-extending-optparse`." msgstr "" @@ -685,7 +683,7 @@ msgstr "" msgid "" "Flag options---set a variable to true or false when a particular option is " -"seen---are quite common. :mod:`optparse` supports them with two separate " +"seen---are quite common. :mod:`!optparse` supports them with two separate " "actions, ``store_true`` and ``store_false``. For example, you might have a " "``verbose`` flag that is turned on with ``-v`` and off with ``-q``::" msgstr "" @@ -702,7 +700,7 @@ msgid "" msgstr "" msgid "" -"When :mod:`optparse` encounters ``-v`` on the command line, it sets " +"When :mod:`!optparse` encounters ``-v`` on the command line, it sets " "``options.verbose`` to ``True``; when it encounters ``-q``, ``options." "verbose`` is set to ``False``." msgstr "" @@ -710,7 +708,7 @@ msgstr "" msgid "Other actions" msgstr "" -msgid "Some other actions supported by :mod:`optparse` are:" +msgid "Some other actions supported by :mod:`!optparse` are:" msgstr "" msgid "``\"store_const\"``" @@ -750,12 +748,12 @@ msgid "" "\"destination\") when certain command-line options are seen. What happens " "if those options are never seen? Since we didn't supply any defaults, they " "are all set to ``None``. This is usually fine, but sometimes you want more " -"control. :mod:`optparse` lets you supply a default value for each " +"control. :mod:`!optparse` lets you supply a default value for each " "destination, which is assigned before the command line is parsed." msgstr "" msgid "" -"First, consider the verbose/quiet example. If we want :mod:`optparse` to " +"First, consider the verbose/quiet example. If we want :mod:`!optparse` to " "set ``verbose`` to ``True`` unless ``-q`` is seen, then we can do this::" msgstr "" @@ -814,7 +812,7 @@ msgid "Generating help" msgstr "" msgid "" -":mod:`optparse`'s ability to generate help and usage text automatically is " +":mod:`!optparse`'s ability to generate help and usage text automatically is " "useful for creating user-friendly command-line interfaces. All you have to " "do is supply a :attr:`~Option.help` value for each option, and optionally a " "short usage message for your whole program. Here's an OptionParser " @@ -839,7 +837,7 @@ msgid "" msgstr "" msgid "" -"If :mod:`optparse` encounters either ``-h`` or ``--help`` on the command-" +"If :mod:`!optparse` encounters either ``-h`` or ``--help`` on the command-" "line, or if you just call :meth:`parser.print_help`, it prints the following " "to standard output:" msgstr "" @@ -858,12 +856,12 @@ msgid "" msgstr "" msgid "" -"(If the help output is triggered by a help option, :mod:`optparse` exits " +"(If the help output is triggered by a help option, :mod:`!optparse` exits " "after printing the help text.)" msgstr "" msgid "" -"There's a lot going on here to help :mod:`optparse` generate the best " +"There's a lot going on here to help :mod:`!optparse` generate the best " "possible help message:" msgstr "" @@ -874,20 +872,20 @@ msgid "usage = \"usage: %prog [options] arg1 arg2\"" msgstr "" msgid "" -":mod:`optparse` expands ``%prog`` in the usage string to the name of the " +":mod:`!optparse` expands ``%prog`` in the usage string to the name of the " "current program, i.e. ``os.path.basename(sys.argv[0])``. The expanded " "string is then printed before the detailed option help." msgstr "" msgid "" -"If you don't supply a usage string, :mod:`optparse` uses a bland but " +"If you don't supply a usage string, :mod:`!optparse` uses a bland but " "sensible default: ``\"Usage: %prog [options]\"``, which is fine if your " "script doesn't take any positional arguments." msgstr "" msgid "" "every option defines a help string, and doesn't worry about line-wrapping---" -"\\ :mod:`optparse` takes care of wrapping lines and making the help output " +"\\ :mod:`!optparse` takes care of wrapping lines and making the help output " "look good." msgstr "" @@ -901,8 +899,8 @@ msgstr "" msgid "" "Here, \"MODE\" is called the meta-variable: it stands for the argument that " -"the user is expected to supply to ``-m``/``--mode``. By default, :mod:" -"`optparse` converts the destination variable name to uppercase and uses that " +"the user is expected to supply to ``-m``/``--mode``. By default, :mod:`!" +"optparse` converts the destination variable name to uppercase and uses that " "for the meta-variable. Sometimes, that's not what you want---for example, " "the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, resulting in " "this automatically generated option description::" @@ -922,9 +920,9 @@ msgstr "" msgid "" "options that have a default value can include ``%default`` in the help " -"string---\\ :mod:`optparse` will replace it with :func:`str` of the option's " -"default value. If an option has no default value (or the default value is " -"``None``), ``%default`` expands to ``none``." +"string---\\ :mod:`!optparse` will replace it with :func:`str` of the " +"option's default value. If an option has no default value (or the default " +"value is ``None``), ``%default`` expands to ``none``." msgstr "" msgid "Grouping Options" @@ -1062,7 +1060,7 @@ msgid "Printing a version string" msgstr "" msgid "" -"Similar to the brief usage string, :mod:`optparse` can also print a version " +"Similar to the brief usage string, :mod:`!optparse` can also print a version " "string for your program. You have to supply the string as the ``version`` " "argument to OptionParser::" msgstr "" @@ -1073,8 +1071,8 @@ msgstr "" msgid "" "``%prog`` is expanded just like it is in ``usage``. Apart from that, " -"``version`` can contain anything you like. When you supply it, :mod:" -"`optparse` automatically adds a ``--version`` option to your parser. If it " +"``version`` can contain anything you like. When you supply it, :mod:`!" +"optparse` automatically adds a ``--version`` option to your parser. If it " "encounters this option on the command line, it expands your ``version`` " "string (by replacing ``%prog``), prints it to stdout, and exits." msgstr "" @@ -1106,11 +1104,11 @@ msgid "" "printing it." msgstr "" -msgid "How :mod:`optparse` handles errors" +msgid "How :mod:`!optparse` handles errors" msgstr "" msgid "" -"There are two broad classes of errors that :mod:`optparse` has to worry " +"There are two broad classes of errors that :mod:`!optparse` has to worry " "about: programmer errors and user errors. Programmer errors are usually " "erroneous calls to :func:`OptionParser.add_option`, e.g. invalid option " "strings, unknown option attributes, missing option attributes, etc. These " @@ -1120,12 +1118,12 @@ msgstr "" msgid "" "Handling user errors is much more important, since they are guaranteed to " -"happen no matter how stable your code is. :mod:`optparse` can automatically " -"detect some user errors, such as bad option arguments (passing ``-n 4x`` " -"where ``-n`` takes an integer argument), missing arguments (``-n`` at the " -"end of the command line, where ``-n`` takes an argument of any type). Also, " -"you can call :func:`OptionParser.error` to signal an application-defined " -"error condition::" +"happen no matter how stable your code is. :mod:`!optparse` can " +"automatically detect some user errors, such as bad option arguments (passing " +"``-n 4x`` where ``-n`` takes an integer argument), missing arguments (``-n`` " +"at the end of the command line, where ``-n`` takes an argument of any " +"type). Also, you can call :func:`OptionParser.error` to signal an " +"application-defined error condition::" msgstr "" msgid "" @@ -1136,7 +1134,7 @@ msgid "" msgstr "" msgid "" -"In either case, :mod:`optparse` handles the error the same way: it prints " +"In either case, :mod:`!optparse` handles the error the same way: it prints " "the program's usage message and an error message to standard error and exits " "with error status 2." msgstr "" @@ -1168,13 +1166,13 @@ msgstr "" "foo: error: -n option requires an argument" msgid "" -":mod:`optparse`\\ -generated error messages take care always to mention the " +":mod:`!optparse`\\ -generated error messages take care always to mention the " "option involved in the error; be sure to do the same when calling :func:" "`OptionParser.error` from your application code." msgstr "" msgid "" -"If :mod:`optparse`'s default error-handling behaviour does not suit your " +"If :mod:`!optparse`'s default error-handling behaviour does not suit your " "needs, you'll need to subclass OptionParser and override its :meth:" "`~OptionParser.exit` and/or :meth:`~OptionParser.error` methods." msgstr "" @@ -1182,7 +1180,7 @@ msgstr "" msgid "Putting it all together" msgstr "" -msgid "Here's what :mod:`optparse`\\ -based scripts usually look like::" +msgid "Here's what :mod:`!optparse`\\ -based scripts usually look like::" msgstr "" msgid "" @@ -1216,7 +1214,7 @@ msgid "Creating the parser" msgstr "" msgid "" -"The first step in using :mod:`optparse` is to create an OptionParser " +"The first step in using :mod:`!optparse` is to create an OptionParser " "instance." msgstr "" @@ -1231,7 +1229,7 @@ msgstr "" msgid "" "The usage summary to print when your program is run incorrectly or with a " -"help option. When :mod:`optparse` prints the usage string, it expands " +"help option. When :mod:`!optparse` prints the usage string, it expands " "``%prog`` to ``os.path.basename(sys.argv[0])`` (or to ``prog`` if you passed " "that keyword argument). To suppress a usage message, pass the special " "value :const:`optparse.SUPPRESS_USAGE`." @@ -1259,7 +1257,7 @@ msgstr "" msgid "" "A version string to print when the user supplies a version option. If you " -"supply a true value for ``version``, :mod:`optparse` automatically adds a " +"supply a true value for ``version``, :mod:`!optparse` automatically adds a " "version option with the single option string ``--version``. The substring " "``%prog`` is expanded the same as for ``usage``." msgstr "" @@ -1276,10 +1274,10 @@ msgid "``description`` (default: ``None``)" msgstr "" msgid "" -"A paragraph of text giving a brief overview of your program. :mod:`optparse` " -"reformats this paragraph to fit the current terminal width and prints it " -"when the user requests help (after ``usage``, but before the list of " -"options)." +"A paragraph of text giving a brief overview of your program. :mod:`!" +"optparse` reformats this paragraph to fit the current terminal width and " +"prints it when the user requests help (after ``usage``, but before the list " +"of options)." msgstr "" msgid "``formatter`` (default: a new :class:`IndentedHelpFormatter`)" @@ -1287,7 +1285,7 @@ msgstr "" msgid "" "An instance of optparse.HelpFormatter that will be used for printing help " -"text. :mod:`optparse` provides two concrete classes for this purpose: " +"text. :mod:`!optparse` provides two concrete classes for this purpose: " "IndentedHelpFormatter and TitledHelpFormatter." msgstr "" @@ -1295,7 +1293,7 @@ msgid "``add_help_option`` (default: ``True``)" msgstr "" msgid "" -"If true, :mod:`optparse` will add a help option (with option strings ``-h`` " +"If true, :mod:`!optparse` will add a help option (with option strings ``-h`` " "and ``--help``) to the parser." msgstr "" @@ -1349,7 +1347,7 @@ msgstr "" msgid "" "(:func:`make_option` is a factory function for creating Option instances; " "currently it is an alias for the Option constructor. A future version of :" -"mod:`optparse` may split Option into several classes, and :func:" +"mod:`!optparse` may split Option into several classes, and :func:" "`make_option` will pick the right class to instantiate. Do not instantiate " "Option directly.)" msgstr "" @@ -1384,14 +1382,14 @@ msgid "" "The keyword arguments define attributes of the new Option object. The most " "important option attribute is :attr:`~Option.action`, and it largely " "determines which other attributes are relevant or required. If you pass " -"irrelevant option attributes, or fail to pass required ones, :mod:`optparse` " -"raises an :exc:`OptionError` exception explaining your mistake." +"irrelevant option attributes, or fail to pass required ones, :mod:`!" +"optparse` raises an :exc:`OptionError` exception explaining your mistake." msgstr "" msgid "" -"An option's *action* determines what :mod:`optparse` does when it encounters " -"this option on the command-line. The standard option actions hard-coded " -"into :mod:`optparse` are:" +"An option's *action* determines what :mod:`!optparse` does when it " +"encounters this option on the command-line. The standard option actions " +"hard-coded into :mod:`!optparse` are:" msgstr "" msgid "``\"store\"``" @@ -1433,7 +1431,7 @@ msgstr "" msgid "" "As you can see, most actions involve storing or updating a value somewhere. :" -"mod:`optparse` always creates a special object for this, conventionally " +"mod:`!optparse` always creates a special object for this, conventionally " "called ``options``, which is an instance of :class:`optparse.Values`." msgstr "" @@ -1457,7 +1455,7 @@ msgid "parser.parse_args()" msgstr "" msgid "" -"one of the first things :mod:`optparse` does is create the ``options`` " +"one of the first things :mod:`!optparse` does is create the ``options`` " "object::" msgstr "" @@ -1483,7 +1481,7 @@ msgid "" msgstr "" msgid "" -"then :mod:`optparse`, on seeing this option, will do the equivalent of ::" +"then :mod:`!optparse`, on seeing this option, will do the equivalent of ::" msgstr "" msgid "options.filename = \"foo\"" @@ -1509,14 +1507,14 @@ msgid "" "The following option attributes may be passed as keyword arguments to :meth:" "`OptionParser.add_option`. If you pass an option attribute that is not " "relevant to a particular option, or fail to pass a required option " -"attribute, :mod:`optparse` raises :exc:`OptionError`." +"attribute, :mod:`!optparse` raises :exc:`OptionError`." msgstr "" msgid "(default: ``\"store\"``)" msgstr "(default: ``\"store\"``)" msgid "" -"Determines :mod:`optparse`'s behaviour when this option is seen on the " +"Determines :mod:`!optparse`'s behaviour when this option is seen on the " "command line; the available options are documented :ref:`here `." msgstr "" @@ -1535,9 +1533,9 @@ msgstr "" msgid "" "If the option's action implies writing or modifying a value somewhere, this " -"tells :mod:`optparse` where to write it: :attr:`~Option.dest` names an " -"attribute of the ``options`` object that :mod:`optparse` builds as it parses " -"the command line." +"tells :mod:`!optparse` where to write it: :attr:`~Option.dest` names an " +"attribute of the ``options`` object that :mod:`!optparse` builds as it " +"parses the command line." msgstr "" msgid "" @@ -1550,7 +1548,7 @@ msgstr "" msgid "" "How many arguments of type :attr:`~Option.type` should be consumed when this " -"option is seen. If > 1, :mod:`optparse` will store a tuple of values to :" +"option is seen. If > 1, :mod:`!optparse` will store a tuple of values to :" "attr:`~Option.dest`." msgstr "" @@ -1591,7 +1589,7 @@ msgstr "" msgid "" "The various option actions all have slightly different requirements and " "effects. Most actions have several relevant option attributes which you may " -"specify to guide :mod:`optparse`'s behaviour; a few have required " +"specify to guide :mod:`!optparse`'s behaviour; a few have required " "attributes, which you must specify for any option using that action." msgstr "" @@ -1618,10 +1616,11 @@ msgid "If :attr:`~Option.type` is not supplied, it defaults to ``\"string\"``." msgstr "" msgid "" -"If :attr:`~Option.dest` is not supplied, :mod:`optparse` derives a " +"If :attr:`~Option.dest` is not supplied, :mod:`!optparse` derives a " "destination from the first long option string (e.g., ``--foo-bar`` implies " -"``foo_bar``). If there are no long option strings, :mod:`optparse` derives a " -"destination from the first short option string (e.g., ``-f`` implies ``f``)." +"``foo_bar``). If there are no long option strings, :mod:`!optparse` derives " +"a destination from the first short option string (e.g., ``-f`` implies " +"``f``)." msgstr "" msgid "Example::" @@ -1638,7 +1637,7 @@ msgstr "" msgid "-f foo.txt -p 1 -3.5 4 -fbar.txt" msgstr "" -msgid ":mod:`optparse` will set ::" +msgid ":mod:`!optparse` will set ::" msgstr "" msgid "" @@ -1664,7 +1663,7 @@ msgid "" " action=\"store_const\", const=2, dest=\"verbose\")" msgstr "" -msgid "If ``--noisy`` is seen, :mod:`optparse` will set ::" +msgid "If ``--noisy`` is seen, :mod:`!optparse` will set ::" msgstr "" msgid "options.verbose = 2" @@ -1697,7 +1696,7 @@ msgstr "" msgid "" "The option must be followed by an argument, which is appended to the list " "in :attr:`~Option.dest`. If no default value for :attr:`~Option.dest` is " -"supplied, an empty list is automatically created when :mod:`optparse` first " +"supplied, an empty list is automatically created when :mod:`!optparse` first " "encounters this option on the command-line. If :attr:`~Option.nargs` > 1, " "multiple arguments are consumed, and a tuple of length :attr:`~Option.nargs` " "is appended to :attr:`~Option.dest`." @@ -1713,7 +1712,7 @@ msgid "" msgstr "" msgid "" -"If ``-t3`` is seen on the command-line, :mod:`optparse` does the equivalent " +"If ``-t3`` is seen on the command-line, :mod:`!optparse` does the equivalent " "of::" msgstr "" @@ -1769,7 +1768,7 @@ msgid "parser.add_option(\"-v\", action=\"count\", dest=\"verbosity\")" msgstr "" msgid "" -"The first time ``-v`` is seen on the command line, :mod:`optparse` does the " +"The first time ``-v`` is seen on the command line, :mod:`!optparse` does the " "equivalent of::" msgstr "" @@ -1815,7 +1814,7 @@ msgid "" msgstr "" msgid "" -":mod:`optparse` automatically adds a :attr:`~Option.help` option to all " +":mod:`!optparse` automatically adds a :attr:`~Option.help` option to all " "OptionParsers, so you do not normally need to create one." msgstr "" @@ -1835,7 +1834,7 @@ msgid "" msgstr "" msgid "" -"If :mod:`optparse` sees either ``-h`` or ``--help`` on the command line, it " +"If :mod:`!optparse` sees either ``-h`` or ``--help`` on the command line, it " "will print something like the following help message to stdout (assuming " "``sys.argv[0]`` is ``\"foo.py\"``):" msgstr "" @@ -1850,7 +1849,7 @@ msgid "" msgstr "" msgid "" -"After printing the help message, :mod:`optparse` terminates your process " +"After printing the help message, :mod:`!optparse` terminates your process " "with ``sys.exit(0)``." msgstr "" @@ -1863,16 +1862,16 @@ msgid "" "``print_version()`` method of OptionParser. Generally only relevant if the " "``version`` argument is supplied to the OptionParser constructor. As with :" "attr:`~Option.help` options, you will rarely create ``version`` options, " -"since :mod:`optparse` automatically adds them when needed." +"since :mod:`!optparse` automatically adds them when needed." msgstr "" msgid "Standard option types" msgstr "" msgid "" -":mod:`optparse` has five built-in option types: ``\"string\"``, ``\"int\"``, " -"``\"choice\"``, ``\"float\"`` and ``\"complex\"``. If you need to add new " -"option types, see section :ref:`optparse-extending-optparse`." +":mod:`!optparse` has five built-in option types: ``\"string\"``, " +"``\"int\"``, ``\"choice\"``, ``\"float\"`` and ``\"complex\"``. If you need " +"to add new option types, see section :ref:`optparse-extending-optparse`." msgstr "" msgid "" @@ -1898,8 +1897,8 @@ msgstr "" msgid "" "The conversion is done by calling :func:`int` with the appropriate base (2, " -"8, 10, or 16). If this fails, so will :mod:`optparse`, although with a more " -"useful error message." +"8, 10, or 16). If this fails, so will :mod:`!optparse`, although with a " +"more useful error message." msgstr "" msgid "" @@ -1952,7 +1951,7 @@ msgstr "" msgid "" "the same object that was passed in as *values*, or the ``optparse.Values`` " -"instance created by :mod:`optparse`" +"instance created by :mod:`!optparse`" msgstr "" msgid "the leftover positional arguments after all options have been processed" @@ -1983,8 +1982,8 @@ msgstr "" msgid "" "Set parsing to stop on the first non-option. For example, if ``-a`` and ``-" -"b`` are both simple options that take no arguments, :mod:`optparse` normally " -"accepts this syntax::" +"b`` are both simple options that take no arguments, :mod:`!optparse` " +"normally accepts this syntax::" msgstr "" msgid "prog -a arg1 -b arg2" @@ -2050,7 +2049,7 @@ msgid "" msgstr "" msgid "" -"Every time you add an option, :mod:`optparse` checks for conflicts with " +"Every time you add an option, :mod:`!optparse` checks for conflicts with " "existing options. If it finds any, it invokes the current conflict-handling " "mechanism. You can set the conflict-handling mechanism either in the " "constructor::" @@ -2094,7 +2093,7 @@ msgid "" msgstr "" msgid "" -"At this point, :mod:`optparse` detects that a previously added option is " +"At this point, :mod:`!optparse` detects that a previously added option is " "already using the ``-n`` option string. Since ``conflict_handler`` is " "``\"resolve\"``, it resolves the situation by removing ``-n`` from the " "earlier option's list of option strings. Now ``--dry-run`` is the only way " @@ -2112,7 +2111,7 @@ msgstr "" msgid "" "It's possible to whittle away the option strings for a previously added " "option until there are none left, and the user has no way of invoking that " -"option from the command-line. In that case, :mod:`optparse` removes that " +"option from the command-line. In that case, :mod:`!optparse` removes that " "option completely, so it doesn't show up in help text or anywhere else. " "Carrying on with our existing OptionParser::" msgstr "" @@ -2122,7 +2121,7 @@ msgstr "" msgid "" "At this point, the original ``-n``/``--dry-run`` option is no longer " -"accessible, so :mod:`optparse` removes it, leaving this help text::" +"accessible, so :mod:`!optparse` removes it, leaving this help text::" msgstr "" msgid "" @@ -2201,10 +2200,10 @@ msgid "Option Callbacks" msgstr "" msgid "" -"When :mod:`optparse`'s built-in actions and types aren't quite enough for " -"your needs, you have two choices: extend :mod:`optparse` or define a " -"callback option. Extending :mod:`optparse` is more general, but overkill for " -"a lot of simple cases. Quite often a simple callback is all you need." +"When :mod:`!optparse`'s built-in actions and types aren't quite enough for " +"your needs, you have two choices: extend :mod:`!optparse` or define a " +"callback option. Extending :mod:`!optparse` is more general, but overkill " +"for a lot of simple cases. Quite often a simple callback is all you need." msgstr "" msgid "There are two steps to defining a callback option:" @@ -2234,7 +2233,7 @@ msgstr "" msgid "" "``callback`` is a function (or other callable object), so you must have " "already defined ``my_callback()`` when you create this callback option. In " -"this simple case, :mod:`optparse` doesn't even know if ``-c`` takes any " +"this simple case, :mod:`!optparse` doesn't even know if ``-c`` takes any " "arguments, which usually means that the option takes no arguments---the mere " "presence of ``-c`` on the command-line is all it needs to know. In some " "circumstances, though, you might want your callback to consume an arbitrary " @@ -2243,7 +2242,7 @@ msgid "" msgstr "" msgid "" -":mod:`optparse` always passes four particular arguments to your callback, " +":mod:`!optparse` always passes four particular arguments to your callback, " "and it will only pass additional arguments if you specify them via :attr:" "`~Option.callback_args` and :attr:`~Option.callback_kwargs`. Thus, the " "minimal callback function signature is::" @@ -2265,16 +2264,16 @@ msgstr ":attr:`~Option.type`" msgid "" "has its usual meaning: as with the ``\"store\"`` or ``\"append\"`` actions, " -"it instructs :mod:`optparse` to consume one argument and convert it to :attr:" -"`~Option.type`. Rather than storing the converted value(s) anywhere, " -"though, :mod:`optparse` passes it to your callback function." +"it instructs :mod:`!optparse` to consume one argument and convert it to :" +"attr:`~Option.type`. Rather than storing the converted value(s) anywhere, " +"though, :mod:`!optparse` passes it to your callback function." msgstr "" msgid ":attr:`~Option.nargs`" msgstr ":attr:`~Option.nargs`" msgid "" -"also has its usual meaning: if it is supplied and > 1, :mod:`optparse` will " +"also has its usual meaning: if it is supplied and > 1, :mod:`!optparse` will " "consume :attr:`~Option.nargs` arguments, each of which must be convertible " "to :attr:`~Option.type`. It then passes a tuple of converted values to your " "callback." @@ -2319,7 +2318,7 @@ msgid "``value``" msgstr "" msgid "" -"is the argument to this option seen on the command-line. :mod:`optparse` " +"is the argument to this option seen on the command-line. :mod:`!optparse` " "will only expect an argument if :attr:`~Option.type` is set; the type of " "``value`` will be the type implied by the option's type. If :attr:`~Option." "type` for this option is ``None`` (no argument expected), then ``value`` " @@ -2361,7 +2360,7 @@ msgstr "" msgid "" "the object where option values are by default stored (an instance of " "optparse.OptionValues). This lets callbacks use the same mechanism as the " -"rest of :mod:`optparse` for storing option values; you don't need to mess " +"rest of :mod:`!optparse` for storing option values; you don't need to mess " "around with globals or closures. You can also access or modify the value(s) " "of any options already encountered on the command-line." msgstr "" @@ -2384,7 +2383,7 @@ msgstr "" msgid "" "The callback function should raise :exc:`OptionValueError` if there are any " -"problems with the option or its argument(s). :mod:`optparse` catches this " +"problems with the option or its argument(s). :mod:`!optparse` catches this " "and terminates the program, printing the error message you supply to " "stderr. Your message should be clear, concise, accurate, and mention the " "option at fault. Otherwise, the user will have a hard time figuring out what " @@ -2500,9 +2499,9 @@ msgid "" msgstr "" msgid "" -"Note that :mod:`optparse` takes care of consuming 3 arguments and converting " -"them to integers for you; all you have to do is store them. (Or whatever; " -"obviously you don't need a callback for this example.)" +"Note that :mod:`!optparse` takes care of consuming 3 arguments and " +"converting them to integers for you; all you have to do is store them. (Or " +"whatever; obviously you don't need a callback for this example.)" msgstr "" msgid "Callback example 6: variable arguments" @@ -2510,10 +2509,10 @@ msgstr "" msgid "" "Things get hairy when you want an option to take a variable number of " -"arguments. For this case, you must write a callback, as :mod:`optparse` " +"arguments. For this case, you must write a callback, as :mod:`!optparse` " "doesn't provide any built-in capabilities for it. And you have to deal with " -"certain intricacies of conventional Unix command-line parsing that :mod:" -"`optparse` normally handles for you. In particular, callbacks should " +"certain intricacies of conventional Unix command-line parsing that :mod:`!" +"optparse` normally handles for you. In particular, callbacks should " "implement the conventional rules for bare ``--`` and ``-`` arguments:" msgstr "" @@ -2534,8 +2533,8 @@ msgid "" "If you want an option that takes a variable number of arguments, there are " "several subtle, tricky issues to worry about. The exact implementation you " "choose will be based on which trade-offs you're willing to make for your " -"application (which is why :mod:`optparse` doesn't support this sort of thing " -"directly)." +"application (which is why :mod:`!optparse` doesn't support this sort of " +"thing directly)." msgstr "" msgid "" @@ -2572,11 +2571,11 @@ msgid "" " action=\"callback\", callback=vararg_callback)" msgstr "" -msgid "Extending :mod:`optparse`" +msgid "Extending :mod:`!optparse`" msgstr "" msgid "" -"Since the two major controlling factors in how :mod:`optparse` interprets " +"Since the two major controlling factors in how :mod:`!optparse` interprets " "command-line options are the action and type of each option, the most likely " "direction of extension is to add new actions and new types." msgstr "" @@ -2585,10 +2584,10 @@ msgid "Adding new types" msgstr "" msgid "" -"To add new types, you need to define your own subclass of :mod:`optparse`'s :" -"class:`Option` class. This class has a couple of attributes that define :" -"mod:`optparse`'s types: :attr:`~Option.TYPES` and :attr:`~Option." -"TYPE_CHECKER`." +"To add new types, you need to define your own subclass of :mod:`!" +"optparse`'s :class:`Option` class. This class has a couple of attributes " +"that define :mod:`!optparse`'s types: :attr:`~Option.TYPES` and :attr:" +"`~Option.TYPE_CHECKER`." msgstr "" msgid "" @@ -2625,7 +2624,7 @@ msgstr "" msgid "" "Here's a silly example that demonstrates adding a ``\"complex\"`` option " "type to parse Python-style complex numbers on the command line. (This is " -"even sillier than it used to be, because :mod:`optparse` 1.3 added built-in " +"even sillier than it used to be, because :mod:`!optparse` 1.3 added built-in " "support for complex numbers, but never mind.)" msgstr "" @@ -2663,14 +2662,14 @@ msgstr "" msgid "" "(If we didn't make a :func:`copy` of :attr:`Option.TYPE_CHECKER`, we would " -"end up modifying the :attr:`~Option.TYPE_CHECKER` attribute of :mod:" -"`optparse`'s Option class. This being Python, nothing stops you from doing " +"end up modifying the :attr:`~Option.TYPE_CHECKER` attribute of :mod:`!" +"optparse`'s Option class. This being Python, nothing stops you from doing " "that except good manners and common sense.)" msgstr "" msgid "" "That's it! Now you can write a script that uses the new option type just " -"like any other :mod:`optparse`\\ -based script, except you have to instruct " +"like any other :mod:`!optparse`\\ -based script, except you have to instruct " "your OptionParser to use MyOption instead of Option::" msgstr "" @@ -2696,14 +2695,14 @@ msgstr "" msgid "" "Adding new actions is a bit trickier, because you have to understand that :" -"mod:`optparse` has a couple of classifications for actions:" +"mod:`!optparse` has a couple of classifications for actions:" msgstr "" msgid "\"store\" actions" msgstr "" msgid "" -"actions that result in :mod:`optparse` storing a value to an attribute of " +"actions that result in :mod:`!optparse` storing a value to an attribute of " "the current OptionValues instance; these options require a :attr:`~Option." "dest` attribute to be supplied to the Option constructor." msgstr "" @@ -2741,7 +2740,7 @@ msgstr "" msgid "" "Actions that always take a type (i.e. whose options always take a value) are " -"additionally listed here. The only effect of this is that :mod:`optparse` " +"additionally listed here. The only effect of this is that :mod:`!optparse` " "assigns the default type, ``\"string\"``, to options with no explicit type " "whose action is listed in :attr:`ALWAYS_TYPED_ACTIONS`." msgstr "" @@ -2799,14 +2798,14 @@ msgid "" msgstr "" msgid "" -"to ensure that :mod:`optparse` assigns the default type of ``\"string\"`` to " -"``\"extend\"`` actions, we put the ``\"extend\"`` action in :attr:`~Option." -"ALWAYS_TYPED_ACTIONS` as well." +"to ensure that :mod:`!optparse` assigns the default type of ``\"string\"`` " +"to ``\"extend\"`` actions, we put the ``\"extend\"`` action in :attr:" +"`~Option.ALWAYS_TYPED_ACTIONS` as well." msgstr "" msgid "" ":meth:`MyOption.take_action` implements just this one new action, and passes " -"control back to :meth:`Option.take_action` for the standard :mod:`optparse` " +"control back to :meth:`Option.take_action` for the standard :mod:`!optparse` " "actions." msgstr "" diff --git a/library/os.path.po b/library/os.path.po index 074859c1c1..a7bf374f32 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,17 +57,17 @@ msgstr "" msgid "" "Since different operating systems have different path name conventions, " "there are several versions of this module in the standard library. The :mod:" -"`os.path` module is always the path module suitable for the operating system " -"Python is running on, and therefore usable for local paths. However, you " -"can also import and use the individual modules if you want to manipulate a " -"path that is *always* in one of the different formats. They all have the " +"`!os.path` module is always the path module suitable for the operating " +"system Python is running on, and therefore usable for local paths. However, " +"you can also import and use the individual modules if you want to manipulate " +"a path that is *always* in one of the different formats. They all have the " "same interface:" msgstr "" -msgid ":mod:`posixpath` for UNIX-style paths" +msgid ":mod:`!posixpath` for UNIX-style paths" msgstr "" -msgid ":mod:`ntpath` for Windows paths" +msgid ":mod:`!ntpath` for Windows paths" msgstr "" msgid "" @@ -81,8 +79,11 @@ msgstr "" msgid "" "Return a normalized absolutized version of the pathname *path*. On most " -"platforms, this is equivalent to calling the function :func:`normpath` as " -"follows: ``normpath(join(os.getcwd(), path))``." +"platforms, this is equivalent to calling ``normpath(join(os.getcwd(), " +"path))``." +msgstr "" + +msgid ":func:`os.path.join` and :func:`os.path.normpath`." msgstr "" msgid "Accepts a :term:`path-like object`." @@ -110,14 +111,16 @@ msgid "Any iterable can now be passed, rather than just sequences." msgstr "" msgid "" -"Return the longest path prefix (taken character-by-character) that is a " -"prefix of all paths in *list*. If *list* is empty, return the empty string " -"(``''``)." +"Return the longest string prefix (taken character-by-character) that is a " +"prefix of all strings in *list*. If *list* is empty, return the empty " +"string (``''``)." msgstr "" msgid "" "This function may return invalid paths because it works a character at a " -"time. To obtain a valid path, see :func:`commonpath`." +"time. If you need a **common path prefix**, then the algorithm implemented " +"in this function is not secure. Use :func:`commonpath` for finding a common " +"path prefix." msgstr "" msgid "" @@ -230,6 +233,9 @@ msgid "" "drive letter, colon, and (back)slash together." msgstr "" +msgid ":func:`abspath`" +msgstr "" + msgid "" "On Windows, returns ``False`` if the given path starts with exactly one " "(back)slash." @@ -266,9 +272,11 @@ msgid "" "different device than *path*, or whether :file:`{path}/..` and *path* point " "to the same i-node on the same device --- this should detect mount points " "for all Unix and POSIX variants. It is not able to reliably detect bind " -"mounts on the same filesystem. On Windows, a drive letter root and a share " -"UNC are always mount points, and for any other path ``GetVolumePathName`` is " -"called to see if it is different from the input path." +"mounts on the same filesystem. On Linux systems, it will always return " +"``True`` for btrfs subvolumes, even if they aren't mount points. On Windows, " +"a drive letter root and a share UNC are always mount points, and for any " +"other path ``GetVolumePathName`` is called to see if it is different from " +"the input path." msgstr "" msgid "Added support for detecting non-root mount points on Windows." @@ -320,15 +328,37 @@ msgid "" "concatenation of *path* and all members of *\\*paths*, with exactly one " "directory separator following each non-empty part, except the last. That is, " "the result will only end in a separator if the last part is either empty or " -"ends in a separator. If a segment is an absolute path (which on Windows " -"requires both a drive and a root), then all previous segments are ignored " -"and joining continues from the absolute path segment." +"ends in a separator." +msgstr "" + +msgid "" +"If a segment is an absolute path (which on Windows requires both a drive and " +"a root), then all previous segments are ignored and joining continues from " +"the absolute path segment. On Linux, for example::" +msgstr "" + +msgid "" +">>> os.path.join('/home/foo', 'bar')\n" +"'/home/foo/bar'\n" +">>> os.path.join('/home/foo', '/home/bar')\n" +"'/home/bar'" msgstr "" msgid "" "On Windows, the drive is not reset when a rooted path segment (e.g., " "``r'\\foo'``) is encountered. If a segment is on a different drive or is an " -"absolute path, all previous segments are ignored and the drive is reset. " +"absolute path, all previous segments are ignored and the drive is reset. For " +"example::" +msgstr "" + +msgid "" +">>> os.path.join('c:\\\\', 'foo')\n" +"'c:\\\\foo'\n" +">>> os.path.join('c:\\\\foo', 'd:\\\\bar')\n" +"'d:\\\\bar'" +msgstr "" + +msgid "" "Note that since there is a current directory for each drive, ``os.path." "join(\"c:\", \"foo\")`` represents a path relative to the current directory " "on drive :file:`C:` (:file:`c:foo`), not :file:`c:\\\\foo`." @@ -369,9 +399,33 @@ msgid "" msgstr "" msgid "" -"If a path doesn't exist or a symlink loop is encountered, and *strict* is " -"``True``, :exc:`OSError` is raised. If *strict* is ``False`` these errors " -"are ignored, and so the result might be missing or otherwise inaccessible." +"By default, the path is evaluated up to the first component that does not " +"exist, is a symlink loop, or whose evaluation raises :exc:`OSError`. All " +"such components are appended unchanged to the existing part of the path." +msgstr "" + +msgid "" +"Some errors that are handled this way include \"access denied\", \"not a " +"directory\", or \"bad argument to internal function\". Thus, the resulting " +"path may be missing or inaccessible, may still contain links or loops, and " +"may traverse non-directories." +msgstr "" + +msgid "This behavior can be modified by keyword arguments:" +msgstr "" + +msgid "" +"If *strict* is ``True``, the first error encountered when evaluating the " +"path is re-raised. In particular, :exc:`FileNotFoundError` is raised if " +"*path* does not exist, or another :exc:`OSError` if it is otherwise " +"inaccessible." +msgstr "" + +msgid "" +"If *strict* is :py:data:`os.path.ALLOW_MISSING`, errors other than :exc:" +"`FileNotFoundError` are re-raised (as with ``strict=True``). Thus, the " +"returned path will not contain any symbolic links, but the named file and " +"some of its parent directories may be missing." msgstr "" msgid "" @@ -391,6 +445,14 @@ msgstr "" msgid "The *strict* parameter was added." msgstr "Parametr *strict* został dodany." +msgid "" +"The :py:data:`~os.path.ALLOW_MISSING` value for the *strict* parameter was " +"added." +msgstr "" + +msgid "Special value used for the *strict* argument in :func:`realpath`." +msgstr "" + msgid "" "Return a relative filepath to *path* either from the current directory or " "from an optional *start* directory. This is a path computation: the " @@ -434,8 +496,8 @@ msgid "" "*path* is empty, both *head* and *tail* are empty. Trailing slashes are " "stripped from *head* unless it is the root (one or more slashes only). In " "all cases, ``join(head, tail)`` returns a path to the same location as " -"*path* (but the strings may differ). Also see the functions :func:`dirname` " -"and :func:`basename`." +"*path* (but the strings may differ). Also see the functions :func:`join`, :" +"func:`dirname` and :func:`basename`." msgstr "" msgid "" diff --git a/library/os.po b/library/os.po index d27fe7bbae..b1892b16b9 100644 --- a/library/os.po +++ b/library/os.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!os` --- Miscellaneous operating system interfaces" msgstr "" msgid "**Source code:** :source:`Lib/os.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/os.py`" msgid "" "This module provides a portable way of using operating system dependent " @@ -54,7 +52,7 @@ msgstr "" msgid "" "Extensions peculiar to a particular operating system are also available " -"through the :mod:`os` module, but using them is of course a threat to " +"through the :mod:`!os` module, but using them is of course a threat to " "portability." msgstr "" @@ -69,7 +67,7 @@ msgid "" msgstr "" msgid "" -"On WebAssembly platforms, Android and iOS, large parts of the :mod:`os` " +"On WebAssembly platforms, Android and iOS, large parts of the :mod:`!os` " "module are not available or behave differently. APIs related to processes (e." "g. :func:`~os.fork`, :func:`~os.execve`) and resources (e.g. :func:`~os." "nice`) are not available. Others like :func:`~os.getuid` and :func:`~os." @@ -259,7 +257,7 @@ msgid "" msgstr "" msgid "" -"This mapping is captured the first time the :mod:`os` module is imported, " +"This mapping is captured the first time the :mod:`!os` module is imported, " "typically during Python startup as part of processing :file:`site.py`. " "Changes to the environment made after this time are not reflected in :data:" "`os.environ`, except for changes made by modifying :data:`os.environ` " @@ -331,7 +329,7 @@ msgstr "" msgid "" "This function is not thread-safe. Calling it while the environment is being " -"modified in an other thread is an undefined behavior. Reading from :data:`os." +"modified in another thread is an undefined behavior. Reading from :data:`os." "environ` or :data:`os.environb`, or calling :func:`os.getenv` while " "reloading, may return an empty result." msgstr "" @@ -516,9 +514,9 @@ msgid "Return the current process's real user id." msgstr "" msgid "" -"Call the system initgroups() to initialize the group access list with all of " -"the groups of which the specified username is a member, plus the specified " -"group id." +"Call the system ``initgroups()`` to initialize the group access list with " +"all of the groups of which the specified username is a member, plus the " +"specified group id." msgstr "" msgid "" @@ -1143,7 +1141,7 @@ msgstr "" msgid "" "For a description of the flag and mode values, see the C run-time " "documentation; flag constants (like :const:`O_RDONLY` and :const:`O_WRONLY`) " -"are defined in the :mod:`os` module. In particular, on Windows adding :" +"are defined in the :mod:`!os` module. In particular, on Windows adding :" "const:`O_BINARY` is needed to open files in binary mode." msgstr "" @@ -1162,8 +1160,8 @@ msgstr "" msgid "" "This function is intended for low-level I/O. For normal usage, use the " "built-in function :func:`open`, which returns a :term:`file object` with :" -"meth:`~file.read` and :meth:`~file.write` methods (and many more). To wrap " -"a file descriptor in a file object, use :func:`fdopen`." +"meth:`~io.BufferedIOBase.read` and :meth:`~io.BufferedIOBase.write` methods. " +"To wrap a file descriptor in a file object, use :func:`fdopen`." msgstr "" msgid "Added the *dir_fd* parameter." @@ -1413,8 +1411,8 @@ msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To read a \"file " "object\" returned by the built-in function :func:`open` or by :func:`popen` " -"or :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~file.read` or :meth:" -"`~file.readline` methods." +"or :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~io.TextIOBase.read` " +"or :meth:`~io.IOBase.readline` methods." msgstr "" msgid "" @@ -1604,7 +1602,7 @@ msgid "" "descriptor as returned by :func:`os.open` or :func:`pipe`. To write a " "\"file object\" returned by the built-in function :func:`open` or by :func:" "`popen` or :func:`fdopen`, or :data:`sys.stdout` or :data:`sys.stderr`, use " -"its :meth:`~file.write` method." +"its :meth:`~io.TextIOBase.write` method." msgstr "" msgid "" @@ -1662,7 +1660,9 @@ msgstr "" msgid "" "On UNIX, non-inheritable file descriptors are closed in child processes at " -"the execution of a new program, other file descriptors are inherited." +"the execution of a new program, other file descriptors are inherited. Note " +"that non-inheritable file descriptors are still *inherited* by child " +"processes on :func:`os.fork`." msgstr "" msgid "" @@ -1701,12 +1701,11 @@ msgstr "" msgid "" "**specifying a file descriptor:** Normally the *path* argument provided to " -"functions in the :mod:`os` module must be a string specifying a file path. " +"functions in the :mod:`!os` module must be a string specifying a file path. " "However, some functions now alternatively accept an open file descriptor for " "their *path* argument. The function will then operate on the file referred " -"to by the descriptor. (For POSIX systems, Python will call the variant of " -"the function prefixed with ``f`` (e.g. call ``fchdir`` instead of " -"``chdir``).)" +"to by the descriptor. For POSIX systems, Python will call the variant of the " +"function prefixed with ``f`` (e.g. call ``fchdir`` instead of ``chdir``)." msgstr "" msgid "" @@ -1725,7 +1724,7 @@ msgid "" "**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it " "should be a file descriptor referring to a directory, and the path to " "operate on should be relative; path will then be relative to that " -"directory. If the path is absolute, *dir_fd* is ignored. (For POSIX " +"directory. If the path is absolute, *dir_fd* is ignored. For POSIX " "systems, Python will call the variant of the function with an ``at`` suffix " "and possibly prefixed with ``f`` (e.g. call ``faccessat`` instead of " "``access``)." @@ -1741,8 +1740,8 @@ msgid "" "**not following symlinks:** If *follow_symlinks* is ``False``, and the last " "element of the path to operate on is a symbolic link, the function will " "operate on the symbolic link itself rather than the file pointed to by the " -"link. (For POSIX systems, Python will call the ``l...`` variant of the " -"function.)" +"link. For POSIX systems, Python will call the ``l...`` variant of the " +"function." msgstr "" msgid "" @@ -3084,7 +3083,7 @@ msgid "Added the :attr:`f_fsid` attribute." msgstr "" msgid "" -"A :class:`set` object indicating which functions in the :mod:`os` module " +"A :class:`set` object indicating which functions in the :mod:`!os` module " "accept an open file descriptor for their *dir_fd* parameter. Different " "platforms provide different features, and the underlying functionality " "Python uses to implement the *dir_fd* parameter is not available on all " @@ -3131,7 +3130,7 @@ msgid "" msgstr "" msgid "" -"A :class:`set` object indicating which functions in the :mod:`os` module " +"A :class:`set` object indicating which functions in the :mod:`!os` module " "permit specifying their *path* parameter as an open file descriptor on the " "local platform. Different platforms provide different features, and the " "underlying functionality Python uses to accept open file descriptors as " @@ -3150,7 +3149,7 @@ msgid "os.chdir in os.supports_fd" msgstr "" msgid "" -"A :class:`set` object indicating which functions in the :mod:`os` module " +"A :class:`set` object indicating which functions in the :mod:`!os` module " "accept ``False`` for their *follow_symlinks* parameter on the local " "platform. Different platforms provide different features, and the underlying " "functionality Python uses to implement *follow_symlinks* is not available on " @@ -3175,6 +3174,11 @@ msgstr "" msgid "Create a symbolic link pointing to *src* named *dst*." msgstr "" +msgid "" +"The *src* parameter refers to the target of the link (the file or directory " +"being linked to), and *dst* is the name of the link being created." +msgstr "" + msgid "" "On Windows, a symlink represents either a file or a directory, and does not " "morph to the target dynamically. If the target is present, the type of the " @@ -3414,9 +3418,9 @@ msgstr "" msgid "" "import os\n" "for root, dirs, files, rootfd in os.fwalk('python/Lib/xml'):\n" -" print(root, \"consumes\", end=\"\")\n" +" print(root, \"consumes\", end=\" \")\n" " print(sum([os.stat(name, dir_fd=rootfd).st_size for name in files]),\n" -" end=\"\")\n" +" end=\" \")\n" " print(\"bytes in\", len(files), \"non-directory files\")\n" " if '__pycache__' in dirs:\n" " dirs.remove('__pycache__') # don't visit __pycache__ directories" @@ -3516,7 +3520,7 @@ msgid "" "import os\n" "\n" "# semaphore with start value '1'\n" -"fd = os.eventfd(1, os.EFD_SEMAPHORE | os.EFC_CLOEXEC)\n" +"fd = os.eventfd(1, os.EFD_SEMAPHORE | os.EFD_CLOEXEC)\n" "try:\n" " # acquire semaphore\n" " v = os.eventfd_read(fd)\n" @@ -3621,7 +3625,7 @@ msgstr "" msgid "" "The file descriptor's behaviour can be modified by specifying a *flags* " -"value. Any of the following variables may used, combined using bitwise OR " +"value. Any of the following variables may be used, combined using bitwise OR " "(the ``|`` operator):" msgstr "" @@ -3659,7 +3663,7 @@ msgstr "" msgid "" "The timer's behaviour can be modified by specifying a *flags* value. Any of " -"the following variables may used, combined using bitwise OR (the ``|`` " +"the following variables may be used, combined using bitwise OR (the ``|`` " "operator):" msgstr "" @@ -3742,8 +3746,8 @@ msgid "Return a two-item tuple of floats (``next_expiration``, ``interval``)." msgstr "" msgid "" -"``next_expiration`` denotes the relative time until next the timer next " -"fires, regardless of if the :const:`TFD_TIMER_ABSTIME` flag is set." +"``next_expiration`` denotes the relative time until the timer next fires, " +"regardless of if the :const:`TFD_TIMER_ABSTIME` flag is set." msgstr "" msgid "" @@ -3934,7 +3938,7 @@ msgstr "" msgid "" "The current process is replaced immediately. Open file objects and " "descriptors are not flushed, so if there may be data buffered on these open " -"files, you should flush them using :func:`sys.stdout.flush` or :func:`os." +"files, you should flush them using :func:`~io.IOBase.flush` or :func:`os." "fsync` before calling an :func:`exec\\* ` function." msgstr "" @@ -5147,7 +5151,7 @@ msgstr "" msgid "" "If :option:`-X cpu_count <-X>` is given or :envvar:`PYTHON_CPU_COUNT` is " -"set, :func:`cpu_count` returns the overridden value *n*." +"set, :func:`cpu_count` returns the override value *n*." msgstr "" msgid "" @@ -5169,7 +5173,7 @@ msgstr "" msgid "" "If :option:`-X cpu_count <-X>` is given or :envvar:`PYTHON_CPU_COUNT` is " -"set, :func:`process_cpu_count` returns the overridden value *n*." +"set, :func:`process_cpu_count` returns the override value *n*." msgstr "" msgid "See also the :func:`sched_getaffinity` function." diff --git a/library/pathlib.po b/library/pathlib.po index 6c4bcf24ce..ea0f8e3e99 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!pathlib` --- Object-oriented filesystem paths" msgstr "" msgid "**Source code:** :source:`Lib/pathlib/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pathlib/`" msgid "" "This module offers classes representing filesystem paths with semantics " @@ -472,7 +470,7 @@ msgstr "" msgid "" "The implementation of the :mod:`os.path` module used for low-level path " -"parsing and joining: either :mod:`posixpath` or :mod:`ntpath`." +"parsing and joining: either :mod:`!posixpath` or :mod:`!ntpath`." msgstr "" msgid "A string representing the drive letter or name, if any::" @@ -1743,6 +1741,11 @@ msgid "" " PosixPath('test_pathlib.py')]" msgstr "" +msgid "" +"The paths are returned in no particular order. If you need a specific order, " +"sort the results." +msgstr "" + msgid "" "By default, or when the *case_sensitive* keyword-only argument is set to " "``None``, this method matches paths using platform-specific casing rules: " @@ -2205,13 +2208,19 @@ msgstr "" msgid "``[seq]``" msgstr "``[seq]``" -msgid "Matches one character in *seq*." +msgid "" +"Matches one character in *seq*, where *seq* is a sequence of characters. " +"Range expressions are supported; for example, ``[a-z]`` matches any " +"lowercase ASCII letter. Multiple ranges can be combined: ``[a-zA-Z0-9_]`` " +"matches any ASCII letter, digit, or underscore." msgstr "" msgid "``[!seq]``" msgstr "``[!seq]``" -msgid "Matches one character not in *seq*." +msgid "" +"Matches one character not in *seq*, where *seq* follows the same rules as " +"above." msgstr "" msgid "" @@ -2241,13 +2250,13 @@ msgid "Any path with a final segment ending \"``.py``\"." msgstr "" msgid "\"``assets/**``\"" -msgstr "" +msgstr "\"``assets/**``\"" msgid "Any path starting with \"``assets/``\"." msgstr "" msgid "\"``assets/**/*``\"" -msgstr "" +msgstr "\"``assets/**/*``\"" msgid "" "Any path starting with \"``assets/``\", excluding \"``assets/``\" itself." @@ -2382,8 +2391,8 @@ msgstr "" msgid ":mod:`os` and :mod:`os.path`" msgstr "" -msgid ":mod:`pathlib`" -msgstr ":mod:`pathlib`" +msgid ":mod:`!pathlib`" +msgstr "" msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" @@ -2419,13 +2428,13 @@ msgid ":func:`os.path.relpath`" msgstr ":func:`os.path.relpath`" msgid ":meth:`PurePath.relative_to` [1]_" -msgstr "" +msgstr ":meth:`PurePath.relative_to` [1]_" msgid ":func:`os.path.expanduser`" msgstr ":func:`os.path.expanduser`" msgid ":meth:`Path.expanduser` [2]_" -msgstr "" +msgstr ":meth:`Path.expanduser` [2]_" msgid ":func:`os.path.realpath`" msgstr ":func:`os.path.realpath`" @@ -2437,7 +2446,7 @@ msgid ":func:`os.path.abspath`" msgstr ":func:`os.path.abspath`" msgid ":meth:`Path.absolute` [3]_" -msgstr "" +msgstr ":meth:`Path.absolute` [3]_" msgid ":func:`os.path.exists`" msgstr ":func:`os.path.exists`" @@ -2509,10 +2518,10 @@ msgid ":func:`os.walk`" msgstr ":func:`os.walk`" msgid ":meth:`Path.walk` [4]_" -msgstr "" +msgstr ":meth:`Path.walk` [4]_" msgid ":func:`os.mkdir`, :func:`os.makedirs`" -msgstr "" +msgstr ":func:`os.mkdir`, :func:`os.makedirs`" msgid ":meth:`Path.mkdir`" msgstr ":meth:`Path.mkdir`" @@ -2548,7 +2557,7 @@ msgid ":meth:`Path.replace`" msgstr ":meth:`Path.replace`" msgid ":func:`os.remove`, :func:`os.unlink`" -msgstr "" +msgstr ":func:`os.remove`, :func:`os.unlink`" msgid ":meth:`Path.unlink`" msgstr ":meth:`Path.unlink`" @@ -2603,7 +2612,7 @@ msgid "Protocols" msgstr "" msgid "" -"The :mod:`pathlib.types` module provides types for static type checking." +"The :mod:`!pathlib.types` module provides types for static type checking." msgstr "" msgid "" @@ -2643,7 +2652,7 @@ msgstr "" msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if the path is a " "file (without following symlinks); return ``False`` if the path is a " -"directory or other other non-file, or if it doesn't exist." +"directory or other non-file, or if it doesn't exist." msgstr "" msgid "" diff --git a/library/pdb.po b/library/pdb.po index 1c66ee36d0..cc5d10d0fd 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,19 +23,19 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`pdb` --- The Python Debugger" +msgid ":mod:`!pdb` --- The Python Debugger" msgstr "" msgid "**Source code:** :source:`Lib/pdb.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pdb.py`" msgid "" -"The module :mod:`pdb` defines an interactive source code debugger for Python " -"programs. It supports setting (conditional) breakpoints and single stepping " -"at the source line level, inspection of stack frames, source code listing, " -"and evaluation of arbitrary Python code in the context of any stack frame. " -"It also supports post-mortem debugging and can be called under program " -"control." +"The module :mod:`!pdb` defines an interactive source code debugger for " +"Python programs. It supports setting (conditional) breakpoints and single " +"stepping at the source line level, inspection of stack frames, source code " +"listing, and evaluation of arbitrary Python code in the context of any stack " +"frame. It also supports post-mortem debugging and can be called under " +"program control." msgstr "" msgid "" @@ -113,12 +111,15 @@ msgid "" "arguments of the ``p`` command." msgstr "" +msgid "Command-line interface" +msgstr "" + msgid "" -"You can also invoke :mod:`pdb` from the command line to debug other " +"You can also invoke :mod:`!pdb` from the command line to debug other " "scripts. For example::" msgstr "" -msgid "python -m pdb [-c command] (-m module | pyfile) [args ...]" +msgid "python -m pdb [-c command] (-m module | -p pid | pyfile) [args ...]" msgstr "" msgid "" @@ -145,6 +146,23 @@ msgstr "" msgid "Added the ``-m`` option." msgstr "" +msgid "Attach to the process with the specified PID." +msgstr "" + +msgid "" +"To attach to a running Python process for remote debugging, use the ``-p`` " +"or ``--pid`` option with the target process's PID::" +msgstr "" + +msgid "python -m pdb -p 1234" +msgstr "" + +msgid "" +"Attaching to a process that is blocked in a system call or waiting for I/O " +"will only work once the next bytecode instruction is executed or when the " +"process receives a signal." +msgstr "" + msgid "Typical usage to execute a statement under control of the debugger is::" msgstr "" @@ -370,7 +388,7 @@ msgstr "" msgid "See the documentation for the functions explained above." msgstr "" -msgid "Debugger Commands" +msgid "Debugger commands" msgstr "" msgid "" diff --git a/library/pickle.po b/library/pickle.po index eacaf1de05..b5ff4dfb82 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!pickle` --- Python object serialization" msgstr "" msgid "**Source code:** :source:`Lib/pickle.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pickle.py`" msgid "" -"The :mod:`pickle` module implements binary protocols for serializing and de-" +"The :mod:`!pickle` module implements binary protocols for serializing and de-" "serializing a Python object structure. *\"Pickling\"* is the process " "whereby a Python object hierarchy is converted into a byte stream, and " "*\"unpickling\"* is the inverse operation, whereby a byte stream (from a :" @@ -69,37 +67,19 @@ msgstr "" msgid "" "Python has a more primitive serialization module called :mod:`marshal`, but " -"in general :mod:`pickle` should always be the preferred way to serialize " +"in general :mod:`!pickle` should always be the preferred way to serialize " "Python objects. :mod:`marshal` exists primarily to support Python's :file:`." "pyc` files." msgstr "" msgid "" -"The :mod:`pickle` module differs from :mod:`marshal` in several significant " +"The :mod:`!pickle` module differs from :mod:`marshal` in several significant " "ways:" msgstr "" -msgid "" -"The :mod:`pickle` module keeps track of the objects it has already " -"serialized, so that later references to the same object won't be serialized " -"again. :mod:`marshal` doesn't do this." -msgstr "" - -msgid "" -"This has implications both for recursive objects and object sharing. " -"Recursive objects are objects that contain references to themselves. These " -"are not handled by marshal, and in fact, attempting to marshal recursive " -"objects will crash your Python interpreter. Object sharing happens when " -"there are multiple references to the same object in different places in the " -"object hierarchy being serialized. :mod:`pickle` stores such objects only " -"once, and ensures that all other references point to the master copy. " -"Shared objects remain shared, which can be very important for mutable " -"objects." -msgstr "" - msgid "" ":mod:`marshal` cannot be used to serialize user-defined classes and their " -"instances. :mod:`pickle` can save and restore class instances " +"instances. :mod:`!pickle` can save and restore class instances " "transparently, however the class definition must be importable and live in " "the same module as when the object was stored." msgstr "" @@ -109,7 +89,7 @@ msgid "" "across Python versions. Because its primary job in life is to support :file:" "`.pyc` files, the Python implementers reserve the right to change the " "serialization format in non-backwards compatible ways should the need arise. " -"The :mod:`pickle` serialization format is guaranteed to be backwards " +"The :mod:`!pickle` serialization format is guaranteed to be backwards " "compatible across Python releases provided a compatible pickle protocol is " "chosen and pickling and unpickling code deals with Python 2 to Python 3 type " "differences if your data is crossing that unique breaking change language " @@ -160,21 +140,21 @@ msgid "Data stream format" msgstr "" msgid "" -"The data format used by :mod:`pickle` is Python-specific. This has the " +"The data format used by :mod:`!pickle` is Python-specific. This has the " "advantage that there are no restrictions imposed by external standards such " "as JSON (which can't represent pointer sharing); however it means that non-" "Python programs may not be able to reconstruct pickled Python objects." msgstr "" msgid "" -"By default, the :mod:`pickle` data format uses a relatively compact binary " +"By default, the :mod:`!pickle` data format uses a relatively compact binary " "representation. If you need optimal size characteristics, you can " "efficiently :doc:`compress ` pickled data." msgstr "" msgid "" "The module :mod:`pickletools` contains tools for analyzing data streams " -"generated by :mod:`pickle`. :mod:`pickletools` source code has extensive " +"generated by :mod:`!pickle`. :mod:`pickletools` source code has extensive " "comments about opcodes used by pickle protocols." msgstr "" @@ -221,10 +201,10 @@ msgid "" msgstr "" msgid "" -"Serialization is a more primitive notion than persistence; although :mod:" -"`pickle` reads and writes file objects, it does not handle the issue of " +"Serialization is a more primitive notion than persistence; although :mod:`!" +"pickle` reads and writes file objects, it does not handle the issue of " "naming persistent objects, nor the (even more complicated) issue of " -"concurrent access to persistent objects. The :mod:`pickle` module can " +"concurrent access to persistent objects. The :mod:`!pickle` module can " "transform a complex object into a byte stream and it can transform the byte " "stream into an object with the same internal structure. Perhaps the most " "obvious thing to do with these byte streams is to write them onto a file, " @@ -244,7 +224,7 @@ msgid "" "object, respectively." msgstr "" -msgid "The :mod:`pickle` module provides the following constants:" +msgid "The :mod:`!pickle` module provides the following constants:" msgstr "" msgid "" @@ -272,7 +252,7 @@ msgid "The default protocol is 5." msgstr "" msgid "" -"The :mod:`pickle` module provides the following functions to make the " +"The :mod:`!pickle` module provides the following functions to make the " "pickling process more convenient:" msgstr "" @@ -329,7 +309,7 @@ msgid "" "the same meaning as in the :class:`Unpickler` constructor." msgstr "" -msgid "The :mod:`pickle` module defines three exceptions:" +msgid "The :mod:`!pickle` module defines three exceptions:" msgstr "" msgid "" @@ -359,7 +339,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`pickle` module exports three classes, :class:`Pickler`, :class:" +"The :mod:`!pickle` module exports three classes, :class:`Pickler`, :class:" "`Unpickler` and :class:`PickleBuffer`:" msgstr "" @@ -618,7 +598,7 @@ msgid "classes accessible from the top level of a module;" msgstr "" msgid "" -"instances of such classes whose the result of calling :meth:`~object." +"instances of such classes for which the result of calling :meth:`~object." "__getstate__` is picklable (see section :ref:`pickle-inst` for details)." msgstr "" @@ -704,7 +684,7 @@ msgid "" msgstr "" msgid "" -"In protocols 2 and newer, classes that implements the :meth:" +"In protocols 2 and newer, classes that implement the :meth:" "`__getnewargs_ex__` method can dictate the values passed to the :meth:" "`__new__` method upon unpickling. The method must return a pair ``(args, " "kwargs)`` where *args* is a tuple of positional arguments and *kwargs* a " @@ -858,10 +838,10 @@ msgid "" "These items will be appended to the object either using ``obj.append(item)`` " "or, in batch, using ``obj.extend(list_of_items)``. This is primarily used " "for list subclasses, but may be used by other classes as long as they have :" -"ref:`append and extend methods ` with the appropriate " -"signature. (Whether :meth:`!append` or :meth:`!extend` is used depends on " -"which pickle protocol version is used as well as the number of items to " -"append, so both must be supported.)" +"meth:`~sequence.append` and :meth:`~sequence.extend` methods with the " +"appropriate signature. (Whether :meth:`!append` or :meth:`!extend` is used " +"depends on which pickle protocol version is used as well as the number of " +"items to append, so both must be supported.)" msgstr "" msgid "" @@ -895,15 +875,15 @@ msgid "Persistence of External Objects" msgstr "" msgid "" -"For the benefit of object persistence, the :mod:`pickle` module supports the " -"notion of a reference to an object outside the pickled data stream. Such " -"objects are referenced by a persistent ID, which should be either a string " -"of alphanumeric characters (for protocol 0) [#]_ or just an arbitrary object " -"(for any newer protocol)." +"For the benefit of object persistence, the :mod:`!pickle` module supports " +"the notion of a reference to an object outside the pickled data stream. " +"Such objects are referenced by a persistent ID, which should be either a " +"string of alphanumeric characters (for protocol 0) [#]_ or just an arbitrary " +"object (for any newer protocol)." msgstr "" msgid "" -"The resolution of such persistent IDs is not defined by the :mod:`pickle` " +"The resolution of such persistent IDs is not defined by the :mod:`!pickle` " "module; it will delegate this resolution to the user-defined methods on the " "pickler and unpickler, :meth:`~Pickler.persistent_id` and :meth:`~Unpickler." "persistent_load` respectively." @@ -1219,10 +1199,10 @@ msgid "Out-of-band Buffers" msgstr "" msgid "" -"In some contexts, the :mod:`pickle` module is used to transfer massive " +"In some contexts, the :mod:`!pickle` module is used to transfer massive " "amounts of data. Therefore, it can be important to minimize the number of " "memory copies, to preserve performance and resource consumption. However, " -"normal operation of the :mod:`pickle` module, as it transforms a graph-like " +"normal operation of the :mod:`!pickle` module, as it transforms a graph-like " "structure of objects into a sequential stream of bytes, intrinsically " "involves copying data to and from the pickle stream." msgstr "" @@ -1247,8 +1227,8 @@ msgstr "" msgid "" "A :class:`PickleBuffer` object *signals* that the underlying buffer is " "eligible for out-of-band data transfer. Those objects remain compatible " -"with normal usage of the :mod:`pickle` module. However, consumers can also " -"opt-in to tell :mod:`pickle` that they will handle those buffers by " +"with normal usage of the :mod:`!pickle` module. However, consumers can also " +"opt-in to tell :mod:`!pickle` that they will handle those buffers by " "themselves." msgstr "" @@ -1461,7 +1441,7 @@ msgstr "Wydajność" msgid "" "Recent versions of the pickle protocol (from protocol 2 and upwards) feature " "efficient binary encodings for several common features and built-in types. " -"Also, the :mod:`pickle` module has a transparent optimizer written in C." +"Also, the :mod:`!pickle` module has a transparent optimizer written in C." msgstr "" msgid "Examples" @@ -1502,7 +1482,7 @@ msgid "Command-line interface" msgstr "" msgid "" -"The :mod:`pickle` module can be invoked as a script from the command line, " +"The :mod:`!pickle` module can be invoked as a script from the command line, " "it will display contents of the pickle files. However, when the pickle file " "that you want to examine comes from an untrusted source, ``-m pickletools`` " "is a safer option because it does not execute pickle bytecode, see :ref:" @@ -1534,7 +1514,7 @@ msgstr "" msgid "Module :mod:`shelve`" msgstr "" -msgid "Indexed databases of objects; uses :mod:`pickle`." +msgid "Indexed databases of objects; uses :mod:`!pickle`." msgstr "" msgid "Module :mod:`copy`" diff --git a/library/pickletools.po b/library/pickletools.po index 774bc79b29..69cde43487 100644 --- a/library/pickletools.po +++ b/library/pickletools.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 14:18+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Waldemar Stoczkowski, 2023\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!pickletools` --- Tools for pickle developers" msgstr "" msgid "**Source code:** :source:`Lib/pickletools.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pickletools.py`" msgid "" "This module contains various constants relating to the intimate details of " @@ -35,10 +35,10 @@ msgid "" "and a few useful functions for analyzing pickled data. The contents of this " "module are useful for Python core developers who are working on the :mod:" "`pickle`; ordinary users of the :mod:`pickle` module probably won't find " -"the :mod:`pickletools` module relevant." +"the :mod:`!pickletools` module relevant." msgstr "" -msgid "Command line usage" +msgid "Command-line usage" msgstr "" msgid "" @@ -67,8 +67,8 @@ msgid "" "highest protocol among opcodes = 2" msgstr "" -msgid "Command line options" -msgstr "Opcje wiersza poleceń" +msgid "Command-line options" +msgstr "" msgid "Annotate each line with a short opcode description." msgstr "" @@ -84,11 +84,15 @@ msgid "" msgstr "" msgid "" -"When more than one pickle file are specified, print given preamble before " +"When more than one pickle file is specified, print given preamble before " "each disassembly." msgstr "" -msgid "Programmatic Interface" +msgid "" +"A pickle file to read, or ``-`` to indicate reading from standard input." +msgstr "" + +msgid "Programmatic interface" msgstr "" msgid "" diff --git a/library/pkgutil.po b/library/pkgutil.po index cb9867ab16..6dffebe6fa 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!pkgutil` --- Package extension utility" msgstr "" msgid "**Source code:** :source:`Lib/pkgutil.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pkgutil.py`" msgid "" "This module provides utilities for the import system, in particular package " @@ -100,9 +100,10 @@ msgid "Yield :term:`finder` objects for the given module name." msgstr "" msgid "" -"If fullname contains a ``'.'``, the finders will be for the package " -"containing fullname, otherwise they will be all registered top level finders " -"(i.e. those on both :data:`sys.meta_path` and :data:`sys.path_hooks`)." +"If *fullname* contains a ``'.'``, the finders will be for the package " +"containing *fullname*, otherwise they will be all registered top level " +"finders (i.e. those on both :data:`sys.meta_path` and :data:`sys." +"path_hooks`)." msgstr "" msgid "" diff --git a/library/platform.po b/library/platform.po index 0fdb3ccc82..62590d4e3c 100644 --- a/library/platform.po +++ b/library/platform.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!platform` --- Access to underlying platform's identifying data" msgstr "" msgid "**Source code:** :source:`Lib/platform.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/platform.py`" msgid "" "Specific platforms listed alphabetically, with Linux included in the Unix " @@ -80,6 +80,11 @@ msgid "" "the value cannot be determined." msgstr "" +msgid "" +"The output is platform-dependent and may differ in casing and naming " +"conventions." +msgstr "" + msgid "" "Returns the computer's network name (may not be fully qualified!). An empty " "string is returned if the value cannot be determined." @@ -201,7 +206,7 @@ msgstr "" msgid "" "Note: the first two attribute names differ from the names presented by :func:" -"`os.uname`, where they are named :attr:`sysname` and :attr:`nodename`." +"`os.uname`, where they are named :attr:`!sysname` and :attr:`!nodename`." msgstr "" msgid "Entries which cannot be determined are set to ``''``." @@ -213,6 +218,12 @@ msgstr "" msgid ":attr:`processor` is resolved late instead of immediately." msgstr "" +msgid "" +"Clear out the internal cache of information, such as the :func:`uname`. This " +"is typically useful when the platform's :func:`node` is changed by an " +"external process and one needs to retrieve the updated value." +msgstr "" + msgid "Java platform" msgstr "" @@ -415,7 +426,7 @@ msgid "Command-line usage" msgstr "" msgid "" -":mod:`platform` can also be invoked directly using the :option:`-m` switch " +":mod:`!platform` can also be invoked directly using the :option:`-m` switch " "of the interpreter::" msgstr "" @@ -441,12 +452,3 @@ msgid "" "``nonaliased``) to explicitly control the output format. These behave " "similarly to their corresponding options." msgstr "" - -msgid "Miscellaneous" -msgstr "" - -msgid "" -"Clear out the internal cache of information, such as the :func:`uname`. This " -"is typically useful when the platform's :func:`node` is changed by an " -"external process and one needs to retrieve the updated value." -msgstr "" diff --git a/library/plistlib.po b/library/plistlib.po index fa439f7714..5745ee40a4 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!plistlib` --- Generate and parse Apple ``.plist`` files" msgstr "" msgid "**Source code:** :source:`Lib/plistlib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/plistlib.py`" msgid "" "This module provides an interface for reading and writing the \"property " @@ -210,7 +209,7 @@ msgid "Generating a plist::" msgstr "" msgid "" -"import datetime\n" +"import datetime as dt\n" "import plistlib\n" "\n" "pl = dict(\n" @@ -226,7 +225,7 @@ msgid "" " ),\n" " someData = b\"\",\n" " someMoreData = b\"\" * 10,\n" -" aDate = datetime.datetime.now()\n" +" aDate = dt.datetime.now()\n" ")\n" "print(plistlib.dumps(pl).decode())" msgstr "" diff --git a/library/poplib.po b/library/poplib.po index 2edf7e57eb..2f279c137d 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!poplib` --- POP3 protocol client" msgstr "" msgid "**Source code:** :source:`Lib/poplib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/poplib.py`" msgid "" "This module defines a class, :class:`POP3`, which encapsulates a connection " @@ -59,7 +59,7 @@ msgid "" "availability` for more information." msgstr "" -msgid "The :mod:`poplib` module provides two classes:" +msgid "The :mod:`!poplib` module provides two classes:" msgstr "" msgid "" @@ -107,7 +107,7 @@ msgstr "" msgid "The deprecated *keyfile* and *certfile* parameters have been removed." msgstr "" -msgid "One exception is defined as an attribute of the :mod:`poplib` module:" +msgid "One exception is defined as an attribute of the :mod:`!poplib` module:" msgstr "" msgid "" diff --git a/library/posix.po b/library/posix.po index 91b2cd3a05..e4a9b9fb77 100644 --- a/library/posix.po +++ b/library/posix.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -40,13 +38,13 @@ msgstr "Dostępność" msgid "" "**Do not import this module directly.** Instead, import the module :mod:" "`os`, which provides a *portable* version of this interface. On Unix, the :" -"mod:`os` module provides a superset of the :mod:`posix` interface. On non-" -"Unix operating systems the :mod:`posix` module is not available, but a " +"mod:`os` module provides a superset of the :mod:`!posix` interface. On non-" +"Unix operating systems the :mod:`!posix` module is not available, but a " "subset is always available through the :mod:`os` interface. Once :mod:`os` " -"is imported, there is *no* performance penalty in using it instead of :mod:" -"`posix`. In addition, :mod:`os` provides some additional functionality, " -"such as automatically calling :func:`~os.putenv` when an entry in ``os." -"environ`` is changed." +"is imported, there is *no* performance penalty in using it instead of :mod:`!" +"posix`. In addition, :mod:`os` provides some additional functionality, such " +"as automatically calling :func:`~os.putenv` when an entry in ``os.environ`` " +"is changed." msgstr "" msgid "" @@ -97,7 +95,7 @@ msgstr "" msgid "" "In addition to many functions described in the :mod:`os` module " -"documentation, :mod:`posix` defines the following data item:" +"documentation, :mod:`!posix` defines the following data item:" msgstr "" msgid "" @@ -122,8 +120,8 @@ msgid "" "The :mod:`os` module provides an alternate implementation of ``environ`` " "which updates the environment on modification. Note also that updating :data:" "`os.environ` will render this dictionary obsolete. Use of the :mod:`os` " -"module version of this is recommended over direct access to the :mod:`posix` " -"module." +"module version of this is recommended over direct access to the :mod:`!" +"posix` module." msgstr "" msgid "module" diff --git a/library/pprint.po b/library/pprint.po index 2560c0dfff..9d9658de33 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -1,22 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,11 +27,11 @@ msgid ":mod:`!pprint` --- Data pretty printer" msgstr "" msgid "**Source code:** :source:`Lib/pprint.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pprint.py`" msgid "" -"The :mod:`pprint` module provides a capability to \"pretty-print\" arbitrary " -"Python data structures in a form which can be used as input to the " +"The :mod:`!pprint` module provides a capability to \"pretty-print\" " +"arbitrary Python data structures in a form which can be used as input to the " "interpreter. If the formatted structures include objects which are not " "fundamental Python types, the representation may not be loadable. This may " "be the case if objects such as files, sockets or classes are included, as " @@ -47,9 +44,6 @@ msgid "" "adjustable by the *width* parameter defaulting to 80 characters." msgstr "" -msgid "Dictionaries are sorted by key before the display is computed." -msgstr "" - msgid "Added support for pretty-printing :class:`types.SimpleNamespace`." msgstr "" diff --git a/library/profile.po b/library/profile.po index d160ffeacb..d12cde9e69 100644 --- a/library/profile.po +++ b/library/profile.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid "The Python Profilers" msgstr "" msgid "**Source code:** :source:`Lib/profile.py` and :source:`Lib/pstats.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/profile.py`" msgid "Introduction to the profilers" msgstr "" @@ -311,11 +310,11 @@ msgid "" "interface (implemented using :mod:`cmd`) and interactive help." msgstr "" -msgid ":mod:`profile` and :mod:`cProfile` Module Reference" +msgid ":mod:`profile` and :mod:`!cProfile` Module Reference" msgstr "" msgid "" -"Both the :mod:`profile` and :mod:`cProfile` modules provide the following " +"Both the :mod:`profile` and :mod:`!cProfile` modules provide the following " "functions:" msgstr "" @@ -381,7 +380,7 @@ msgstr "" msgid "" "The :class:`Profile` class can also be used as a context manager (supported " -"only in :mod:`cProfile` module. see :ref:`typecontextmanager`)::" +"only in :mod:`!cProfile` module. see :ref:`typecontextmanager`)::" msgstr "" msgid "" @@ -396,10 +395,10 @@ msgstr "" msgid "Added context manager support." msgstr "" -msgid "Start collecting profiling data. Only in :mod:`cProfile`." +msgid "Start collecting profiling data. Only in :mod:`!cProfile`." msgstr "" -msgid "Stop collecting profiling data. Only in :mod:`cProfile`." +msgid "Stop collecting profiling data. Only in :mod:`!cProfile`." msgstr "" msgid "" @@ -683,7 +682,7 @@ msgid "" "significant entries. Initially, the list is taken to be the complete set of " "profiled functions. Each restriction is either an integer (to select a " "count of lines), or a decimal fraction between 0.0 and 1.0 inclusive (to " -"select a percentage of lines), or a string that will interpreted as a " +"select a percentage of lines), or a string that will be interpreted as a " "regular expression (to pattern match the standard name that is printed). If " "several restrictions are provided, then they are applied sequentially. For " "example::" diff --git a/library/pty.po b/library/pty.po index 7ba2c30ae8..5f544d0593 100644 --- a/library/pty.po +++ b/library/pty.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!pty` --- Pseudo-terminal utilities" msgstr "" msgid "**Source code:** :source:`Lib/pty.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pty.py`" msgid "" -"The :mod:`pty` module defines operations for handling the pseudo-terminal " +"The :mod:`!pty` module defines operations for handling the pseudo-terminal " "concept: starting another process and being able to write to and read from " "its controlling terminal programmatically." msgstr "" @@ -44,7 +44,7 @@ msgid "" "platforms but it's not been thoroughly tested)." msgstr "" -msgid "The :mod:`pty` module defines the following functions:" +msgid "The :mod:`!pty` module defines the following functions:" msgstr "" msgid "" diff --git a/library/pwd.po b/library/pwd.po index 42c6f0dc7e..2330b0199c 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,7 +41,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Attribute" msgstr "atrybut" diff --git a/library/py_compile.po b/library/py_compile.po index c87c45af9c..0715313dd8 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!py_compile` --- Compile Python source files" msgstr "" msgid "**Source code:** :source:`Lib/py_compile.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/py_compile.py`" msgid "" -"The :mod:`py_compile` module provides a function to generate a byte-code " +"The :mod:`!py_compile` module provides a function to generate a byte-code " "file from a source file, and another function used when the module source " "file is invoked as a script." msgstr "" diff --git a/library/pyclbr.po b/library/pyclbr.po index 88609302be..e331528cee 100644 --- a/library/pyclbr.po +++ b/library/pyclbr.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!pyclbr` --- Python module browser support" msgstr "" msgid "**Source code:** :source:`Lib/pyclbr.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pyclbr.py`" msgid "" -"The :mod:`pyclbr` module provides limited information about the functions, " +"The :mod:`!pyclbr` module provides limited information about the functions, " "classes, and methods defined in a Python-coded module. The information is " "sufficient to implement a module browser. The information is extracted from " "the Python source code rather than by importing the module, so this module " diff --git a/library/pydoc.po b/library/pydoc.po index c492cbf294..d50a7c3c00 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!pydoc` --- Documentation generator and online help system" msgstr "" msgid "**Source code:** :source:`Lib/pydoc.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/pydoc.py`" msgid "" "The :mod:`!pydoc` module automatically generates documentation from Python " diff --git a/library/pyexpat.po b/library/pyexpat.po index 03b34ec8bd..41bebceaca 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,13 +27,12 @@ msgid ":mod:`!xml.parsers.expat` --- Fast XML parsing using Expat" msgstr "" msgid "" -"The :mod:`pyexpat` module is not secure against maliciously constructed " -"data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" -"vulnerabilities`." +"If you need to parse untrusted or unauthenticated data, see :ref:`xml-" +"security`." msgstr "" msgid "" -"The :mod:`xml.parsers.expat` module is a Python interface to the Expat non-" +"The :mod:`!xml.parsers.expat` module is a Python interface to the Expat non-" "validating XML parser. The module provides a single extension type, :class:" "`xmlparser`, that represents the current state of an XML parser. After an :" "class:`xmlparser` object has been created, various attributes of the object " @@ -62,7 +60,7 @@ msgstr "" msgid "The type of the return values from the :func:`ParserCreate` function." msgstr "" -msgid "The :mod:`xml.parsers.expat` module contains two functions:" +msgid "The :mod:`!xml.parsers.expat` module contains two functions:" msgstr "" msgid "Returns an explanatory string for a given error number *errno*." @@ -77,6 +75,13 @@ msgid "" "implicit or explicit encoding of the document." msgstr "" +msgid "" +"Parsers created through :func:`!ParserCreate` are called \"root\" parsers, " +"in the sense that they do not have any parent parser attached. Non-root " +"parsers are created by :meth:`parser.ExternalEntityParserCreate `." +msgstr "" + msgid "" "Expat can optionally do XML namespace processing for you, enabled by " "providing a value for *namespace_separator*. The value must be a one-" @@ -238,6 +243,62 @@ msgid "" "parser instance." msgstr "" +msgid "" +":class:`!xmlparser` objects have the following methods to mitigate some " +"common XML vulnerabilities." +msgstr "" + +msgid "" +"Sets the number of allocated bytes of dynamic memory needed to activate " +"protection against disproportionate use of RAM." +msgstr "" + +msgid "" +"By default, parser objects have an allocation activation threshold of 64 " +"MiB, or equivalently 67,108,864 bytes." +msgstr "" + +msgid "" +"An :exc:`ExpatError` is raised if this method is called on a |xml-non-root-" +"parser| parser. The corresponding :attr:`~ExpatError.lineno` and :attr:" +"`~ExpatError.offset` should not be used as they may have no special meaning." +msgstr "" + +msgid "" +"Sets the maximum amplification factor between direct input and bytes of " +"dynamic memory allocated." +msgstr "" + +msgid "" +"The amplification factor is calculated as ``allocated / direct`` while " +"parsing, where ``direct`` is the number of bytes read from the primary " +"document in parsing and ``allocated`` is the number of bytes of dynamic " +"memory allocated in the parser hierarchy." +msgstr "" + +msgid "" +"The *max_factor* value must be a non-NaN :class:`float` value greater than " +"or equal to 1.0. Amplification factors greater than 100.0 can be observed " +"near the start of parsing even with benign files in practice. In particular, " +"the activation threshold should be carefully chosen to avoid false positives." +msgstr "" + +msgid "" +"By default, parser objects have a maximum amplification factor of 100.0." +msgstr "" + +msgid "" +"An :exc:`ExpatError` is raised if this method is called on a |xml-non-root-" +"parser| parser or if *max_factor* is outside the valid range. The " +"corresponding :attr:`~ExpatError.lineno` and :attr:`~ExpatError.offset` " +"should not be used as they may have no special meaning." +msgstr "" + +msgid "" +"The maximum amplification factor is only considered if the threshold that " +"can be adjusted by :meth:`.SetAllocTrackerActivationThreshold` is exceeded." +msgstr "" + msgid ":class:`xmlparser` objects have the following attributes:" msgstr "" @@ -345,8 +406,8 @@ msgid "" "DOCTYPE ...``). The *doctypeName* is provided exactly as presented. The " "*systemId* and *publicId* parameters give the system and public identifiers " "if specified, or ``None`` if omitted. *has_internal_subset* will be true if " -"the document contains and internal document declaration subset. This " -"requires Expat version 1.2 or newer." +"the document contains an internal document declaration subset. This requires " +"Expat version 1.2 or newer." msgstr "" msgid "" @@ -472,6 +533,14 @@ msgid "" "set, no exception is raised by the parser for this condition." msgstr "" +msgid "" +"Implementing a handler that accesses local files and/or the network may " +"create a vulnerability to `external entity attacks `_ if :class:`xmlparser` is used with user-" +"provided XML content. Please reflect on your `threat model `_ before implementing this handler." +msgstr "" + msgid "" "Called for references to external entities. *base* is the current base, as " "set by a previous call to :meth:`SetBase`. The public and system " @@ -589,7 +658,7 @@ msgid "" msgstr "" msgid "" -"The values of the first two fields are constants defined in the :mod:`xml." +"The values of the first two fields are constants defined in the :mod:`!xml." "parsers.expat.model` module. These constants can be collected in two " "groups: the model type group and the quantifier group." msgstr "" @@ -635,7 +704,7 @@ msgid "Expat error constants" msgstr "" msgid "" -"The following constants are provided in the :mod:`xml.parsers.expat.errors` " +"The following constants are provided in the :mod:`!xml.parsers.expat.errors` " "module. These constants are useful in interpreting some of the attributes " "of the :exc:`ExpatError` exception objects raised when an error has " "occurred. Since for backwards compatibility reasons, the constants' value is " @@ -732,7 +801,7 @@ msgstr "" msgid "" "An operation was requested that requires DTD support to be compiled in, but " "Expat was configured without DTD support. This should never be reported by " -"a standard build of the :mod:`xml.parsers.expat` module." +"a standard build of the :mod:`!xml.parsers.expat` module." msgstr "" msgid "" diff --git a/library/queue.po b/library/queue.po index 483edd9b56..2da555e03e 100644 --- a/library/queue.po +++ b/library/queue.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,15 +23,15 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`queue` --- A synchronized queue class" +msgid ":mod:`!queue` --- A synchronized queue class" msgstr "" msgid "**Source code:** :source:`Lib/queue.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/queue.py`" msgid "" -"The :mod:`queue` module implements multi-producer, multi-consumer queues. It " -"is especially useful in threaded programming when information must be " +"The :mod:`!queue` module implements multi-producer, multi-consumer queues. " +"It is especially useful in threaded programming when information must be " "exchanged safely between multiple threads. The :class:`Queue` class in this " "module implements all the required locking semantics." msgstr "" @@ -58,7 +58,7 @@ msgid "" "provides additional guarantees in exchange for the smaller functionality." msgstr "" -msgid "The :mod:`queue` module defines the following classes and exceptions:" +msgid "The :mod:`!queue` module defines the following classes and exceptions:" msgstr "" msgid "" @@ -96,6 +96,23 @@ msgid "" "class that ignores the data item and only compares the priority number::" msgstr "" +msgid "" +"from dataclasses import dataclass, field\n" +"from typing import Any\n" +"\n" +"@dataclass(order=True)\n" +"class PrioritizedItem:\n" +" priority: int\n" +" item: Any=field(compare=False)" +msgstr "" +"from dataclasses import dataclass, field\n" +"from typing import Any\n" +"\n" +"@dataclass(order=True)\n" +"class PrioritizedItem:\n" +" priority: int\n" +" item: Any=field(compare=False)" + msgid "" "Constructor for an unbounded :abbr:`FIFO (first-in, first-out)` queue. " "Simple queues lack advanced functionality such as task tracking." @@ -111,6 +128,11 @@ msgid "" "put_nowait`) is called on a :class:`Queue` object which is full." msgstr "" +msgid "" +"Exception raised when :meth:`~Queue.put` or :meth:`~Queue.get` is called on " +"a :class:`Queue` object which has been shut down." +msgstr "" + msgid "Queue Objects" msgstr "" @@ -149,6 +171,9 @@ msgid "" "(*timeout* is ignored in that case)." msgstr "" +msgid "Raises :exc:`ShutDown` if the queue has been shut down." +msgstr "" + msgid "Equivalent to ``put(item, block=False)``." msgstr "" @@ -170,6 +195,11 @@ msgid "" "`KeyboardInterrupt`." msgstr "" +msgid "" +"Raises :exc:`ShutDown` if the queue has been shut down and is empty, or if " +"the queue has been shut down immediately." +msgstr "" + msgid "Equivalent to ``get(False)``." msgstr "" @@ -206,9 +236,83 @@ msgid "" "unblocks." msgstr "" +msgid "Waiting for task completion" +msgstr "" + msgid "Example of how to wait for enqueued tasks to be completed::" msgstr "" +msgid "" +"import threading\n" +"import queue\n" +"\n" +"q = queue.Queue()\n" +"\n" +"def worker():\n" +" while True:\n" +" item = q.get()\n" +" print(f'Working on {item}')\n" +" print(f'Finished {item}')\n" +" q.task_done()\n" +"\n" +"# Turn-on the worker thread.\n" +"threading.Thread(target=worker, daemon=True).start()\n" +"\n" +"# Send thirty task requests to the worker.\n" +"for item in range(30):\n" +" q.put(item)\n" +"\n" +"# Block until all tasks are done.\n" +"q.join()\n" +"print('All work completed')" +msgstr "" + +msgid "Terminating queues" +msgstr "" + +msgid "" +"When no longer needed, :class:`Queue` objects can be wound down until empty " +"or terminated immediately with a hard shutdown." +msgstr "" + +msgid "Put a :class:`Queue` instance into a shutdown mode." +msgstr "" + +msgid "" +"The queue can no longer grow. Future calls to :meth:`~Queue.put` raise :exc:" +"`ShutDown`. Currently blocked callers of :meth:`~Queue.put` will be " +"unblocked and will raise :exc:`ShutDown` in the formerly blocked thread." +msgstr "" + +msgid "" +"If *immediate* is false (the default), the queue can be wound down normally " +"with :meth:`~Queue.get` calls to extract tasks that have already been loaded." +msgstr "" + +msgid "" +"And if :meth:`~Queue.task_done` is called for each remaining task, a " +"pending :meth:`~Queue.join` will be unblocked normally." +msgstr "" + +msgid "" +"Once the queue is empty, future calls to :meth:`~Queue.get` will raise :exc:" +"`ShutDown`." +msgstr "" + +msgid "" +"If *immediate* is true, the queue is terminated immediately. The queue is " +"drained to be completely empty and the count of unfinished tasks is reduced " +"by the number of tasks drained. If unfinished tasks is zero, callers of :" +"meth:`~Queue.join` are unblocked. Also, blocked callers of :meth:`~Queue." +"get` are unblocked and will raise :exc:`ShutDown` because the queue is empty." +msgstr "" + +msgid "" +"Use caution when using :meth:`~Queue.join` with *immediate* set to true. " +"This unblocks the join even when no work has been done on the tasks, " +"violating the usual invariant for joining a queue." +msgstr "" + msgid "SimpleQueue Objects" msgstr "" diff --git a/library/quopri.po b/library/quopri.po index 65c3f5144c..413584bb34 100644 --- a/library/quopri.po +++ b/library/quopri.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`quopri` --- Encode and decode MIME quoted-printable data" +msgid ":mod:`!quopri` --- Encode and decode MIME quoted-printable data" msgstr "" msgid "**Source code:** :source:`Lib/quopri.py`" @@ -71,7 +71,7 @@ msgid "" msgstr "" msgid "Module :mod:`base64`" -msgstr "" +msgstr "Модуль :mod:`base64`" msgid "Encode and decode MIME base64 data" msgstr "" @@ -80,7 +80,7 @@ msgid "quoted-printable" msgstr "" msgid "encoding" -msgstr "" +msgstr "кодування" msgid "MIME" msgstr "" diff --git a/library/random.po b/library/random.po index 94b79b7eb0..106dcba4af 100644 --- a/library/random.po +++ b/library/random.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!random` --- Generate pseudo-random numbers" msgstr "" msgid "**Source code:** :source:`Lib/random.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/random.py`" msgid "" "This module implements pseudo-random number generators for various " @@ -72,9 +71,9 @@ msgid "" msgstr "" msgid "" -"The :mod:`random` module also provides the :class:`SystemRandom` class which " -"uses the system function :func:`os.urandom` to generate random numbers from " -"sources provided by the operating system." +"The :mod:`!random` module also provides the :class:`SystemRandom` class " +"which uses the system function :func:`os.urandom` to generate random numbers " +"from sources provided by the operating system." msgstr "" msgid "" @@ -116,7 +115,7 @@ msgid "" "on availability)." msgstr "" -msgid "If *a* is an int, it is used directly." +msgid "If *a* is an int, its absolute value is used directly." msgstr "" msgid "" @@ -458,7 +457,7 @@ msgstr "" msgid "" "Class that implements the default pseudo-random number generator used by " -"the :mod:`random` module." +"the :mod:`!random` module." msgstr "" msgid "" @@ -501,6 +500,11 @@ msgid "" "getrandbits` behaviour of :class:`!Random` instances." msgstr "" +msgid "" +"Override this method in subclasses to customise the :meth:`~random." +"randbytes` behaviour of :class:`!Random` instances." +msgstr "" + msgid "" "Class that uses the :func:`os.urandom` function for generating random " "numbers from sources provided by the operating system. Not available on all " @@ -714,9 +718,11 @@ msgid "" msgstr "" msgid "" -"def random_product(*args, repeat=1):\n" -" \"Random selection from itertools.product(*args, **kwds)\"\n" -" pools = [tuple(pool) for pool in args] * repeat\n" +"import random\n" +"\n" +"def random_product(*iterables, repeat=1):\n" +" \"Random selection from itertools.product(*iterables, repeat=repeat)\"\n" +" pools = tuple(map(tuple, iterables)) * repeat\n" " return tuple(map(random.choice, pools))\n" "\n" "def random_permutation(iterable, r=None):\n" @@ -740,7 +746,22 @@ msgid "" " pool = tuple(iterable)\n" " n = len(pool)\n" " indices = sorted(random.choices(range(n), k=r))\n" -" return tuple(pool[i] for i in indices)" +" return tuple(pool[i] for i in indices)\n" +"\n" +"def random_derangement(iterable):\n" +" \"Choose a permutation where no element stays in its original position." +"\"\n" +" seq = tuple(iterable)\n" +" if len(seq) < 2:\n" +" if not seq:\n" +" return ()\n" +" raise IndexError('No derangments to choose from')\n" +" perm = list(range(len(seq)))\n" +" start = tuple(perm)\n" +" while True:\n" +" random.shuffle(perm)\n" +" if all(p != q for p, q in zip(start, perm)):\n" +" return tuple([seq[i] for i in perm])" msgstr "" msgid "" diff --git a/library/re.po b/library/re.po index d4cdc3b28f..f6b8d1b012 100644 --- a/library/re.po +++ b/library/re.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Igor Zubrycki , 2022 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +27,7 @@ msgid ":mod:`!re` --- Regular expression operations" msgstr "" msgid "**Source code:** :source:`Lib/re/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/re/`" msgid "" "This module provides regular expression matching operations similar to those " @@ -78,8 +75,8 @@ msgstr "" msgid "" "The third-party :pypi:`regex` module, which has an API compatible with the " -"standard library :mod:`re` module, but offers additional functionality and a " -"more thorough Unicode support." +"standard library :mod:`!re` module, but offers additional functionality and " +"a more thorough Unicode support." msgstr "" msgid "Regular Expression Syntax" @@ -801,7 +798,7 @@ msgid "" msgstr "" msgid "``\\z``" -msgstr "" +msgstr "``\\z``" msgid "Matches only at the end of the string." msgstr "" @@ -1132,8 +1129,8 @@ msgid "" msgstr "" msgid "" -"Empty matches for the pattern split the string only when not adjacent to a " -"previous empty match." +"Adjacent empty matches are not possible, but an empty match can occur " +"immediately after a non-empty match." msgstr "" msgid "" @@ -1232,9 +1229,13 @@ msgstr "" msgid "" "The optional argument *count* is the maximum number of pattern occurrences " "to be replaced; *count* must be a non-negative integer. If omitted or zero, " -"all occurrences will be replaced. Empty matches for the pattern are replaced " -"only when not adjacent to a previous empty match, so ``sub('x*', '-', " -"'abxd')`` returns ``'-a-b--d-'``." +"all occurrences will be replaced." +msgstr "" + +msgid "" +"Adjacent empty matches are not possible, but an empty match can occur " +"immediately after a non-empty match. As a result, ``sub('x*', '-', 'abxd')`` " +"returns ``'-a-b--d-'`` instead of ``'-a-b-d-'``." msgstr "" msgid "" @@ -1259,8 +1260,7 @@ msgstr "" msgid "" "Unknown escapes in *repl* consisting of ``'\\'`` and an ASCII letter now are " -"errors. Empty matches for the pattern are replaced when adjacent to a " -"previous non-empty match." +"errors. An empty match can occur immediately after a non-empty match." msgstr "" msgid "" @@ -1526,13 +1526,13 @@ msgid "" "the result is a single string; if there are multiple arguments, the result " "is a tuple with one item per argument. Without arguments, *group1* defaults " "to zero (the whole match is returned). If a *groupN* argument is zero, the " -"corresponding return value is the entire matching string; if it is in the " -"inclusive range [1..99], it is the string matching the corresponding " -"parenthesized group. If a group number is negative or larger than the " -"number of groups defined in the pattern, an :exc:`IndexError` exception is " -"raised. If a group is contained in a part of the pattern that did not match, " -"the corresponding result is ``None``. If a group is contained in a part of " -"the pattern that matched multiple times, the last match is returned. ::" +"corresponding return value is the entire matching string; if it is a " +"positive integer, it is the string matching the corresponding parenthesized " +"group. If a group number is negative or larger than the number of groups " +"defined in the pattern, an :exc:`IndexError` exception is raised. If a group " +"is contained in a part of the pattern that did not match, the corresponding " +"result is ``None``. If a group is contained in a part of the pattern that " +"matched multiple times, the last match is returned. ::" msgstr "" msgid "" @@ -2311,7 +2311,7 @@ msgid "\\A" msgstr "" msgid "\\b" -msgstr "" +msgstr "\\b" msgid "\\B" msgstr "" @@ -2341,34 +2341,34 @@ msgid "\\Z" msgstr "" msgid "\\a" -msgstr "" +msgstr "\\a" msgid "\\f" -msgstr "" +msgstr "\\f" msgid "\\n" -msgstr "" +msgstr "\\n" msgid "\\r" -msgstr "" +msgstr "\\r" msgid "\\t" -msgstr "" +msgstr "\\t" msgid "\\u" -msgstr "" +msgstr "\\u" msgid "\\U" -msgstr "" +msgstr "\\U" msgid "\\v" -msgstr "" +msgstr "\\v" msgid "\\x" -msgstr "" +msgstr "\\x" msgid "\\\\" -msgstr "" +msgstr "\\\\" msgid "# (hash)" msgstr "# (kratka)" diff --git a/library/readline.po b/library/readline.po index 3d99ba9b32..e3c24725db 100644 --- a/library/readline.po +++ b/library/readline.po @@ -4,16 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +28,7 @@ msgid ":mod:`!readline` --- GNU readline interface" msgstr "" msgid "" -"The :mod:`readline` module defines a number of functions to facilitate " +"The :mod:`!readline` module defines a number of functions to facilitate " "completion and reading/writing of history files from the Python interpreter. " "This module can be used directly, or via the :mod:`rlcompleter` module, " "which supports completion of Python identifiers at the interactive prompt. " @@ -53,9 +54,20 @@ msgid "" "availability>` or :ref:`WebAssembly platforms `." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "" "The underlying Readline library API may be implemented by the ``editline`` " -"(``libedit``) library instead of GNU readline. On macOS the :mod:`readline` " +"(``libedit``) library instead of GNU readline. On macOS the :mod:`!readline` " "module detects which library is being used at run time." msgstr "" @@ -248,8 +260,8 @@ msgid "" "function. This is typically operated by the Tab key, and can suggest and " "automatically complete a word being typed. By default, Readline is set up " "to be used by :mod:`rlcompleter` to complete Python identifiers for the " -"interactive interpreter. If the :mod:`readline` module is to be used with a " -"custom completer, a different set of word delimiters should be set." +"interactive interpreter. If the :mod:`!readline` module is to be used with " +"a custom completer, a different set of word delimiters should be set." msgstr "" msgid "" @@ -308,7 +320,7 @@ msgid "Example" msgstr "Przykład" msgid "" -"The following example demonstrates how to use the :mod:`readline` module's " +"The following example demonstrates how to use the :mod:`!readline` module's " "history reading and writing functions to automatically load and save a " "history file named :file:`.python_history` from the user's home directory. " "The code below would normally be executed automatically during interactive " @@ -391,3 +403,9 @@ msgid "" " readline.set_history_length(1000)\n" " readline.write_history_file(histfile)" msgstr "" + +msgid "" +"The new :term:`REPL` introduced in version 3.13 doesn't support readline. " +"However, readline can still be used by setting the :envvar:" +"`PYTHON_BASIC_REPL` environment variable." +msgstr "" diff --git a/library/reprlib.po b/library/reprlib.po index 865b674c01..dbd167c69c 100644 --- a/library/reprlib.po +++ b/library/reprlib.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Wiktor Matuszewski , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Wiktor Matuszewski , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!reprlib` --- Alternate :func:`repr` implementation" msgstr "" msgid "**Source code:** :source:`Lib/reprlib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/reprlib.py`" msgid "" "The :mod:`!reprlib` module provides a means for producing object " diff --git a/library/resource.po b/library/resource.po index 6409214497..b17aa39b90 100644 --- a/library/resource.po +++ b/library/resource.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -82,14 +81,14 @@ msgstr "" msgid "" "Sets new limits of consumption of *resource*. The *limits* argument must be " "a tuple ``(soft, hard)`` of two integers describing the new limits. A value " -"of :data:`~resource.RLIM_INFINITY` can be used to request a limit that is " +"of :const:`~resource.RLIM_INFINITY` can be used to request a limit that is " "unlimited." msgstr "" msgid "" "Raises :exc:`ValueError` if an invalid resource is specified, if the new " "soft limit exceeds the hard limit, or if a process tries to raise its hard " -"limit. Specifying a limit of :data:`~resource.RLIM_INFINITY` when the hard " +"limit. Specifying a limit of :const:`~resource.RLIM_INFINITY` when the hard " "or system limit for that resource is not unlimited will result in a :exc:" "`ValueError`. A process with the effective UID of super-user can request " "any valid limit value, including unlimited, but :exc:`ValueError` will still " @@ -101,7 +100,7 @@ msgid "" "fails." msgstr "" -msgid "VxWorks only supports setting :data:`RLIMIT_NOFILE`." +msgid "VxWorks only supports setting :const:`RLIMIT_NOFILE`." msgstr "" msgid "" @@ -156,9 +155,10 @@ msgstr "" msgid "" "The maximum amount of processor time (in seconds) that a process can use. If " -"this limit is exceeded, a :const:`SIGXCPU` signal is sent to the process. " -"(See the :mod:`signal` module documentation for information about how to " -"catch this signal and do something useful, e.g. flush open files to disk.)" +"this limit is exceeded, a :const:`~signal.SIGXCPU` signal is sent to the " +"process. (See the :mod:`signal` module documentation for information about " +"how to catch this signal and do something useful, e.g. flush open files to " +"disk.)" msgstr "" msgid "The maximum size of a file which the process may create." @@ -188,7 +188,9 @@ msgstr "" msgid "The maximum address space which may be locked in memory." msgstr "" -msgid "The largest area of mapped memory which the process may occupy." +msgid "" +"The largest area of mapped memory which the process may occupy. Usually an " +"alias of :const:`RLIMIT_AS`." msgstr "" msgid "" @@ -265,9 +267,9 @@ msgstr "" msgid "" "The fields of the return value each describe how a particular system " -"resource has been used, e.g. amount of time spent running is user mode or " +"resource has been used, e.g. amount of time spent running in user mode or " "number of times the process was swapped out of main memory. Some values are " -"dependent on the clock tick internal, e.g. the amount of memory the process " +"dependent on the clock tick interval, e.g. the amount of memory the process " "is using." msgstr "" @@ -277,7 +279,7 @@ msgid "" msgstr "" msgid "" -"The fields :attr:`ru_utime` and :attr:`ru_stime` of the return value are " +"The fields :attr:`!ru_utime` and :attr:`!ru_stime` of the return value are " "floating-point values representing the amount of time spent executing in " "user mode and the amount of time spent executing in system mode, " "respectively. The remaining values are integers. Consult the :manpage:" @@ -286,7 +288,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Field" msgstr "Pole" @@ -297,8 +299,8 @@ msgstr "" msgid "``0``" msgstr "``0``" -msgid ":attr:`ru_utime`" -msgstr ":attr:`ru_utime`" +msgid ":attr:`!ru_utime`" +msgstr "" msgid "time in user mode (float seconds)" msgstr "" @@ -306,8 +308,8 @@ msgstr "" msgid "``1``" msgstr "``1``" -msgid ":attr:`ru_stime`" -msgstr ":attr:`ru_stime`" +msgid ":attr:`!ru_stime`" +msgstr "" msgid "time in system mode (float seconds)" msgstr "" @@ -315,8 +317,8 @@ msgstr "" msgid "``2``" msgstr "``2``" -msgid ":attr:`ru_maxrss`" -msgstr ":attr:`ru_maxrss`" +msgid ":attr:`!ru_maxrss`" +msgstr "" msgid "maximum resident set size" msgstr "" @@ -324,8 +326,8 @@ msgstr "" msgid "``3``" msgstr "``3``" -msgid ":attr:`ru_ixrss`" -msgstr ":attr:`ru_ixrss`" +msgid ":attr:`!ru_ixrss`" +msgstr "" msgid "shared memory size" msgstr "" @@ -333,8 +335,8 @@ msgstr "" msgid "``4``" msgstr "``4``" -msgid ":attr:`ru_idrss`" -msgstr ":attr:`ru_idrss`" +msgid ":attr:`!ru_idrss`" +msgstr "" msgid "unshared memory size" msgstr "" @@ -342,8 +344,8 @@ msgstr "" msgid "``5``" msgstr "``5``" -msgid ":attr:`ru_isrss`" -msgstr ":attr:`ru_isrss`" +msgid ":attr:`!ru_isrss`" +msgstr "" msgid "unshared stack size" msgstr "" @@ -351,8 +353,8 @@ msgstr "" msgid "``6``" msgstr "``6``" -msgid ":attr:`ru_minflt`" -msgstr ":attr:`ru_minflt`" +msgid ":attr:`!ru_minflt`" +msgstr "" msgid "page faults not requiring I/O" msgstr "" @@ -360,8 +362,8 @@ msgstr "" msgid "``7``" msgstr "``7``" -msgid ":attr:`ru_majflt`" -msgstr ":attr:`ru_majflt`" +msgid ":attr:`!ru_majflt`" +msgstr "" msgid "page faults requiring I/O" msgstr "" @@ -369,8 +371,8 @@ msgstr "" msgid "``8``" msgstr "``8``" -msgid ":attr:`ru_nswap`" -msgstr ":attr:`ru_nswap`" +msgid ":attr:`!ru_nswap`" +msgstr "" msgid "number of swap outs" msgstr "" @@ -378,8 +380,8 @@ msgstr "" msgid "``9``" msgstr "``9``" -msgid ":attr:`ru_inblock`" -msgstr ":attr:`ru_inblock`" +msgid ":attr:`!ru_inblock`" +msgstr "" msgid "block input operations" msgstr "" @@ -387,8 +389,8 @@ msgstr "" msgid "``10``" msgstr "``10``" -msgid ":attr:`ru_oublock`" -msgstr ":attr:`ru_oublock`" +msgid ":attr:`!ru_oublock`" +msgstr "" msgid "block output operations" msgstr "" @@ -396,8 +398,8 @@ msgstr "" msgid "``11``" msgstr "``11``" -msgid ":attr:`ru_msgsnd`" -msgstr ":attr:`ru_msgsnd`" +msgid ":attr:`!ru_msgsnd`" +msgstr "" msgid "messages sent" msgstr "" @@ -405,8 +407,8 @@ msgstr "" msgid "``12``" msgstr "``12``" -msgid ":attr:`ru_msgrcv`" -msgstr ":attr:`ru_msgrcv`" +msgid ":attr:`!ru_msgrcv`" +msgstr "" msgid "messages received" msgstr "" @@ -414,8 +416,8 @@ msgstr "" msgid "``13``" msgstr "``13``" -msgid ":attr:`ru_nsignals`" -msgstr ":attr:`ru_nsignals`" +msgid ":attr:`!ru_nsignals`" +msgstr "" msgid "signals received" msgstr "" @@ -423,8 +425,8 @@ msgstr "" msgid "``14``" msgstr "``14``" -msgid ":attr:`ru_nvcsw`" -msgstr ":attr:`ru_nvcsw`" +msgid ":attr:`!ru_nvcsw`" +msgstr "" msgid "voluntary context switches" msgstr "" @@ -432,8 +434,8 @@ msgstr "" msgid "``15``" msgstr "``15``" -msgid ":attr:`ru_nivcsw`" -msgstr ":attr:`ru_nivcsw`" +msgid ":attr:`!ru_nivcsw`" +msgstr "" msgid "involuntary context switches" msgstr "" diff --git a/library/rlcompleter.po b/library/rlcompleter.po index 1941c8677e..2f0049d29b 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!rlcompleter` --- Completion function for GNU readline" msgstr "" msgid "**Source code:** :source:`Lib/rlcompleter.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/rlcompleter.py`" msgid "" "The :mod:`!rlcompleter` module defines a completion function suitable to be " diff --git a/library/runpy.po b/library/runpy.po index 900ad93d32..091fca8aff 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!runpy` --- Locating and executing Python modules" msgstr "" msgid "**Source code:** :source:`Lib/runpy.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/runpy.py`" msgid "" -"The :mod:`runpy` module is used to locate and run Python modules without " +"The :mod:`!runpy` module is used to locate and run Python modules without " "importing them first. Its main use is to implement the :option:`-m` command " "line switch that allows scripts to be located using the Python module " "namespace rather than the filesystem." @@ -45,12 +44,12 @@ msgstr "" msgid "" "Furthermore, any functions and classes defined by the executed code are not " -"guaranteed to work correctly after a :mod:`runpy` function has returned. If " +"guaranteed to work correctly after a :mod:`!runpy` function has returned. If " "that limitation is not acceptable for a given use case, :mod:`importlib` is " "likely to be a more suitable choice than this module." msgstr "" -msgid "The :mod:`runpy` module provides two functions:" +msgid "The :mod:`!runpy` module provides two functions:" msgstr "" msgid "" diff --git a/library/sched.po b/library/sched.po index e32ec48149..dfb5b93df3 100644 --- a/library/sched.po +++ b/library/sched.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!sched` --- Event scheduler" msgstr "" msgid "**Source code:** :source:`Lib/sched.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/sched.py`" msgid "" -"The :mod:`sched` module defines a class which implements a general purpose " +"The :mod:`!sched` module defines a class which implements a general purpose " "event scheduler:" msgstr "" diff --git a/library/secrets.po b/library/secrets.po index d3f8087d84..fd9902c9fe 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,16 +27,16 @@ msgid ":mod:`!secrets` --- Generate secure random numbers for managing secrets" msgstr "" msgid "**Source code:** :source:`Lib/secrets.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/secrets.py`" msgid "" -"The :mod:`secrets` module is used for generating cryptographically strong " +"The :mod:`!secrets` module is used for generating cryptographically strong " "random numbers suitable for managing data such as passwords, account " "authentication, security tokens, and related secrets." msgstr "" msgid "" -"In particular, :mod:`secrets` should be used in preference to the default " +"In particular, :mod:`!secrets` should be used in preference to the default " "pseudo-random number generator in the :mod:`random` module, which is " "designed for modelling and simulation, not security or cryptography." msgstr "" @@ -48,7 +48,7 @@ msgid "Random numbers" msgstr "" msgid "" -"The :mod:`secrets` module provides access to the most secure source of " +"The :mod:`!secrets` module provides access to the most secure source of " "randomness that your operating system provides." msgstr "" @@ -71,14 +71,17 @@ msgid "Generating tokens" msgstr "" msgid "" -"The :mod:`secrets` module provides functions for generating secure tokens, " +"The :mod:`!secrets` module provides functions for generating secure tokens, " "suitable for applications such as password resets, hard-to-guess URLs, and " "similar." msgstr "" +msgid "Return a random byte string containing *nbytes* number of bytes." +msgstr "" + msgid "" -"Return a random byte string containing *nbytes* number of bytes. If *nbytes* " -"is ``None`` or not supplied, a reasonable default is used." +"If *nbytes* is not specified or ``None``, :const:`DEFAULT_ENTROPY` is used " +"instead." msgstr "" msgid "" @@ -88,8 +91,7 @@ msgstr "" msgid "" "Return a random text string, in hexadecimal. The string has *nbytes* random " -"bytes, each byte converted to two hex digits. If *nbytes* is ``None`` or " -"not supplied, a reasonable default is used." +"bytes, each byte converted to two hex digits." msgstr "" msgid "" @@ -100,8 +102,7 @@ msgstr "" msgid "" "Return a random URL-safe text string, containing *nbytes* random bytes. The " "text is Base64 encoded, so on average each byte results in approximately 1.3 " -"characters. If *nbytes* is ``None`` or not supplied, a reasonable default " -"is used." +"characters." msgstr "" msgid "" @@ -118,7 +119,7 @@ msgid "" "Unfortunately, what is considered sufficient will necessarily increase as " "computers get more powerful and able to make more guesses in a shorter " "period. As of 2015, it is believed that 32 bytes (256 bits) of randomness " -"is sufficient for the typical use-case expected for the :mod:`secrets` " +"is sufficient for the typical use-case expected for the :mod:`!secrets` " "module." msgstr "" @@ -131,12 +132,16 @@ msgstr "" msgid "" "Otherwise, if no argument is provided, or if the argument is ``None``, the " -"``token_*`` functions will use a reasonable default instead." +"``token_*`` functions use :const:`DEFAULT_ENTROPY` instead." +msgstr "" + +msgid "" +"Default number of bytes of randomness used by the ``token_*`` functions." msgstr "" msgid "" -"That default is subject to change at any time, including during maintenance " -"releases." +"The exact value is subject to change at any time, including during " +"maintenance releases." msgstr "" msgid "Other functions" @@ -154,7 +159,7 @@ msgid "Recipes and best practices" msgstr "" msgid "" -"This section shows recipes and best practices for using :mod:`secrets` to " +"This section shows recipes and best practices for using :mod:`!secrets` to " "manage a basic level of security." msgstr "" diff --git a/library/security_warnings.po b/library/security_warnings.po index fb9353b113..cc950100a7 100644 --- a/library/security_warnings.po +++ b/library/security_warnings.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-08-10 13:22+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-07-11 14:21+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid "Security Considerations" -msgstr "" +msgstr "Güvenlik Hususları" msgid "The following modules have specific security considerations:" msgstr "" @@ -34,9 +34,6 @@ msgid "" "rfc:`4648`" msgstr "" -msgid ":mod:`cgi`: :ref:`CGI security considerations `" -msgstr "" - msgid "" ":mod:`hashlib`: :ref:`all constructors take a \"usedforsecurity\" keyword-" "only argument disabling known insecure and blocked algorithms `" msgstr "" -msgid ":mod:`xml`: :ref:`XML vulnerabilities `" +msgid ":mod:`xml`: :ref:`XML security `" msgstr "" msgid "" diff --git a/library/select.po b/library/select.po index d6ce19b344..15b3fb836f 100644 --- a/library/select.po +++ b/library/select.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,7 +38,7 @@ msgstr "" msgid "" "The :mod:`selectors` module allows high-level and efficient I/O " -"multiplexing, built upon the :mod:`select` module primitives. Users are " +"multiplexing, built upon the :mod:`!select` module primitives. Users are " "encouraged to use the :mod:`selectors` module instead, unless they want " "precise control over the OS-level primitives used." msgstr "" @@ -161,9 +160,9 @@ msgid "" "Empty iterables are allowed, but acceptance of three empty iterables is " "platform-dependent. (It is known to work on Unix but not on Windows.) The " "optional *timeout* argument specifies a time-out as a floating-point number " -"in seconds. When the *timeout* argument is omitted the function blocks " -"until at least one file descriptor is ready. A time-out value of zero " -"specifies a poll and never blocks." +"in seconds. When the *timeout* argument is omitted or ``None``, the function " +"blocks until at least one file descriptor is ready. A time-out value of " +"zero specifies a poll and never blocks." msgstr "" msgid "" @@ -198,7 +197,7 @@ msgid "" "The minimum number of bytes which can be written without blocking to a pipe " "when the pipe has been reported as ready for writing by :func:`~select." "select`, :func:`!poll` or another interface in this module. This doesn't " -"apply to other kind of file-like objects such as sockets." +"apply to other kinds of file-like objects such as sockets." msgstr "" msgid "This value is guaranteed by POSIX to be at least 512." @@ -236,7 +235,7 @@ msgstr "" msgid "" "*eventmask* is an optional bitmask describing the type of events you want to " -"check for. The constants are the same that with :c:func:`!poll` object. The " +"check for. The constants are the same as with :c:func:`!poll` object. The " "default value is a combination of the constants :const:`POLLIN`, :const:" "`POLLPRI`, and :const:`POLLOUT`." msgstr "" @@ -249,7 +248,7 @@ msgstr "" msgid "" "This method does an :meth:`unregister` followed by a :meth:`register`. It is " -"(a bit) more efficient that doing the same explicitly." +"(a bit) more efficient than doing the same explicitly." msgstr "" msgid "" @@ -381,7 +380,7 @@ msgid "Ignored." msgstr "" msgid ":const:`EPOLLWAKEUP`" -msgstr "" +msgstr ":const:`EPOLLWAKEUP`" msgid "Prevents sleep during event waiting." msgstr "" @@ -627,13 +626,13 @@ msgstr "" msgid ":const:`KQ_EV_ENABLE`" msgstr ":const:`KQ_EV_ENABLE`" -msgid "Permitscontrol() to returns the event" +msgid "Permits control() to return the event" msgstr "" msgid ":const:`KQ_EV_DISABLE`" msgstr ":const:`KQ_EV_DISABLE`" -msgid "Disablesevent" +msgid "Disables event" msgstr "" msgid ":const:`KQ_EV_ONESHOT`" diff --git a/library/selectors.po b/library/selectors.po index ae9c0c8c7c..9f8cfd7c2a 100644 --- a/library/selectors.po +++ b/library/selectors.po @@ -1,22 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Tomasz Rodzen , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +27,7 @@ msgid ":mod:`!selectors` --- High-level I/O multiplexing" msgstr "" msgid "**Source code:** :source:`Lib/selectors.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/selectors.py`" msgid "Introduction" msgstr "Wprowadzenie" @@ -95,7 +92,7 @@ msgstr "" msgid "" "In the following, *events* is a bitwise mask indicating which I/O events " "should be waited for on a given file object. It can be a combination of the " -"modules constants below:" +"module's constants below:" msgstr "" msgid "Constant" diff --git a/library/shelve.po b/library/shelve.po index 9c29221206..643c95b26a 100644 --- a/library/shelve.po +++ b/library/shelve.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 -# Rafael Fontenelle , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!shelve` --- Python object persistence" msgstr "" msgid "**Source code:** :source:`Lib/shelve.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/shelve.py`" msgid "" "A \"shelf\" is a persistent, dictionary-like object. The difference with " @@ -88,13 +86,13 @@ msgid "" msgstr "" msgid "" -"Because the :mod:`shelve` module is backed by :mod:`pickle`, it is insecure " +"Because the :mod:`!shelve` module is backed by :mod:`pickle`, it is insecure " "to load a shelf from an untrusted source. Like with pickle, loading a shelf " "can execute arbitrary code." msgstr "" msgid "" -"Shelf objects support most of methods and operations supported by " +"Shelf objects support most of the methods and operations supported by " "dictionaries (except copying, constructors and operators ``|`` and ``|=``). " "This eases the transition from dictionary based scripts to those requiring " "persistent storage." @@ -135,7 +133,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`shelve` module does not support *concurrent* read/write access to " +"The :mod:`!shelve` module does not support *concurrent* read/write access to " "shelved objects. (Multiple simultaneous read accesses are safe.) When a " "program has a shelf open for writing, no other program should have it open " "for reading or writing. Unix file locking can be used to solve this, but " @@ -255,7 +253,7 @@ msgstr "" msgid "Module :mod:`pickle`" msgstr "moduł :mod:`pickle`" -msgid "Object serialization used by :mod:`shelve`." +msgid "Object serialization used by :mod:`!shelve`." msgstr "" msgid "module" diff --git a/library/shutil.po b/library/shutil.po index ddd6fd12f3..d7021c6f94 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!shutil` --- High-level file operations" msgstr "" msgid "**Source code:** :source:`Lib/shutil.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/shutil.py`" msgid "" -"The :mod:`shutil` module offers a number of high-level operations on files " +"The :mod:`!shutil` module offers a number of high-level operations on files " "and collections of files. In particular, functions are provided which " "support file copying and removal. For operations on individual files, see " "also the :mod:`os` module." @@ -63,6 +62,16 @@ msgid "" "current file position to the end of the file will be copied." msgstr "" +msgid "" +":func:`copyfileobj` will *not* guarantee that the destination stream has " +"been flushed on completion of the copy. If you want to read from the " +"destination at the completion of the copy operation (for example, reading " +"the contents of a temporary file that has been copied from a HTTP stream), " +"you must ensure that you have called :func:`~io.IOBase.flush` or :func:`~io." +"IOBase.close` on the file-like object before attempting to read the " +"destination file." +msgstr "" + msgid "" "Copy the contents (no metadata) of the file named *src* to a file named " "*dst* and return *dst* in the most efficient way possible. *src* and *dst* " @@ -109,6 +118,11 @@ msgid "" "copy-operations` section." msgstr "" +msgid "" +"This exception is raised when :func:`copyfile` or :func:`copytree` attempt " +"to copy a named pipe." +msgstr "" + msgid "" "This exception is raised if source and destination in :func:`copyfile` are " "the same file." @@ -361,6 +375,11 @@ msgid "" "parameter it receives is the tuple returned from :func:`sys.exc_info`." msgstr "" +msgid "" +":ref:`shutil-rmtree-example` for an example of handling the removal of a " +"directory tree that contains read-only files." +msgstr "" + msgid "" "Raises an :ref:`auditing event ` ``shutil.rmtree`` with arguments " "``path``, ``dir_fd``." @@ -587,7 +606,7 @@ msgstr "" msgid "" "If the fast-copy operation fails and no data was written in the destination " -"file then shutil will silently fallback on using less efficient :func:" +"file then shutil will silently fall back to less efficient :func:" "`copyfileobj` function internally." msgstr "" @@ -674,8 +693,9 @@ msgstr "" msgid "" "*format* is the archive format: one of \"zip\" (if the :mod:`zlib` module is " "available), \"tar\", \"gztar\" (if the :mod:`zlib` module is available), " -"\"bztar\" (if the :mod:`bz2` module is available), or \"xztar\" (if the :mod:" -"`lzma` module is available)." +"\"bztar\" (if the :mod:`bz2` module is available), \"xztar\" (if the :mod:" +"`lzma` module is available), or \"zstdtar\" (if the :mod:`compression.zstd` " +"module is available)." msgstr "" msgid "" @@ -739,7 +759,7 @@ msgid "" "returned sequence is a tuple ``(name, description)``." msgstr "" -msgid "By default :mod:`shutil` provides these formats:" +msgid "By default :mod:`!shutil` provides these formats:" msgstr "" msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." @@ -758,6 +778,11 @@ msgstr "" msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." msgstr "" +msgid "" +"*zstdtar*: Zstandard compressed tar-file (if the :mod:`compression.zstd` " +"module is available)." +msgstr "" + msgid "" "You can register new formats or provide your own archiver for any existing " "formats, by using :func:`register_archive_format`." @@ -808,10 +833,10 @@ msgstr "" msgid "" "*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", " -"\"bztar\", or \"xztar\". Or any other format registered with :func:" -"`register_unpack_format`. If not provided, :func:`unpack_archive` will use " -"the archive file name extension and see if an unpacker was registered for " -"that extension. In case none is found, a :exc:`ValueError` is raised." +"\"bztar\", \"xztar\", or \"zstdtar\". Or any other format registered with :" +"func:`register_unpack_format`. If not provided, :func:`unpack_archive` will " +"use the archive file name extension and see if an unpacker was registered " +"for that extension. In case none is found, a :exc:`ValueError` is raised." msgstr "" msgid "" @@ -967,7 +992,7 @@ msgid "" "... root_dir='tmp/root',\n" "... base_dir='structure/content',\n" "... )\n" -"'/Users/tarek/my_archive.tar'" +"'/Users/tarek/myarchive.tar'" msgstr "" msgid "Listing the files in the resulting archive gives us:" diff --git a/library/signal.po b/library/signal.po index 9e7eef10fc..cfe3fe27a6 100644 --- a/library/signal.po +++ b/library/signal.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!signal` --- Set handlers for asynchronous events" msgstr "" msgid "**Source code:** :source:`Lib/signal.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/signal.py`" msgid "This module provides mechanisms to use signal handlers in Python." msgstr "" @@ -65,7 +64,7 @@ msgid "" "A Python signal handler does not get executed inside the low-level (C) " "signal handler. Instead, the low-level signal handler sets a flag which " "tells the :term:`virtual machine` to execute the corresponding Python signal " -"handler at a later point(for example at the next :term:`bytecode` " +"handler at a later point (for example, at the next :term:`bytecode` " "instruction). This has consequences:" msgstr "" @@ -107,6 +106,11 @@ msgid "" "new signal handler." msgstr "" +msgid "" +"Synchronization primitives such as :class:`threading.Lock` should not be " +"used within signal handlers. Doing so can lead to unexpected deadlocks." +msgstr "" + msgid "Module contents" msgstr "" @@ -128,12 +132,12 @@ msgid "" msgstr "" msgid "" -":class:`enum.IntEnum` collection the constants :const:`SIG_DFL` and :const:" -"`SIG_IGN`." +":class:`enum.IntEnum` collection of the constants :const:`SIG_DFL` and :" +"const:`SIG_IGN`." msgstr "" msgid "" -":class:`enum.IntEnum` collection the constants :const:`SIG_BLOCK`, :const:" +":class:`enum.IntEnum` collection of the constants :const:`SIG_BLOCK`, :const:" "`SIG_UNBLOCK` and :const:`SIG_SETMASK`." msgstr "" @@ -145,7 +149,7 @@ msgid "" "for further information." msgstr "" -msgid "The variables defined in the :mod:`signal` module are:" +msgid "The variables defined in the :mod:`!signal` module are:" msgstr "" msgid "" @@ -214,9 +218,18 @@ msgstr "" msgid "Default action is to ignore the signal." msgstr "" +msgid "Profiling timer expired." +msgstr "" + +msgid "Terminal quit signal." +msgstr "" + msgid "Segmentation fault: invalid memory reference." msgstr "" +msgid "Stop executing (cannot be caught or ignored)." +msgstr "" + msgid "" "Stack fault on coprocessor. The Linux kernel does not raise this signal: it " "can only be raised in user space." @@ -236,15 +249,21 @@ msgstr "" msgid "User-defined signal 2." msgstr "" +msgid "Virtual timer expired." +msgstr "" + msgid "Window resize signal." msgstr "" +msgid "CPU time limit exceeded." +msgstr "" + msgid "" "All the signal numbers are defined symbolically. For example, the hangup " "signal is defined as :const:`signal.SIGHUP`; the variable names are " "identical to the names used in C programs, as found in ````. The " -"Unix man page for ':c:func:`signal`' lists the existing signals (on some " -"systems this is :manpage:`signal(2)`, on others the list is in :manpage:" +"Unix man page for '``signal``' lists the existing signals (on some systems " +"this is :manpage:`signal(2)`, on others the list is in :manpage:" "`signal(7)`). Note that not all systems define the same set of signal names; " "only those names defined by the system are defined by this module." msgstr "" @@ -296,7 +315,7 @@ msgid "" "indicating that the signal mask is to be replaced." msgstr "" -msgid "The :mod:`signal` module defines one exception:" +msgid "The :mod:`!signal` module defines one exception:" msgstr "" msgid "" @@ -311,7 +330,7 @@ msgid "" "exc:`OSError`." msgstr "" -msgid "The :mod:`signal` module defines the following functions:" +msgid "The :mod:`!signal` module defines the following functions:" msgstr "" msgid "" @@ -609,10 +628,9 @@ msgid "" msgstr "" msgid "" -"The return value is an object representing the data contained in the :c:type:" -"`siginfo_t` structure, namely: :attr:`si_signo`, :attr:`si_code`, :attr:" -"`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, :attr:" -"`si_band`." +"The return value is an object representing the data contained in the " +"``siginfo_t`` structure, namely: ``si_signo``, ``si_code``, ``si_errno``, " +"``si_pid``, ``si_uid``, ``si_status``, ``si_band``." msgstr "" msgid "See the man page :manpage:`sigwaitinfo(2)` for further information." diff --git a/library/site.po b/library/site.po index 1c318979aa..24bafa198d 100644 --- a/library/site.po +++ b/library/site.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +27,7 @@ msgid ":mod:`!site` --- Site-specific configuration hook" msgstr "" msgid "**Source code:** :source:`Lib/site.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/site.py`" msgid "" "**This module is automatically imported during initialization.** The " @@ -59,7 +56,7 @@ msgid "" "empty heads are skipped. For the tail part, it uses the empty string and " "then :file:`lib/site-packages` (on Windows) or :file:`lib/python{X.Y[t]}/" "site-packages` (on Unix and macOS). (The optional suffix \"t\" indicates " -"the :term:`free threading` build, and is appended if ``\"t\"`` is present in " +"the :term:`free-threaded build`, and is appended if ``\"t\"`` is present in " "the :data:`sys.abiflags` constant.) For each of the distinct head-tail " "combinations, it sees if it refers to an existing directory, and if so, adds " "it to ``sys.path`` and also inspects the newly added path for configuration " @@ -76,11 +73,11 @@ msgid "" msgstr "" msgid "" -":mod:`site` is no longer responsible for updating :data:`sys.prefix` and :" +":mod:`!site` is no longer responsible for updating :data:`sys.prefix` and :" "data:`sys.exec_prefix` on :ref:`sys-path-init-virtual-environments`. This is " "now done during the :ref:`path initialization `. As a result, " "under :ref:`sys-path-init-virtual-environments`, :data:`sys.prefix` and :" -"data:`sys.exec_prefix` no longer depend on the :mod:`site` initialization, " +"data:`sys.exec_prefix` no longer depend on the :mod:`!site` initialization, " "and are therefore unaffected by :option:`-S`." msgstr "" @@ -162,40 +159,40 @@ msgid "" "because it is not mentioned in either path configuration file." msgstr "" -msgid ":mod:`sitecustomize`" -msgstr ":mod:`sitecustomize`" +msgid ":mod:`!sitecustomize`" +msgstr "" msgid "" "After these path manipulations, an attempt is made to import a module named :" -"mod:`sitecustomize`, which can perform arbitrary site-specific " +"mod:`!sitecustomize`, which can perform arbitrary site-specific " "customizations. It is typically created by a system administrator in the " "site-packages directory. If this import fails with an :exc:`ImportError` or " "its subclass exception, and the exception's :attr:`~ImportError.name` " -"attribute equals to ``'sitecustomize'``, it is silently ignored. If Python " -"is started without output streams available, as with :file:`pythonw.exe` on " +"attribute equals ``'sitecustomize'``, it is silently ignored. If Python is " +"started without output streams available, as with :file:`pythonw.exe` on " "Windows (which is used by default to start IDLE), attempted output from :mod:" -"`sitecustomize` is ignored. Any other exception causes a silent and perhaps " -"mysterious failure of the process." +"`!sitecustomize` is ignored. Any other exception causes a silent and " +"perhaps mysterious failure of the process." msgstr "" -msgid ":mod:`usercustomize`" -msgstr ":mod:`usercustomize`" +msgid ":mod:`!usercustomize`" +msgstr "" msgid "" -"After this, an attempt is made to import a module named :mod:" -"`usercustomize`, which can perform arbitrary user-specific customizations, " +"After this, an attempt is made to import a module named :mod:`!" +"usercustomize`, which can perform arbitrary user-specific customizations, " "if :data:`~site.ENABLE_USER_SITE` is true. This file is intended to be " "created in the user site-packages directory (see below), which is part of " "``sys.path`` unless disabled by :option:`-s`. If this import fails with an :" "exc:`ImportError` or its subclass exception, and the exception's :attr:" -"`~ImportError.name` attribute equals to ``'usercustomize'``, it is silently " +"`~ImportError.name` attribute equals ``'usercustomize'``, it is silently " "ignored." msgstr "" msgid "" "Note that for some non-Unix systems, ``sys.prefix`` and ``sys.exec_prefix`` " "are empty, and the path manipulations are skipped; however the import of :" -"mod:`sitecustomize` and :mod:`usercustomize` is still attempted." +"mod:`sitecustomize` and :mod:`!usercustomize` is still attempted." msgstr "" msgid "Readline configuration" @@ -205,7 +202,7 @@ msgid "" "On systems that support :mod:`readline`, this module will also import and " "configure the :mod:`rlcompleter` module, if Python is started in :ref:" "`interactive mode ` and without the :option:`-S` option. " -"The default behavior is enable tab-completion and to use :file:`~/." +"The default behavior is to enable tab completion and to use :file:`~/." "python_history` as the history save file. To disable it, delete (or " "override) the :data:`sys.__interactivehook__` attribute in your :mod:" "`sitecustomize` or :mod:`usercustomize` module or your :envvar:" @@ -280,11 +277,11 @@ msgid "" "packages was added to ``sys.path`` :data:`ENABLE_USER_SITE` should be used." msgstr "" -msgid "Command Line Interface" -msgstr "Interfejs linii komend" +msgid "Command-line interface" +msgstr "" msgid "" -"The :mod:`site` module also provides a way to get the user directories from " +"The :mod:`!site` module also provides a way to get the user directories from " "the command line:" msgstr "" diff --git a/library/smtplib.po b/library/smtplib.po index 32770bda1f..30712fcff8 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!smtplib` --- SMTP protocol client" msgstr "" msgid "**Source code:** :source:`Lib/smtplib.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/smtplib.py`" msgid "" -"The :mod:`smtplib` module defines an SMTP client session object that can be " +"The :mod:`!smtplib` module defines an SMTP client session object that can be " "used to send mail to any internet machine with an SMTP or ESMTP listener " "daemon. For details of SMTP and ESMTP operation, consult :rfc:`821` (Simple " "Mail Transfer Protocol) and :rfc:`1869` (SMTP Service Extensions)." @@ -107,14 +106,14 @@ msgstr "" msgid "" "An :class:`SMTP_SSL` instance behaves exactly the same as instances of :" "class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is " -"required from the beginning of the connection and using :meth:`starttls` is " -"not appropriate. If *host* is not specified, the local host is used. If " -"*port* is zero, the standard SMTP-over-SSL port (465) is used. The optional " -"arguments *local_hostname*, *timeout* and *source_address* have the same " -"meaning as they do in the :class:`SMTP` class. *context*, also optional, " -"can contain a :class:`~ssl.SSLContext` and allows configuring various " -"aspects of the secure connection. Please read :ref:`ssl-security` for best " -"practices." +"required from the beginning of the connection and using :meth:`~SMTP." +"starttls` is not appropriate. If *host* is not specified, the local host is " +"used. If *port* is zero, the standard SMTP-over-SSL port (465) is used. The " +"optional arguments *local_hostname*, *timeout* and *source_address* have the " +"same meaning as they do in the :class:`SMTP` class. *context*, also " +"optional, can contain a :class:`~ssl.SSLContext` and allows configuring " +"various aspects of the secure connection. Please read :ref:`ssl-security` " +"for best practices." msgstr "" msgid "*context* was added." @@ -139,10 +138,10 @@ msgstr "" msgid "" "The LMTP protocol, which is very similar to ESMTP, is heavily based on the " "standard SMTP client. It's common to use Unix sockets for LMTP, so our :meth:" -"`connect` method must support that as well as a regular host:port server. " -"The optional arguments *local_hostname* and *source_address* have the same " -"meaning as they do in the :class:`SMTP` class. To specify a Unix socket, you " -"must use an absolute path for *host*, starting with a '/'." +"`~SMTP.connect` method must support that as well as a regular host:port " +"server. The optional arguments *local_hostname* and *source_address* have " +"the same meaning as they do in the :class:`SMTP` class. To specify a Unix " +"socket, you must use an absolute path for *host*, starting with a '/'." msgstr "" msgid "" @@ -174,8 +173,13 @@ msgstr "" msgid "" "Base class for all exceptions that include an SMTP error code. These " "exceptions are generated in some instances when the SMTP server returns an " -"error code. The error code is stored in the :attr:`smtp_code` attribute of " -"the error, and the :attr:`smtp_error` attribute is set to the error message." +"error code." +msgstr "" + +msgid "The error code." +msgstr "" + +msgid "The error message." msgstr "" msgid "" @@ -184,10 +188,12 @@ msgid "" "the SMTP server refused." msgstr "" +msgid "All recipient addresses refused." +msgstr "" + msgid "" -"All recipient addresses refused. The errors for each recipient are " -"accessible through the attribute :attr:`recipients`, which is a dictionary " -"of exactly the same sort as :meth:`SMTP.sendmail` returns." +"A dictionary of exactly the same sort as returned by :meth:`SMTP.sendmail` " +"containing the errors for each recipient." msgstr "" msgid "The SMTP server refused to accept the message data." @@ -360,7 +366,7 @@ msgid "No suitable authentication method was found." msgstr "" msgid "" -"Each of the authentication methods supported by :mod:`smtplib` are tried in " +"Each of the authentication methods supported by :mod:`!smtplib` are tried in " "turn if they are advertised as supported by the server. See :meth:`auth` " "for a list of supported authentication methods. *initial_response_ok* is " "passed through to :meth:`auth`." @@ -427,7 +433,7 @@ msgid "" "call the :meth:`login` method, which will try each of the above mechanisms " "in turn, in the order listed. ``auth`` is exposed to facilitate the " "implementation of authentication methods not (or not yet) supported directly " -"by :mod:`smtplib`." +"by :mod:`!smtplib`." msgstr "" msgid "" @@ -462,7 +468,7 @@ msgid "SSL/TLS support is not available to your Python interpreter." msgstr "" msgid "" -"The method now supports hostname check with :attr:`SSLContext." +"The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indicator* (see :const:`~ssl.HAS_SNI`)." msgstr "" @@ -475,12 +481,14 @@ msgid "" "Send mail. The required arguments are an :rfc:`822` from-address string, a " "list of :rfc:`822` to-address strings (a bare string will be treated as a " "list with 1 address), and a message string. The caller may pass a list of " -"ESMTP options (such as ``8bitmime``) to be used in ``MAIL FROM`` commands as " -"*mail_options*. ESMTP options (such as ``DSN`` commands) that should be used " -"with all ``RCPT`` commands can be passed as *rcpt_options*. (If you need to " -"use different ESMTP options to different recipients you have to use the low-" -"level methods such as :meth:`mail`, :meth:`rcpt` and :meth:`data` to send " -"the message.)" +"ESMTP options (such as ``\"8bitmime\"``) to be used in ``MAIL FROM`` " +"commands as *mail_options*. ESMTP options (such as ``DSN`` commands) that " +"should be used with all ``RCPT`` commands can be passed as *rcpt_options*. " +"Each option should be passed as a string containing the full text of the " +"option, including any potential key (for instance, ``\"NOTIFY=SUCCESS," +"FAILURE\"``). (If you need to use different ESMTP options to different " +"recipients you have to use the low-level methods such as :meth:`!mail`, :" +"meth:`!rcpt` and :meth:`!data` to send the message.)" msgstr "" msgid "" @@ -524,11 +532,7 @@ msgstr "" msgid ":exc:`SMTPRecipientsRefused`" msgstr ":exc:`SMTPRecipientsRefused`" -msgid "" -"All recipients were refused. Nobody got the mail. The :attr:`recipients` " -"attribute of the exception object is a dictionary with information about the " -"refused recipients (like the one returned when at least one recipient was " -"accepted)." +msgid "All recipients were refused. Nobody got the mail." msgstr "" msgid ":exc:`SMTPSenderRefused`" @@ -613,6 +617,25 @@ msgid "" "documented here. For details, consult the module code." msgstr "" +msgid "Additionally, an SMTP instance has the following attributes:" +msgstr "" + +msgid "The response to the ``HELO`` command, see :meth:`helo`." +msgstr "" + +msgid "The response to the ``EHLO`` command, see :meth:`ehlo`." +msgstr "" + +msgid "" +"A boolean value indicating whether the server supports ESMTP, see :meth:" +"`ehlo`." +msgstr "" + +msgid "" +"A dictionary of the names of SMTP service extensions supported by the " +"server, see :meth:`ehlo`." +msgstr "" + msgid "SMTP Example" msgstr "" diff --git a/library/socket.po b/library/socket.po index e6fbc0cb6f..d68d309e41 100644 --- a/library/socket.po +++ b/library/socket.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Michał Biliński , 2021 -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +27,7 @@ msgid ":mod:`!socket` --- Low-level networking interface" msgstr "" msgid "**Source code:** :source:`Lib/socket.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/socket.py`" msgid "" "This module provides access to the BSD *socket* interface. It is available " @@ -126,7 +122,7 @@ msgid "" "For :const:`AF_INET6` address family, a four-tuple ``(host, port, flowinfo, " "scope_id)`` is used, where *flowinfo* and *scope_id* represent the " "``sin6_flowinfo`` and ``sin6_scope_id`` members in :const:`struct " -"sockaddr_in6` in C. For :mod:`socket` module methods, *flowinfo* and " +"sockaddr_in6` in C. For :mod:`!socket` module methods, *flowinfo* and " "*scope_id* can be omitted just for backward compatibility. Note, however, " "omission of *scope_id* can cause problems in manipulating scoped IPv6 " "addresses." @@ -182,16 +178,16 @@ msgid "" msgstr "" msgid "" -":const:`CAN_ISOTP` protocol require a tuple ``(interface, rx_addr, " +":const:`CAN_ISOTP` protocol requires a tuple ``(interface, rx_addr, " "tx_addr)`` where both additional parameters are unsigned long integer that " "represent a CAN identifier (standard or extended)." msgstr "" msgid "" -":const:`CAN_J1939` protocol require a tuple ``(interface, name, pgn, addr)`` " -"where additional parameters are 64-bit unsigned integer representing the ECU " -"name, a 32-bit unsigned integer representing the Parameter Group Number " -"(PGN), and an 8-bit integer representing the address." +":const:`CAN_J1939` protocol requires a tuple ``(interface, name, pgn, " +"addr)`` where additional parameters are 64-bit unsigned integer representing " +"the ECU name, a 32-bit unsigned integer representing the Parameter Group " +"Number (PGN), and an 8-bit integer representing the address." msgstr "" msgid "" @@ -432,7 +428,7 @@ msgstr "" msgid "Module contents" msgstr "" -msgid "The module :mod:`socket` exports the following elements." +msgid "The module :mod:`!socket` exports the following elements." msgstr "" msgid "Exceptions" @@ -835,9 +831,9 @@ msgstr "" msgid "" "Build a pair of connected socket objects using the given address family, " "socket type, and protocol number. Address family, socket type, and protocol " -"number are as for the :func:`~socket.socket` function above. The default " -"family is :const:`AF_UNIX` if defined on the platform; otherwise, the " -"default is :const:`AF_INET`." +"number are as for the :func:`~socket.socket` function. The default family " +"is :const:`AF_UNIX` if defined on the platform; otherwise, the default is :" +"const:`AF_INET`." msgstr "" msgid "The newly created sockets are :ref:`non-inheritable `." @@ -939,7 +935,7 @@ msgid "" "Duplicate the file descriptor *fd* (an integer as returned by a file " "object's :meth:`~io.IOBase.fileno` method) and build a socket object from " "the result. Address family, socket type and protocol number are as for the :" -"func:`~socket.socket` function above. The file descriptor should refer to a " +"func:`~socket.socket` function. The file descriptor should refer to a " "socket, but this is not checked --- subsequent operations on the object may " "fail if the file descriptor is invalid. This function is rarely needed, but " "can be used to get or set socket options on a socket passed to a program as " @@ -960,13 +956,13 @@ msgstr "" msgid "Other functions" msgstr "" -msgid "The :mod:`socket` module also offers various network-related services:" +msgid "The :mod:`!socket` module also offers various network-related services:" msgstr "" msgid "" "Close a socket file descriptor. This is like :func:`os.close`, but for " -"sockets. On some platforms (most noticeable Windows) :func:`os.close` does " -"not work for socket file descriptors." +"sockets. On some platforms (most notably Windows) :func:`os.close` does not " +"work for socket file descriptors." msgstr "" msgid "" @@ -1399,6 +1395,11 @@ msgid "" "recvmsg` for the documentation of these parameters." msgstr "" +msgid "" +"Unix platforms supporting :meth:`~socket.recvmsg` and :const:`SCM_RIGHTS` " +"mechanism." +msgstr "" + msgid "Any truncated integers at the end of the list of file descriptors." msgstr "" @@ -1433,8 +1434,9 @@ msgid "" msgstr "" msgid "" -"Bind the socket to *address*. The socket must not already be bound. (The " -"format of *address* depends on the address family --- see above.)" +"Bind the socket to *address*. The socket must not already be bound. The " +"format of *address* depends on the address family --- see :ref:`socket-" +"addresses`." msgstr "" msgid "" @@ -1468,13 +1470,13 @@ msgid "" msgstr "" msgid "" -"Connect to a remote socket at *address*. (The format of *address* depends on " -"the address family --- see above.)" +"Connect to a remote socket at *address*. The format of *address* depends on " +"the address family --- see :ref:`socket-addresses`." msgstr "" msgid "" "If the connection is interrupted by a signal, the method waits until the " -"connection completes, or raise a :exc:`TimeoutError` on timeout, if the " +"connection completes, or raises a :exc:`TimeoutError` on timeout, if the " "signal handler doesn't raise an exception and the socket is blocking or has " "a timeout. For non-blocking sockets, the method raises an :exc:" "`InterruptedError` exception if the connection is interrupted by a signal " @@ -1530,15 +1532,15 @@ msgstr "" msgid "" "Return the remote address to which the socket is connected. This is useful " -"to find out the port number of a remote IPv4/v6 socket, for instance. (The " -"format of the address returned depends on the address family --- see " -"above.) On some systems this function is not supported." +"to find out the port number of a remote IPv4/v6 socket, for instance. The " +"format of the address returned depends on the address family --- see :ref:" +"`socket-addresses`. On some systems this function is not supported." msgstr "" msgid "" "Return the socket's own address. This is useful to find out the port number " -"of an IPv4/v6 socket, for instance. (The format of the address returned " -"depends on the address family --- see above.)" +"of an IPv4/v6 socket, for instance. The format of the address returned " +"depends on the address family --- see :ref:`socket-addresses`." msgstr "" msgid "" @@ -1632,8 +1634,8 @@ msgid "" "address)`` where *bytes* is a bytes object representing the data received " "and *address* is the address of the socket sending the data. See the Unix " "manual page :manpage:`recv(2)` for the meaning of the optional argument " -"*flags*; it defaults to zero. (The format of *address* depends on the " -"address family --- see above.)" +"*flags*; it defaults to zero. The format of *address* depends on the address " +"family --- see :ref:`socket-addresses`." msgstr "" msgid "" @@ -1751,8 +1753,9 @@ msgid "" "new bytestring. The return value is a pair ``(nbytes, address)`` where " "*nbytes* is the number of bytes received and *address* is the address of the " "socket sending the data. See the Unix manual page :manpage:`recv(2)` for " -"the meaning of the optional argument *flags*; it defaults to zero. (The " -"format of *address* depends on the address family --- see above.)" +"the meaning of the optional argument *flags*; it defaults to zero. The " +"format of *address* depends on the address family --- see :ref:`socket-" +"addresses`." msgstr "" msgid "" @@ -1765,20 +1768,20 @@ msgstr "" msgid "" "Send data to the socket. The socket must be connected to a remote socket. " -"The optional *flags* argument has the same meaning as for :meth:`recv` " -"above. Returns the number of bytes sent. Applications are responsible for " -"checking that all data has been sent; if only some of the data was " -"transmitted, the application needs to attempt delivery of the remaining " -"data. For further information on this topic, consult the :ref:`socket-howto`." +"The optional *flags* argument has the same meaning as for :meth:`recv`. " +"Returns the number of bytes sent. Applications are responsible for checking " +"that all data has been sent; if only some of the data was transmitted, the " +"application needs to attempt delivery of the remaining data. For further " +"information on this topic, consult the :ref:`socket-howto`." msgstr "" msgid "" "Send data to the socket. The socket must be connected to a remote socket. " -"The optional *flags* argument has the same meaning as for :meth:`recv` " -"above. Unlike :meth:`send`, this method continues to send data from *bytes* " -"until either all data has been sent or an error occurs. ``None`` is " -"returned on success. On error, an exception is raised, and there is no way " -"to determine how much data, if any, was successfully sent." +"The optional *flags* argument has the same meaning as for :meth:`recv`. " +"Unlike :meth:`send`, this method continues to send data from *bytes* until " +"either all data has been sent or an error occurs. ``None`` is returned on " +"success. On error, an exception is raised, and there is no way to determine " +"how much data, if any, was successfully sent." msgstr "" msgid "" @@ -1789,9 +1792,9 @@ msgstr "" msgid "" "Send data to the socket. The socket should not be connected to a remote " "socket, since the destination socket is specified by *address*. The " -"optional *flags* argument has the same meaning as for :meth:`recv` above. " -"Return the number of bytes sent. (The format of *address* depends on the " -"address family --- see above.)" +"optional *flags* argument has the same meaning as for :meth:`recv`. Return " +"the number of bytes sent. The format of *address* depends on the address " +"family --- see :ref:`socket-addresses`." msgstr "" msgid "" @@ -1904,12 +1907,12 @@ msgid "" "Set the value of the given socket option (see the Unix manual page :manpage:" "`setsockopt(2)`). The needed symbolic constants are defined in this module " "(:ref:`!SO_\\* etc. `). The value can be an integer, " -"``None`` or a :term:`bytes-like object` representing a buffer. In the later " +"``None`` or a :term:`bytes-like object` representing a buffer. In the latter " "case it is up to the caller to ensure that the bytestring contains the " "proper bits (see the optional built-in module :mod:`struct` for a way to " "encode C structures as bytestrings). When *value* is set to ``None``, " -"*optlen* argument is required. It's equivalent to call :c:func:`setsockopt` " -"C function with ``optval=NULL`` and ``optlen=optlen``." +"*optlen* argument is required. It's equivalent to calling :c:func:" +"`setsockopt` C function with ``optval=NULL`` and ``optlen=optlen``." msgstr "" msgid "setsockopt(level, optname, None, optlen: int) form added." @@ -2247,7 +2250,7 @@ msgid "" msgstr "" msgid "" -"There is a :mod:`socket` flag to set, in order to prevent this, :const:" +"There is a :mod:`!socket` flag to set, in order to prevent this, :const:" "`socket.SO_REUSEADDR`::" msgstr "" diff --git a/library/socketserver.po b/library/socketserver.po index 813bf6c6a4..be1d4c13cd 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!socketserver` --- A framework for network servers" msgstr "" msgid "**Source code:** :source:`Lib/socketserver.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/socketserver.py`" msgid "" -"The :mod:`socketserver` module simplifies the task of writing network " +"The :mod:`!socketserver` module simplifies the task of writing network " "servers." msgstr "" @@ -550,11 +549,11 @@ msgstr "" msgid "" "The difference is that the ``readline()`` call in the second handler will " "call ``recv()`` multiple times until it encounters a newline character, " -"while the the first handler had to use a ``recv()`` loop to accumulate data " +"while the first handler had to use a ``recv()`` loop to accumulate data " "until a newline itself. If it had just used a single ``recv()`` without the " "loop it would just have returned what has been received so far from the " "client. TCP is stream based: data arrives in the order it was sent, but " -"there no correlation between client ``send()`` or ``sendall()`` calls and " +"there is no correlation between client ``send()`` or ``sendall()`` calls and " "the number of ``recv()`` calls on the server required to receive it." msgstr "" diff --git a/library/sqlite3.po b/library/sqlite3.po index 6000c4379a..558d8d5968 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -4,20 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Stefan Ocetkiewicz , 2023 -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,7 +28,7 @@ msgid ":mod:`!sqlite3` --- DB-API 2.0 interface for SQLite databases" msgstr "" msgid "**Source code:** :source:`Lib/sqlite3/`" -msgstr "" +msgstr "**Kod źródłowy:**. :source:`Lib/sqlite3/`" msgid "" "SQLite is a C library that provides a lightweight disk-based database that " @@ -45,8 +42,19 @@ msgstr "" msgid "" "The :mod:`!sqlite3` module was written by Gerhard Häring. It provides an " "SQL interface compliant with the DB-API 2.0 specification described by :pep:" -"`249`, and requires SQLite 3.15.2 or newer." +"`249`, and requires the third-party `SQLite `_ library." +msgstr "" + +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." msgid "This document includes four main sections:" msgstr "" @@ -107,6 +115,8 @@ msgid "" "import sqlite3\n" "con = sqlite3.connect(\"tutorial.db\")" msgstr "" +"import sqlite3\n" +"con = sqlite3.connect(\"tutorial.db\")" msgid "" "The returned :class:`Connection` object ``con`` represents the connection to " @@ -329,7 +339,7 @@ msgid "" "` are looked up to be converted to Python types, using the " "converters registered with :func:`register_converter`. Set it to any " "combination (using ``|``, bitwise or) of :const:`PARSE_DECLTYPES` and :const:" -"`PARSE_COLNAMES` to enable this. Column names takes precedence over declared " +"`PARSE_COLNAMES` to enable this. Column names take precedence over declared " "types if both flags are set. By default (``0``), type detection is disabled." msgstr "" @@ -695,7 +705,7 @@ msgstr "" msgid "The name of the column where the blob is located." msgstr "" -msgid "The name of the row where the blob is located." +msgid "The row id where the blob is located." msgstr "" msgid "" @@ -997,6 +1007,23 @@ msgid "" " print(row)\n" "con.close()" msgstr "" +"def collate_reverse(string1, string2):\n" +" if string1 == string2:\n" +" return 0\n" +" elif string1 < string2:\n" +" return 1\n" +" else:\n" +" return -1\n" +"\n" +"con = sqlite3.connect(\":memory:\")\n" +"con.create_collation(\"reverse\", collate_reverse)\n" +"\n" +"cur = con.execute(\"CREATE TABLE test(x)\")\n" +"cur.executemany(\"INSERT INTO test(x) VALUES(?)\", [(\"a\",), (\"b\",)])\n" +"cur.execute(\"SELECT x FROM test ORDER BY x COLLATE reverse\")\n" +"for row in cur:\n" +" print(row)\n" +"con.close()" msgid "Remove a collation function by setting *callable* to ``None``." msgstr "" @@ -1507,7 +1534,10 @@ msgid "" "See :ref:`sqlite3-placeholders`." msgstr "" -msgid "If *sql* contains more than one SQL statement." +msgid "" +"When *sql* contains more than one SQL statement. When :ref:`named " +"placeholders ` are used and *parameters* is a sequence " +"instead of a :class:`dict`." msgstr "" msgid "" @@ -1518,10 +1548,9 @@ msgid "" msgstr "" msgid "" -":exc:`DeprecationWarning` is emitted if :ref:`named placeholders ` are used and *parameters* is a sequence instead of a :class:" -"`dict`. Starting with Python 3.14, :exc:`ProgrammingError` will be raised " -"instead." +"`dict`." msgstr "" msgid "Use :meth:`executescript` to execute multiple SQL statements." @@ -1545,7 +1574,9 @@ msgid "" msgstr "" msgid "" -"If *sql* contains more than one SQL statement, or is not a DML statement." +"When *sql* contains more than one SQL statement or is not a DML statement, " +"When :ref:`named placeholders ` are used and the items " +"in *parameters* are sequences instead of :class:`dict`\\s." msgstr "" msgid "" @@ -1563,10 +1594,9 @@ msgid "" msgstr "" msgid "" -":exc:`DeprecationWarning` is emitted if :ref:`named placeholders ` are used and the items in *parameters* are sequences instead " -"of :class:`dict`\\s. Starting with Python 3.14, :exc:`ProgrammingError` will " -"be raised instead." +"of :class:`dict`\\s." msgstr "" msgid "" @@ -1616,6 +1646,9 @@ msgid "" "the same value from one :meth:`fetchmany` call to the next." msgstr "" +msgid "Negative *size* values are rejected by raising :exc:`ValueError`." +msgstr "" + msgid "" "Return all (remaining) rows of a query result as a :class:`list`. Return an " "empty list if no rows are available. Note that the :attr:`arraysize` " @@ -1640,6 +1673,9 @@ msgid "" "fetched per call." msgstr "" +msgid "Negative values are rejected by raising :exc:`ValueError`." +msgstr "" + msgid "" "Read-only attribute that provides the SQLite database :class:`Connection` " "belonging to the cursor. A :class:`Cursor` object created by calling :meth:" @@ -2249,7 +2285,7 @@ msgid "This section shows recipes for common adapters and converters." msgstr "" msgid "" -"import datetime\n" +"import datetime as dt\n" "import sqlite3\n" "\n" "def adapt_date_iso(val):\n" @@ -2258,27 +2294,27 @@ msgid "" "\n" "def adapt_datetime_iso(val):\n" " \"\"\"Adapt datetime.datetime to timezone-naive ISO 8601 date.\"\"\"\n" -" return val.isoformat()\n" +" return val.replace(tzinfo=None).isoformat()\n" "\n" "def adapt_datetime_epoch(val):\n" " \"\"\"Adapt datetime.datetime to Unix timestamp.\"\"\"\n" " return int(val.timestamp())\n" "\n" -"sqlite3.register_adapter(datetime.date, adapt_date_iso)\n" -"sqlite3.register_adapter(datetime.datetime, adapt_datetime_iso)\n" -"sqlite3.register_adapter(datetime.datetime, adapt_datetime_epoch)\n" +"sqlite3.register_adapter(dt.date, adapt_date_iso)\n" +"sqlite3.register_adapter(dt.datetime, adapt_datetime_iso)\n" +"sqlite3.register_adapter(dt.datetime, adapt_datetime_epoch)\n" "\n" "def convert_date(val):\n" " \"\"\"Convert ISO 8601 date to datetime.date object.\"\"\"\n" -" return datetime.date.fromisoformat(val.decode())\n" +" return dt.date.fromisoformat(val.decode())\n" "\n" "def convert_datetime(val):\n" " \"\"\"Convert ISO 8601 datetime to datetime.datetime object.\"\"\"\n" -" return datetime.datetime.fromisoformat(val.decode())\n" +" return dt.datetime.fromisoformat(val.decode())\n" "\n" "def convert_timestamp(val):\n" " \"\"\"Convert Unix epoch timestamp to datetime.datetime object.\"\"\"\n" -" return datetime.datetime.fromtimestamp(int(val))\n" +" return dt.datetime.fromtimestamp(int(val))\n" "\n" "sqlite3.register_converter(\"date\", convert_date)\n" "sqlite3.register_converter(\"datetime\", convert_datetime)\n" diff --git a/library/ssl.po b/library/ssl.po index 02a93d378c..cac5965eb9 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -4,19 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,16 +28,25 @@ msgid ":mod:`!ssl` --- TLS/SSL wrapper for socket objects" msgstr "" msgid "**Source code:** :source:`Lib/ssl.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/ssl.py`" msgid "" "This module provides access to Transport Layer Security (often known as " "\"Secure Sockets Layer\") encryption and peer authentication facilities for " "network sockets, both client-side and server-side. This module uses the " -"OpenSSL library. It is available on all modern Unix systems, Windows, macOS, " -"and probably additional platforms, as long as OpenSSL is installed on that " -"platform." +"OpenSSL library." +msgstr "" + +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." msgid "" "Some behavior may be platform dependent, since calls are made to the " @@ -102,7 +109,7 @@ msgid "" "Use of deprecated constants and functions result in deprecation warnings." msgstr "" -msgid "Functions, Constants, and Exceptions" +msgid "Functions, constants, and exceptions" msgstr "" msgid "Socket creation" @@ -168,7 +175,7 @@ msgstr "" msgid "" "Return a new :class:`SSLContext` object with default settings for the given " -"*purpose*. The settings are chosen by the :mod:`ssl` module, and usually " +"*purpose*. The settings are chosen by the :mod:`!ssl` module, and usually " "represent a higher security level than when calling the :class:`SSLContext` " "constructor directly." msgstr "" @@ -380,7 +387,7 @@ msgid "Certificate handling" msgstr "" msgid "" -"Return the time in seconds since the Epoch, given the ``cert_time`` string " +"Return the time in seconds since the epoch, given the ``cert_time`` string " "representing the \"notBefore\" or \"notAfter\" date from a certificate in " "``\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." msgstr "" @@ -390,12 +397,12 @@ msgstr "" msgid "" ">>> import ssl\n" +">>> import datetime as dt\n" ">>> timestamp = ssl.cert_time_to_seconds(\"Jan 5 09:34:43 2018 GMT\")\n" ">>> timestamp\n" "1515144883\n" -">>> from datetime import datetime\n" -">>> print(datetime.utcfromtimestamp(timestamp))\n" -"2018-01-05 09:34:43" +">>> print(dt.datetime.fromtimestamp(timestamp, dt.UTC))\n" +"2018-01-05 09:34:43+00:00" msgstr "" msgid "\"notBefore\" or \"notAfter\" dates must use GMT (:rfc:`5280`)." @@ -965,7 +972,7 @@ msgid "" "`TLSVersion.TLSv1_3` are deprecated." msgstr "" -msgid "SSL Sockets" +msgid "SSL sockets" msgstr "" msgid "SSL sockets provide the following methods of :ref:`socket-objects`:" @@ -990,10 +997,10 @@ msgid ":meth:`~socket.socket.fileno`" msgstr ":meth:`~socket.socket.fileno`" msgid ":meth:`~socket.socket.getpeername`, :meth:`~socket.socket.getsockname`" -msgstr "" +msgstr ":meth:`~socket.socket.getpeername`, :meth:`~socket.socket.getsockname`" msgid ":meth:`~socket.socket.getsockopt`, :meth:`~socket.socket.setsockopt`" -msgstr "" +msgstr ":meth:`~socket.socket.getsockopt`, :meth:`~socket.socket.setsockopt`" msgid "" ":meth:`~socket.socket.gettimeout`, :meth:`~socket.socket.settimeout`, :meth:" @@ -1091,8 +1098,8 @@ msgid "Use :meth:`~SSLSocket.recv` instead of :meth:`~SSLSocket.read`." msgstr "" msgid "" -"Write *buf* to the SSL socket and return the number of bytes written. The " -"*buf* argument must be an object supporting the buffer interface." +"Write *data* to the SSL socket and return the number of bytes written. The " +"*data* argument must be an object supporting the buffer interface." msgstr "" msgid "" @@ -1107,7 +1114,7 @@ msgstr "" msgid "" "The socket timeout is no longer reset each time bytes are received or sent. " -"The socket timeout is now the maximum total duration to write *buf*." +"The socket timeout is now the maximum total duration to write *data*." msgstr "" msgid "Use :meth:`~SSLSocket.send` instead of :meth:`~SSLSocket.write`." @@ -1130,7 +1137,13 @@ msgid "Perform the SSL setup handshake." msgstr "" msgid "" -"The handshake method also performs :func:`match_hostname` when the :attr:" +"If *block* is true and the timeout obtained by :meth:`~socket.socket." +"gettimeout` is zero, the socket is set in blocking mode until the handshake " +"is performed." +msgstr "" + +msgid "" +"The handshake method also performs :func:`!match_hostname` when the :attr:" "`~SSLContext.check_hostname` attribute of the socket's :attr:`~SSLSocket." "context` is true." msgstr "" @@ -1142,7 +1155,7 @@ msgstr "" msgid "" "Hostname or IP address is matched by OpenSSL during handshake. The function :" -"func:`match_hostname` is no longer used. In case OpenSSL refuses a hostname " +"func:`!match_hostname` is no longer used. In case OpenSSL refuses a hostname " "or IP address, the handshake is aborted early and a TLS alert message is " "sent to the peer." msgstr "" @@ -1368,7 +1381,7 @@ msgid "" "`~SSLSocket.do_handshake` has been called to reuse a session." msgstr "" -msgid "SSL Contexts" +msgid "SSL contexts" msgstr "" msgid "" @@ -1459,7 +1472,7 @@ msgid "" msgstr "" msgid "" -":func:`create_default_context` lets the :mod:`ssl` module choose security " +":func:`create_default_context` lets the :mod:`!ssl` module choose security " "settings for a given purpose." msgstr "" @@ -1890,8 +1903,8 @@ msgstr "" msgid "" "The return type of :meth:`SSLContext.wrap_socket`, defaults to :class:" -"`SSLSocket`. The attribute can be overridden on instance of class in order " -"to return a custom subclass of :class:`SSLSocket`." +"`SSLSocket`. The attribute can be assigned to on instances of :class:" +"`SSLContext` in order to return a custom subclass of :class:`SSLSocket`." msgstr "" msgid "" @@ -2627,7 +2640,7 @@ msgid "" "well." msgstr "" -msgid "Memory BIO Support" +msgid "Memory BIO support" msgstr "" msgid "" @@ -2903,7 +2916,7 @@ msgstr "" msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" -"`match_hostname`." +"`!match_hostname`." msgstr "" msgid "" @@ -3026,7 +3039,7 @@ msgstr "" msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" msgstr "" -msgid "Donald E., Jeffrey I. Schiller" +msgid "Donald E. Eastlake, Jeffrey I. Schiller, Steve Crocker" msgstr "" msgid "" @@ -3034,7 +3047,7 @@ msgid "" "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" -msgid "D. Cooper" +msgid "David Cooper et al." msgstr "" msgid "" @@ -3042,13 +3055,13 @@ msgid "" "<5246>`" msgstr "" -msgid "T. Dierks et. al." +msgid "Tim Dierks and Eric Rescorla." msgstr "" msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" msgstr "" -msgid "D. Eastlake" +msgid "Donald E. Eastlake" msgstr "" msgid "" diff --git a/library/stat.po b/library/stat.po index c144bba4c8..cb25f102ef 100644 --- a/library/stat.po +++ b/library/stat.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!stat` --- Interpreting :func:`~os.stat` results" msgstr "" msgid "**Source code:** :source:`Lib/stat.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/stat.py`" msgid "" -"The :mod:`stat` module defines constants and functions for interpreting the " +"The :mod:`!stat` module defines constants and functions for interpreting the " "results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they " "exist). For complete details about the :c:func:`stat`, :c:func:`!fstat` " "and :c:func:`!lstat` calls, consult the documentation for your system." @@ -40,7 +40,7 @@ msgid "The stat module is backed by a C implementation." msgstr "" msgid "" -"The :mod:`stat` module defines the following functions to test for specific " +"The :mod:`!stat` module defines the following functions to test for specific " "file types:" msgstr "" diff --git a/library/statistics.po b/library/statistics.po index 4f4f9e627b..c718d75494 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!statistics` --- Mathematical statistics functions" msgstr "" msgid "**Source code:** :source:`Lib/statistics.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/statistics.py`" msgid "" "This module provides functions for calculating mathematical statistics of " diff --git a/library/stdtypes.po b/library/stdtypes.po index a47500fbc0..8571ef211b 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -4,23 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Tadeusz Karpiński , 2023 -# haaritsubaki, 2023 -# gresm, 2024 -# Wiktor Matuszewski , 2024 -# Rafael Fontenelle , 2024 -# Stefan Ocetkiewicz , 2025 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,8 +61,10 @@ msgstr "" msgid "" "By default, an object is considered true unless its class defines either a :" "meth:`~object.__bool__` method that returns ``False`` or a :meth:`~object." -"__len__` method that returns zero, when called with the object. [1]_ Here " -"are most of the built-in objects considered false:" +"__len__` method that returns zero, when called with the object. [1]_ If one " +"of the methods raises an exception when called, the exception is propagated " +"and the object does not have a truth value (for example, :data:" +"`NotImplemented`). Here are most of the built-in objects considered false:" msgstr "" msgid "constants defined to be false: ``None`` and ``False``" @@ -117,7 +112,7 @@ msgid "\\(1)" msgstr "\\(1)" msgid "``x and y``" -msgstr "" +msgstr "``x and y``" msgid "if *x* is false, then *x*, else *y*" msgstr "" @@ -218,12 +213,12 @@ msgid "negated object identity" msgstr "" msgid "" -"Objects of different types, except different numeric types, never compare " -"equal. The ``==`` operator is always defined but for some object types (for " -"example, class objects) is equivalent to :keyword:`is`. The ``<``, ``<=``, " -"``>`` and ``>=`` operators are only defined where they make sense; for " -"example, they raise a :exc:`TypeError` exception when one of the arguments " -"is a complex number." +"Unless stated otherwise, objects of different types never compare equal. The " +"``==`` operator is always defined but for some object types (for example, " +"class objects) is equivalent to :keyword:`is`. The ``<``, ``<=``, ``>`` and " +"``>=`` operators are only defined where they make sense; for example, they " +"raise a :exc:`TypeError` exception when one of the arguments is a complex " +"number." msgstr "" msgid "" @@ -286,10 +281,24 @@ msgstr "" msgid "" "Python fully supports mixed arithmetic: when a binary arithmetic operator " -"has operands of different numeric types, the operand with the \"narrower\" " -"type is widened to that of the other, where integer is narrower than " -"floating point. Arithmetic with complex and real operands is defined by the " -"usual mathematical formula, for example::" +"has operands of different built-in numeric types, the operand with the " +"\"narrower\" type is widened to that of the other:" +msgstr "" + +msgid "If both arguments are complex numbers, no conversion is performed;" +msgstr "" + +msgid "" +"if either argument is a complex or a floating-point number, the other is " +"converted to a floating-point number;" +msgstr "" + +msgid "otherwise, both must be integers and no conversion is necessary." +msgstr "" + +msgid "" +"Arithmetic with complex and real operands is defined by the usual " +"mathematical formula, for example::" msgstr "" msgid "" @@ -403,7 +412,7 @@ msgid "" msgstr "" msgid "\\(6)" -msgstr "" +msgstr "\\(6)" msgid ":func:`complex`" msgstr ":func:`complex`" @@ -485,13 +494,13 @@ msgid "" msgstr "" msgid ":func:`math.trunc(\\ x) `" -msgstr "" +msgstr ":func:`math.trunc(\\ x) `" msgid "*x* truncated to :class:`~numbers.Integral`" msgstr "" msgid ":func:`round(x[, n]) `" -msgstr "" +msgstr ":func:`round(x[, n]) `" msgid "" "*x* rounded to *n* digits, rounding half to even. If *n* is omitted, it " @@ -499,7 +508,7 @@ msgid "" msgstr "" msgid ":func:`math.floor(\\ x) `" -msgstr "" +msgstr ":func:`math.floor(\\ x) `" msgid "the greatest :class:`~numbers.Integral` <= *x*" msgstr "" @@ -1166,7 +1175,7 @@ msgid "" msgstr "" msgid "``x in s``" -msgstr "" +msgstr "``x in s``" msgid "``True`` if an item of *s* is equal to *x*, else ``False``" msgstr "" @@ -1201,6 +1210,9 @@ msgstr "``s[i]``" msgid "*i*\\ th item of *s*, origin 0" msgstr "" +msgid "(3)(8)" +msgstr "" + msgid "``s[i:j]``" msgstr "``s[i:j]``" @@ -1237,23 +1249,6 @@ msgstr "``max(s)``" msgid "largest item of *s*" msgstr "" -msgid "``s.index(x[, i[, j]])``" -msgstr "``s.index(x[, i[, j]])``" - -msgid "" -"index of the first occurrence of *x* in *s* (at or after index *i* and " -"before index *j*)" -msgstr "" - -msgid "\\(8)" -msgstr "" - -msgid "``s.count(x)``" -msgstr "``s.count(x)``" - -msgid "total number of occurrences of *x* in *s*" -msgstr "" - msgid "" "Sequences of the same type also support comparisons. In particular, tuples " "and lists are compared lexicographically by comparing corresponding " @@ -1329,10 +1324,22 @@ msgstr "" msgid "" "The slice of *s* from *i* to *j* is defined as the sequence of items with " -"index *k* such that ``i <= k < j``. If *i* or *j* is greater than " -"``len(s)``, use ``len(s)``. If *i* is omitted or ``None``, use ``0``. If " -"*j* is omitted or ``None``, use ``len(s)``. If *i* is greater than or equal " -"to *j*, the slice is empty." +"index *k* such that ``i <= k < j``." +msgstr "" + +msgid "If *i* is omitted or ``None``, use ``0``." +msgstr "" + +msgid "If *j* is omitted or ``None``, use ``len(s)``." +msgstr "" + +msgid "If *i* or *j* is less than ``-len(s)``, use ``0``." +msgstr "" + +msgid "If *i* or *j* is greater than ``len(s)``, use ``len(s)``." +msgstr "" + +msgid "If *i* is greater than or equal to *j*, the slice is empty." msgstr "" msgid "" @@ -1379,13 +1386,33 @@ msgid "" "concatenation or repetition." msgstr "" +msgid "An :exc:`IndexError` is raised if *i* is outside the sequence range." +msgstr "" + +msgid "Sequence Methods" +msgstr "" + +msgid "Sequence types also support the following methods:" +msgstr "" + +msgid "Return the total number of occurrences of *value* in *sequence*." +msgstr "" + +msgid "Return the index of the first occurrence of *value* in *sequence*." +msgstr "" + +msgid "Raises :exc:`ValueError` if *value* is not found in *sequence*." +msgstr "" + +msgid "" +"The *start* or *stop* arguments allow for efficient searching of subsections " +"of the sequence, beginning at *start* and ending at *stop*. This is roughly " +"equivalent to ``start + sequence[start:stop].index(value)``, only without " +"copying any data." +msgstr "" + msgid "" -"``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " -"implementations support passing the additional arguments *i* and *j*. These " -"arguments allow efficient searching of subsections of the sequence. Passing " -"the extra arguments is roughly equivalent to using ``s[i:j].index(x)``, only " -"without copying any data and with the returned index being relative to the " -"start of the sequence rather than the start of the slice." +"Not all sequence types support passing the *start* and *stop* arguments." msgstr "" msgid "Immutable Sequence Types" @@ -1430,9 +1457,15 @@ msgstr "``s[i] = x``" msgid "item *i* of *s* is replaced by *x*" msgstr "" -msgid "``s[i:j] = t``" +msgid "``del s[i]``" +msgstr "``del s[i]``" + +msgid "removes item *i* of *s*" msgstr "" +msgid "``s[i:j] = t``" +msgstr "``s[i:j] = t``" + msgid "" "slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" msgstr "" @@ -1440,11 +1473,12 @@ msgstr "" msgid "``del s[i:j]``" msgstr "``del s[i:j]``" -msgid "same as ``s[i:j] = []``" +msgid "" +"removes the elements of ``s[i:j]`` from the list (same as ``s[i:j] = []``)" msgstr "" msgid "``s[i:j:k] = t``" -msgstr "" +msgstr "``s[i:j:k] = t``" msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" msgstr "" @@ -1455,26 +1489,7 @@ msgstr "``del s[i:j:k]``" msgid "removes the elements of ``s[i:j:k]`` from the list" msgstr "" -msgid "``s.append(x)``" -msgstr "``s.append(x)``" - -msgid "" -"appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" -msgstr "" - -msgid "``s.clear()``" -msgstr "``s.clear()``" - -msgid "removes all items from *s* (same as ``del s[:]``)" -msgstr "" - -msgid "``s.copy()``" -msgstr "``s.copy()``" - -msgid "creates a shallow copy of *s* (same as ``s[:]``)" -msgstr "" - -msgid "``s.extend(t)`` or ``s += t``" +msgid "``s += t``" msgstr "" msgid "" @@ -1488,66 +1503,67 @@ msgstr "``s *= n``" msgid "updates *s* with its contents repeated *n* times" msgstr "" -msgid "``s.insert(i, x)``" -msgstr "``s.insert(i, x)``" - msgid "" -"inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" +"If *k* is not equal to ``1``, *t* must have the same length as the slice it " +"is replacing." msgstr "" -msgid "``s.pop()`` or ``s.pop(i)``" +msgid "" +"The value *n* is an integer, or an object implementing :meth:`~object." +"__index__`. Zero and negative values of *n* clear the sequence. Items in " +"the sequence are not copied; they are referenced multiple times, as " +"explained for ``s * n`` under :ref:`typesseq-common`." msgstr "" -msgid "retrieves the item at *i* and also removes it from *s*" +msgid "Mutable Sequence Methods" msgstr "" -msgid "``s.remove(x)``" -msgstr "``s.remove(x)``" - -msgid "removes the first item from *s* where ``s[i]`` is equal to *x*" +msgid "Mutable sequence types also support the following methods:" msgstr "" -msgid "``s.reverse()``" -msgstr "``s.reverse()``" +msgid "" +"Append *value* to the end of the sequence. This is equivalent to writing " +"``seq[len(seq):len(seq)] = [value]``." +msgstr "" -msgid "reverses the items of *s* in place" +msgid "" +"Remove all items from *sequence*. This is equivalent to writing ``del " +"sequence[:]``." msgstr "" msgid "" -"If *k* is not equal to ``1``, *t* must have the same length as the slice it " -"is replacing." +"Create a shallow copy of *sequence*. This is equivalent to writing " +"``sequence[:]``." msgstr "" msgid "" -"The optional argument *i* defaults to ``-1``, so that by default the last " -"item is removed and returned." +"The :meth:`!copy` method is not part of the :class:`~collections.abc." +"MutableSequence` :class:`~abc.ABC`, but most concrete mutable sequence types " +"provide it." msgstr "" -msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." +msgid "" +"Extend *sequence* with the contents of *iterable*. For the most part, this " +"is the same as writing ``seq[len(seq):len(seq)] = iterable``." msgstr "" msgid "" -"The :meth:`reverse` method modifies the sequence in place for economy of " -"space when reversing a large sequence. To remind users that it operates by " -"side effect, it does not return the reversed sequence." +"Insert *value* into *sequence* at the given *index*. This is equivalent to " +"writing ``sequence[index:index] = [value]``." msgstr "" msgid "" -":meth:`clear` and :meth:`!copy` are included for consistency with the " -"interfaces of mutable containers that don't support slicing operations (such " -"as :class:`dict` and :class:`set`). :meth:`!copy` is not part of the :class:" -"`collections.abc.MutableSequence` ABC, but most concrete mutable sequence " -"classes provide it." +"Retrieve the item at *index* and also removes it from *sequence*. By " +"default, the last item in *sequence* is removed and returned." msgstr "" -msgid ":meth:`clear` and :meth:`!copy` methods." +msgid "Remove the first item from *sequence* where ``sequence[i] == value``." msgstr "" msgid "" -"The value *n* is an integer, or an object implementing :meth:`~object." -"__index__`. Zero and negative values of *n* clear the sequence. Items in " -"the sequence are not copied; they are referenced multiple times, as " -"explained for ``s * n`` under :ref:`typesseq-common`." +"Reverse the items of *sequence* in place. This method maintains economy of " +"space when reversing a large sequence. To remind users that it operates by " +"side-effect, it returns ``None``." msgstr "" msgid "Lists" @@ -1655,6 +1671,11 @@ msgid "" "detect that the list has been mutated during a sort." msgstr "" +msgid "" +"For detailed information on thread-safety guarantees for :class:`list` " +"objects, see :ref:`thread-safety-list`." +msgstr "" + msgid "Tuples" msgstr "" @@ -1850,7 +1871,7 @@ msgid "Category" msgstr "" msgid ":class:`str` methods" -msgstr "" +msgstr ":class:`str` methods" msgid ":class:`bytes` and :class:`bytearray` methods" msgstr "" @@ -1859,10 +1880,10 @@ msgid "Formatting" msgstr "" msgid ":meth:`str.format`" -msgstr "" +msgstr ":meth:`str.format`" msgid ":meth:`str.format_map`" -msgstr "" +msgstr ":meth:`str.format_map`" msgid ":ref:`f-strings`" msgstr ":ref:`f-strings`" @@ -1871,256 +1892,256 @@ msgid ":ref:`old-string-formatting`" msgstr ":ref:`old-string-formatting`" msgid ":ref:`bytes-formatting`" -msgstr "" +msgstr ":ref:`bytes-formatting`" msgid "Searching and Replacing" msgstr "" msgid ":meth:`str.find`" -msgstr "" +msgstr ":meth:`str.find`" msgid ":meth:`str.rfind`" -msgstr "" +msgstr ":meth:`str.rfind`" msgid ":meth:`bytes.find`" -msgstr "" +msgstr ":meth:`bytes.find`" msgid ":meth:`bytes.rfind`" -msgstr "" +msgstr ":meth:`bytes.rfind`" msgid ":meth:`str.index`" -msgstr "" +msgstr ":meth:`str.index`" msgid ":meth:`str.rindex`" -msgstr "" +msgstr ":meth:`str.rindex`" msgid ":meth:`bytes.index`" -msgstr "" +msgstr ":meth:`bytes.index`" msgid ":meth:`bytes.rindex`" -msgstr "" +msgstr ":meth:`bytes.rindex`" msgid ":meth:`str.startswith`" -msgstr "" +msgstr ":meth:`str.startswith`" msgid ":meth:`bytes.startswith`" -msgstr "" +msgstr ":meth:`bytes.startswith`" msgid ":meth:`str.endswith`" -msgstr "" +msgstr ":meth:`str.endswith`" msgid ":meth:`bytes.endswith`" -msgstr "" +msgstr ":meth:`bytes.endswith`" msgid ":meth:`str.count`" -msgstr "" +msgstr ":meth:`str.count`" msgid ":meth:`bytes.count`" -msgstr "" +msgstr ":meth:`bytes.count`" msgid ":meth:`str.replace`" -msgstr "" +msgstr ":meth:`str.replace`" msgid ":meth:`bytes.replace`" -msgstr "" +msgstr ":meth:`bytes.replace`" msgid "Splitting and Joining" msgstr "" msgid ":meth:`str.split`" -msgstr "" +msgstr ":meth:`str.split`" msgid ":meth:`str.rsplit`" -msgstr "" +msgstr ":meth:`str.rsplit`" msgid ":meth:`bytes.split`" -msgstr "" +msgstr ":meth:`bytes.split`" msgid ":meth:`bytes.rsplit`" -msgstr "" +msgstr ":meth:`bytes.rsplit`" msgid ":meth:`str.splitlines`" -msgstr "" +msgstr ":meth:`str.splitlines`" msgid ":meth:`bytes.splitlines`" -msgstr "" +msgstr ":meth:`bytes.splitlines`" msgid ":meth:`str.partition`" -msgstr "" +msgstr ":meth:`str.partition`" msgid ":meth:`bytes.partition`" -msgstr "" +msgstr ":meth:`bytes.partition`" msgid ":meth:`str.rpartition`" -msgstr "" +msgstr ":meth:`str.rpartition`" msgid ":meth:`bytes.rpartition`" -msgstr "" +msgstr ":meth:`bytes.rpartition`" msgid ":meth:`str.join`" -msgstr "" +msgstr ":meth:`str.join`" msgid ":meth:`bytes.join`" -msgstr "" +msgstr ":meth:`bytes.join`" msgid "String Classification" msgstr "" msgid ":meth:`str.isalpha`" -msgstr "" +msgstr ":meth:`str.isalpha`" msgid ":meth:`bytes.isalpha`" -msgstr "" +msgstr ":meth:`bytes.isalpha`" msgid ":meth:`str.isdecimal`" -msgstr "" +msgstr ":meth:`str.isdecimal`" msgid ":meth:`str.isdigit`" -msgstr "" +msgstr ":meth:`str.isdigit`" msgid ":meth:`bytes.isdigit`" -msgstr "" +msgstr ":meth:`bytes.isdigit`" msgid ":meth:`str.isnumeric`" -msgstr "" +msgstr ":meth:`str.isnumeric`" msgid ":meth:`str.isalnum`" -msgstr "" +msgstr ":meth:`str.isalnum`" msgid ":meth:`bytes.isalnum`" -msgstr "" +msgstr ":meth:`bytes.isalnum`" msgid ":meth:`str.isidentifier`" -msgstr "" +msgstr ":meth:`str.isidentifier`" msgid ":meth:`str.islower`" -msgstr "" +msgstr ":meth:`str.islower`" msgid ":meth:`bytes.islower`" -msgstr "" +msgstr ":meth:`bytes.islower`" msgid ":meth:`str.isupper`" -msgstr "" +msgstr ":meth:`str.isupper`" msgid ":meth:`bytes.isupper`" -msgstr "" +msgstr ":meth:`bytes.isupper`" msgid ":meth:`str.istitle`" -msgstr "" +msgstr ":meth:`str.istitle`" msgid ":meth:`bytes.istitle`" -msgstr "" +msgstr ":meth:`bytes.istitle`" msgid ":meth:`str.isspace`" -msgstr "" +msgstr ":meth:`str.isspace`" msgid ":meth:`bytes.isspace`" -msgstr "" +msgstr ":meth:`bytes.isspace`" msgid ":meth:`str.isprintable`" -msgstr "" +msgstr ":meth:`str.isprintable`" msgid "Case Manipulation" msgstr "" msgid ":meth:`str.lower`" -msgstr "" +msgstr ":meth:`str.lower`" msgid ":meth:`bytes.lower`" -msgstr "" +msgstr ":meth:`bytes.lower`" msgid ":meth:`str.upper`" -msgstr "" +msgstr ":meth:`str.upper`" msgid ":meth:`bytes.upper`" -msgstr "" +msgstr ":meth:`bytes.upper`" msgid ":meth:`str.casefold`" -msgstr "" +msgstr ":meth:`str.casefold`" msgid ":meth:`str.capitalize`" -msgstr "" +msgstr ":meth:`str.capitalize`" msgid ":meth:`bytes.capitalize`" -msgstr "" +msgstr ":meth:`bytes.capitalize`" msgid ":meth:`str.title`" -msgstr "" +msgstr ":meth:`str.title`" msgid ":meth:`bytes.title`" -msgstr "" +msgstr ":meth:`bytes.title`" msgid ":meth:`str.swapcase`" -msgstr "" +msgstr ":meth:`str.swapcase`" msgid ":meth:`bytes.swapcase`" -msgstr "" +msgstr ":meth:`bytes.swapcase`" msgid "Padding and Stripping" msgstr "" msgid ":meth:`str.ljust`" -msgstr "" +msgstr ":meth:`str.ljust`" msgid ":meth:`str.rjust`" -msgstr "" +msgstr ":meth:`str.rjust`" msgid ":meth:`bytes.ljust`" -msgstr "" +msgstr ":meth:`bytes.ljust`" msgid ":meth:`bytes.rjust`" -msgstr "" +msgstr ":meth:`bytes.rjust`" msgid ":meth:`str.center`" -msgstr "" +msgstr ":meth:`str.center`" msgid ":meth:`bytes.center`" -msgstr "" +msgstr ":meth:`bytes.center`" msgid ":meth:`str.expandtabs`" -msgstr "" +msgstr ":meth:`str.expandtabs`" msgid ":meth:`bytes.expandtabs`" -msgstr "" +msgstr ":meth:`bytes.expandtabs`" msgid ":meth:`str.strip`" -msgstr "" +msgstr ":meth:`str.strip`" msgid ":meth:`bytes.strip`" -msgstr "" +msgstr ":meth:`bytes.strip`" msgid ":meth:`str.lstrip`" -msgstr "" +msgstr ":meth:`str.lstrip`" msgid ":meth:`str.rstrip`" -msgstr "" +msgstr ":meth:`str.rstrip`" msgid ":meth:`bytes.lstrip`" -msgstr "" +msgstr ":meth:`bytes.lstrip`" msgid ":meth:`bytes.rstrip`" -msgstr "" +msgstr ":meth:`bytes.rstrip`" msgid "Translation and Encoding" msgstr "" msgid ":meth:`str.translate`" -msgstr "" +msgstr ":meth:`str.translate`" msgid ":meth:`bytes.translate`" -msgstr "" +msgstr ":meth:`bytes.translate`" msgid ":meth:`str.maketrans`" -msgstr "" +msgstr ":meth:`str.maketrans`" msgid ":meth:`bytes.maketrans`" -msgstr "" +msgstr ":meth:`bytes.maketrans`" msgid ":meth:`str.encode`" -msgstr "" +msgstr ":meth:`str.encode`" msgid ":meth:`bytes.decode`" -msgstr "" +msgstr ":meth:`bytes.decode`" msgid "Text Sequence Type --- :class:`str`" msgstr "" @@ -2272,7 +2293,14 @@ msgid "" "intended to remove all case distinctions in a string. For example, the " "German lowercase letter ``'ß'`` is equivalent to ``\"ss\"``. Since it is " "already lowercase, :meth:`lower` would do nothing to ``'ß'``; :meth:" -"`casefold` converts it to ``\"ss\"``." +"`casefold` converts it to ``\"ss\"``. For example:" +msgstr "" + +msgid "" +">>> 'straße'.lower()\n" +"'straße'\n" +">>> 'straße'.casefold()\n" +"'strasse'" msgstr "" msgid "" @@ -2284,7 +2312,16 @@ msgstr "" msgid "" "Return centered in a string of length *width*. Padding is done using the " "specified *fillchar* (default is an ASCII space). The original string is " -"returned if *width* is less than or equal to ``len(s)``." +"returned if *width* is less than or equal to ``len(s)``. For example::" +msgstr "" + +msgid "" +">>> 'Python'.center(10)\n" +"' Python '\n" +">>> 'Python'.center(10, '-')\n" +"'--Python--'\n" +">>> 'Python'.center(4)\n" +"'Python'" msgstr "" msgid "" @@ -2295,7 +2332,20 @@ msgstr "" msgid "" "If *sub* is empty, returns the number of empty strings between characters " -"which is the length of the string plus one." +"which is the length of the string plus one. For example::" +msgstr "" + +msgid "" +">>> 'spam, spam, spam'.count('spam')\n" +"3\n" +">>> 'spam, spam, spam'.count('spam', 5)\n" +"2\n" +">>> 'spam, spam, spam'.count('spam', 5, 10)\n" +"1\n" +">>> 'spam, spam, spam'.count('eggs')\n" +"0\n" +">>> 'spam, spam, spam'.count('')\n" +"17" msgstr "" msgid "Return the string encoded to :class:`bytes`." @@ -2317,7 +2367,15 @@ msgstr "" msgid "" "For performance reasons, the value of *errors* is not checked for validity " "unless an encoding error actually occurs, :ref:`devmode` is enabled or a :" -"ref:`debug build ` is used." +"ref:`debug build ` is used. For example::" +msgstr "" + +msgid "" +">>> encoded_str_to_bytes = 'Python'.encode()\n" +">>> type(encoded_str_to_bytes)\n" +"\n" +">>> encoded_str_to_bytes\n" +"b'Python'" msgstr "" msgid "Added support for keyword arguments." @@ -2332,7 +2390,22 @@ msgid "" "Return ``True`` if the string ends with the specified *suffix*, otherwise " "return ``False``. *suffix* can also be a tuple of suffixes to look for. " "With optional *start*, test beginning at that position. With optional " -"*end*, stop comparing at that position." +"*end*, stop comparing at that position. Using *start* and *end* is " +"equivalent to ``str[start:end].endswith(suffix)``. For example::" +msgstr "" + +msgid "" +">>> 'Python'.endswith('on')\n" +"True\n" +">>> 'a tuple of suffixes'.endswith(('at', 'in'))\n" +"False\n" +">>> 'a tuple of suffixes'.endswith(('at', 'es'))\n" +"True\n" +">>> 'Python is amazing'.endswith('is', 0, 9)\n" +"True" +msgstr "" + +msgid "See also :meth:`startswith` and :meth:`removesuffix`." msgstr "" msgid "" @@ -2347,13 +2420,34 @@ msgid "" "(``\\n``) or return (``\\r``), it is copied and the current column is reset " "to zero. Any other character is copied unchanged and the current column is " "incremented by one regardless of how the character is represented when " -"printed." +"printed. For example::" +msgstr "" + +msgid "" +">>> '01\\t012\\t0123\\t01234'.expandtabs()\n" +"'01 012 0123 01234'\n" +">>> '01\\t012\\t0123\\t01234'.expandtabs(4)\n" +"'01 012 0123 01234'\n" +">>> print('01\\t012\\n0123\\t01234'.expandtabs(4))\n" +"01 012\n" +"0123 01234" msgstr "" msgid "" "Return the lowest index in the string where substring *sub* is found within " "the slice ``s[start:end]``. Optional arguments *start* and *end* are " -"interpreted as in slice notation. Return ``-1`` if *sub* is not found." +"interpreted as in slice notation. Return ``-1`` if *sub* is not found. For " +"example::" +msgstr "" + +msgid "" +">>> 'spam, spam, spam'.find('sp')\n" +"0\n" +">>> 'spam, spam, spam'.find('sp', 5)\n" +"6" +msgstr "" + +msgid "See also :meth:`rfind` and :meth:`index`." msgstr "" msgid "" @@ -2375,7 +2469,16 @@ msgid "" "``{}``. Each replacement field contains either the numeric index of a " "positional argument, or the name of a keyword argument. Returns a copy of " "the string where each replacement field is replaced with the string value of " -"the corresponding argument." +"the corresponding argument. For example:" +msgstr "" + +msgid "" +">>> \"The sum of 1 + 2 is {0}\".format(1+2)\n" +"'The sum of 1 + 2 is 3'\n" +">>> \"The sum of {a} + {b} is {answer}\".format(answer=1+2, a=1, b=2)\n" +"'The sum of 1 + 2 is 3'\n" +">>> \"{1} expects the {0} Inquisition!\".format(\"Spanish\", \"Nobody\")\n" +"'Nobody expects the Spanish Inquisition!'" msgstr "" msgid "" @@ -2406,14 +2509,39 @@ msgstr "" msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " -"not found." +"not found. For example:" +msgstr "" + +msgid "" +">>> 'spam, spam, spam'.index('spam')\n" +"0\n" +">>> 'spam, spam, spam'.index('eggs')\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" 'spam, spam, spam'.index('eggs')\n" +" ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^\n" +"ValueError: substring not found" +msgstr "" + +msgid "See also :meth:`rindex`." msgstr "" msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " "is at least one character, ``False`` otherwise. A character ``c`` is " "alphanumeric if one of the following returns ``True``: ``c.isalpha()``, ``c." -"isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``." +"isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``. For example:" +msgstr "" + +msgid "" +">>> 'abc123'.isalnum()\n" +"True\n" +">>> 'abc123!@#'.isalnum()\n" +"False\n" +">>> ''.isalnum()\n" +"False\n" +">>> ' '.isalnum()\n" +"False" msgstr "" msgid "" @@ -2424,21 +2552,50 @@ msgid "" "\"Lu\", \"Ll\", or \"Lo\". Note that this is different from the `Alphabetic " "property defined in the section 4.10 'Letters, Alphabetic, and Ideographic' " "of the Unicode Standard `_." +"spec/chapter-4/#G91002>`_. For example:" +msgstr "" + +msgid "" +">>> 'Letters and spaces'.isalpha()\n" +"False\n" +">>> 'LettersOnly'.isalpha()\n" +"True\n" +">>> 'µ'.isalpha() # non-ASCII characters can be considered alphabetical " +"too\n" +"True" +msgstr "" + +msgid "See :ref:`unicode-properties`." msgstr "" msgid "" "Return ``True`` if the string is empty or all characters in the string are " "ASCII, ``False`` otherwise. ASCII characters have code points in the range " -"U+0000-U+007F." +"U+0000-U+007F. For example:" +msgstr "" + +msgid "" +">>> 'ASCII characters'.isascii()\n" +"True\n" +">>> 'µ'.isascii()\n" +"False" msgstr "" msgid "" "Return ``True`` if all characters in the string are decimal characters and " "there is at least one character, ``False`` otherwise. Decimal characters are " -"those that can be used to form numbers in base 10, e.g. U+0660, ARABIC-INDIC " -"DIGIT ZERO. Formally a decimal character is a character in the Unicode " -"General Category \"Nd\"." +"those that can be used to form numbers in base 10, such as U+0660, ARABIC-" +"INDIC DIGIT ZERO. Formally a decimal character is a character in the " +"Unicode General Category \"Nd\". For example:" +msgstr "" + +msgid "" +">>> '0123456789'.isdecimal()\n" +"True\n" +">>> '٠١٢٣٤٥٦٧٨٩'.isdecimal() # Arabic-Indic digits zero to nine\n" +"True\n" +">>> 'alphabetic'.isdecimal()\n" +"False" msgstr "" msgid "" @@ -2483,7 +2640,23 @@ msgid "" "include digit characters, and all characters that have the Unicode numeric " "value property, e.g. U+2155, VULGAR FRACTION ONE FIFTH. Formally, numeric " "characters are those with the property value Numeric_Type=Digit, " -"Numeric_Type=Decimal or Numeric_Type=Numeric." +"Numeric_Type=Decimal or Numeric_Type=Numeric. For example:" +msgstr "" + +msgid "" +">>> '0123456789'.isnumeric()\n" +"True\n" +">>> '٠١٢٣٤٥٦٧٨٩'.isnumeric() # Arabic-indic digit zero to nine\n" +"True\n" +">>> '⅕'.isnumeric() # Vulgar fraction one fifth\n" +"True\n" +">>> '²'.isdecimal(), '²'.isdigit(), '²'.isnumeric()\n" +"(False, True, True)" +msgstr "" + +msgid "" +"See also :meth:`isdecimal` and :meth:`isdigit`. Numeric characters are a " +"superset of decimal numbers." msgstr "" msgid "" @@ -2506,17 +2679,44 @@ msgid "" "C), except the ASCII space." msgstr "" +msgid "For example:" +msgstr "Na przykład::" + +msgid "" +">>> ''.isprintable(), ' '.isprintable()\n" +"(True, True)\n" +">>> '\\t'.isprintable(), '\\n'.isprintable()\n" +"(False, False)" +msgstr "" + +msgid "See also :meth:`isspace`." +msgstr "" + msgid "" "Return ``True`` if there are only whitespace characters in the string and " "there is at least one character, ``False`` otherwise." msgstr "" +msgid "" +">>> ''.isspace()\n" +"False\n" +">>> ' '.isspace()\n" +"True\n" +">>> '\\t\\n'.isspace() # TAB and BREAK LINE\n" +"True\n" +">>> '\\u3000'.isspace() # IDEOGRAPHIC SPACE\n" +"True" +msgstr "" + msgid "" "A character is *whitespace* if in the Unicode character database (see :mod:" "`unicodedata`), either its general category is ``Zs`` (\"Separator, " "space\"), or its bidirectional class is one of ``WS``, ``B``, or ``S``." msgstr "" +msgid "See also :meth:`isprintable`." +msgstr "" + msgid "" "Return ``True`` if the string is a titlecased string and there is at least " "one character, for example uppercase characters may only follow uncased " @@ -2524,6 +2724,18 @@ msgid "" "otherwise." msgstr "" +msgid "" +">>> 'Spam, Spam, Spam'.istitle()\n" +"True\n" +">>> 'spam, spam, spam'.istitle()\n" +"False\n" +">>> 'SPAM, SPAM, SPAM'.istitle()\n" +"False" +msgstr "" + +msgid "See also :meth:`title`." +msgstr "" + msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." @@ -2533,7 +2745,17 @@ msgid "" "Return a string which is the concatenation of the strings in *iterable*. A :" "exc:`TypeError` will be raised if there are any non-string values in " "*iterable*, including :class:`bytes` objects. The separator between " -"elements is the string providing this method." +"elements is the string providing this method. For example:" +msgstr "" + +msgid "" +">>> ', '.join(['spam', 'spam', 'spam'])\n" +"'spam, spam, spam'\n" +">>> '-'.join('Python')\n" +"'P-y-t-h-o-n'" +msgstr "" + +msgid "See also :meth:`split`." msgstr "" msgid "" @@ -2542,9 +2764,26 @@ msgid "" "original string is returned if *width* is less than or equal to ``len(s)``." msgstr "" +msgid "" +">>> 'Python'.ljust(10)\n" +"'Python '\n" +">>> 'Python'.ljust(10, '.')\n" +"'Python....'\n" +">>> 'Monty Python'.ljust(10, '.')\n" +"'Monty Python'" +msgstr "" + +msgid "See also :meth:`rjust`." +msgstr "" + msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " -"lowercase." +"lowercase. For example:" +msgstr "" + +msgid "" +">>> 'Lower Method Example'.lower()\n" +"'lower method example'" msgstr "" msgid "" @@ -2602,9 +2841,9 @@ msgstr "" msgid "" "If there are two arguments, they must be strings of equal length, and in the " -"resulting dictionary, each character in x will be mapped to the character at " -"the same position in y. If there is a third argument, it must be a string, " -"whose characters will be mapped to ``None`` in the result." +"resulting dictionary, each character in *from* will be mapped to the " +"character at the same position in *to*. If there is a third argument, it " +"must be a string, whose characters will be mapped to ``None`` in the result." msgstr "" msgid "" @@ -2614,9 +2853,21 @@ msgid "" "containing the string itself, followed by two empty strings." msgstr "" +msgid "" +">>> 'Monty Python'.partition(' ')\n" +"('Monty', ' ', 'Python')\n" +">>> \"Monty Python's Flying Circus\".partition(' ')\n" +"('Monty', ' ', \"Python's Flying Circus\")\n" +">>> 'Monty Python'.partition('-')\n" +"('Monty Python', '', '')" +msgstr "" + +msgid "See also :meth:`rpartition`." +msgstr "" + msgid "" "If the string starts with the *prefix* string, return " -"``string[len(prefix):]``. Otherwise, return a copy of the original string::" +"``string[len(prefix):]``. Otherwise, return a copy of the original string:" msgstr "" msgid "" @@ -2630,10 +2881,13 @@ msgstr "" ">>> 'BaseTestCase'.removeprefix('Test')\n" "'BaseTestCase'" +msgid "See also :meth:`removesuffix` and :meth:`startswith`." +msgstr "" + msgid "" "If the string ends with the *suffix* string and that *suffix* is not empty, " "return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " -"string::" +"string:" msgstr "" msgid "" @@ -2647,11 +2901,21 @@ msgstr "" ">>> 'TmpDirMixin'.removesuffix('Tests')\n" "'TmpDirMixin'" +msgid "See also :meth:`removeprefix` and :meth:`endswith`." +msgstr "" + msgid "" "Return a copy of the string with all occurrences of substring *old* replaced " "by *new*. If *count* is given, only the first *count* occurrences are " "replaced. If *count* is not specified or ``-1``, then all occurrences are " -"replaced." +"replaced. For example:" +msgstr "" + +msgid "" +">>> 'spam, spam, spam'.replace('spam', 'eggs')\n" +"'eggs, eggs, eggs'\n" +">>> 'spam, spam, spam'.replace('spam', 'eggs', 1)\n" +"'eggs, spam, spam'" msgstr "" msgid "*count* is now supported as a keyword argument." @@ -2660,12 +2924,37 @@ msgstr "" msgid "" "Return the highest index in the string where substring *sub* is found, such " "that *sub* is contained within ``s[start:end]``. Optional arguments *start* " -"and *end* are interpreted as in slice notation. Return ``-1`` on failure." +"and *end* are interpreted as in slice notation. Return ``-1`` on failure. " +"For example:" +msgstr "" + +msgid "" +">>> 'spam, spam, spam'.rfind('sp')\n" +"12\n" +">>> 'spam, spam, spam'.rfind('sp', 0, 10)\n" +"6" +msgstr "" + +msgid "See also :meth:`find` and :meth:`rindex`." msgstr "" msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " -"not found." +"not found. For example:" +msgstr "" + +msgid "" +">>> 'spam, spam, spam'.rindex('spam')\n" +"12\n" +">>> 'spam, spam, spam'.rindex('eggs')\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" 'spam, spam, spam'.rindex('eggs')\n" +" ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^\n" +"ValueError: substring not found" +msgstr "" + +msgid "See also :meth:`index` and :meth:`find`." msgstr "" msgid "" @@ -2674,6 +2963,18 @@ msgid "" "original string is returned if *width* is less than or equal to ``len(s)``." msgstr "" +msgid "" +">>> 'Python'.rjust(10)\n" +"' Python'\n" +">>> 'Python'.rjust(10, '.')\n" +"'....Python'\n" +">>> 'Monty Python'.rjust(10, '.')\n" +"'Monty Python'" +msgstr "" + +msgid "See also :meth:`ljust` and :meth:`zfill`." +msgstr "" + msgid "" "Split the string at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -2681,6 +2982,18 @@ msgid "" "containing two empty strings, followed by the string itself." msgstr "" +msgid "" +">>> 'Monty Python'.rpartition(' ')\n" +"('Monty', ' ', 'Python')\n" +">>> \"Monty Python's Flying Circus\".rpartition(' ')\n" +"(\"Monty Python's Flying\", ' ', 'Circus')\n" +">>> 'Monty Python'.rpartition('-')\n" +"('', '', 'Monty Python')" +msgstr "" + +msgid "See also :meth:`partition`." +msgstr "" + msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done, the " @@ -2694,7 +3007,7 @@ msgid "" "argument is a string specifying the set of characters to be removed. If " "omitted or ``None``, the *chars* argument defaults to removing whitespace. " "The *chars* argument is not a suffix; rather, all combinations of its values " -"are stripped::" +"are stripped. For example:" msgstr "" msgid "" @@ -2709,7 +3022,7 @@ msgstr "" "'mississ'" msgid "" -"See :meth:`str.removesuffix` for a method that will remove a single suffix " +"See :meth:`removesuffix` for a method that will remove a single suffix " "string rather than all of a set of characters. For example::" msgstr "" @@ -2724,6 +3037,9 @@ msgstr "" ">>> 'Monty Python'.removesuffix(' Python')\n" "'Monty'" +msgid "See also :meth:`strip`." +msgstr "" + msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " @@ -2787,6 +3103,9 @@ msgid "" "['foo ']" msgstr "" +msgid "See also :meth:`join`." +msgstr "" + msgid "" "Return a list of the lines in the string, breaking at line boundaries. Line " "breaks are not included in the resulting list unless *keepends* is given and " @@ -2918,12 +3237,24 @@ msgid "" "*end*, stop comparing string at that position." msgstr "" +msgid "" +">>> 'Python'.startswith('Py')\n" +"True\n" +">>> 'a tuple of prefixes'.startswith(('at', 'a'))\n" +"True\n" +">>> 'Python is amazing'.startswith('is', 7)\n" +"True" +msgstr "" + +msgid "See also :meth:`endswith` and :meth:`removeprefix`." +msgstr "" + msgid "" "Return a copy of the string with the leading and trailing characters " "removed. The *chars* argument is a string specifying the set of characters " "to be removed. If omitted or ``None``, the *chars* argument defaults to " "removing whitespace. The *chars* argument is not a prefix or suffix; rather, " -"all combinations of its values are stripped::" +"all combinations of its values are stripped." msgstr "" msgid "" @@ -2941,7 +3272,7 @@ msgid "" "The outermost leading and trailing *chars* argument values are stripped from " "the string. Characters are removed from the leading end until reaching a " "string character that is not contained in the set of characters in *chars*. " -"A similar action takes place on the trailing end. For example::" +"A similar action takes place on the trailing end." msgstr "" msgid "" @@ -2950,6 +3281,9 @@ msgid "" "'Section 3.2.1 Issue #32'" msgstr "" +msgid "See also :meth:`rstrip`." +msgstr "" + msgid "" "Return a copy of the string with uppercase characters converted to lowercase " "and vice versa. Note that it is not necessarily true that ``s.swapcase()." @@ -3003,6 +3337,9 @@ msgid "" "\"They're Bill's Friends.\"" msgstr "" +msgid "See also :meth:`istitle`." +msgstr "" + msgid "" "Return a copy of the string in which each character has been mapped through " "the given translation table. The table must be an object that implements " @@ -3064,7 +3401,7 @@ msgid "" "within f-strings." msgstr "" -msgid "Added the debugging operator (``=``)" +msgid "Added the debug specifier (``=``)" msgstr "" msgid "" @@ -3075,140 +3412,175 @@ msgstr "" msgid "" "An :dfn:`f-string` (formally a :dfn:`formatted string literal`) is a string " "literal that is prefixed with ``f`` or ``F``. This type of string literal " -"allows embedding arbitrary Python expressions within *replacement fields*, " -"which are delimited by curly brackets (``{}``). These expressions are " -"evaluated at runtime, similarly to :meth:`str.format`, and are converted " -"into regular :class:`str` objects. For example:" +"allows embedding the results of arbitrary Python expressions within " +"*replacement fields*, which are delimited by curly brackets (``{}``). Each " +"replacement field must contain an expression, optionally followed by:" msgstr "" -msgid "" -">>> who = 'nobody'\n" -">>> nationality = 'Spanish'\n" -">>> f'{who.title()} expects the {nationality} Inquisition!'\n" -"'Nobody expects the Spanish Inquisition!'" +msgid "a *debug specifier* -- an equal sign (``=``);" msgstr "" -msgid "It is also possible to use a multi line f-string:" +msgid "a *conversion specifier* -- ``!s``, ``!r`` or ``!a``; and/or" msgstr "" -msgid "" -">>> f'''This is a string\n" -"... on two lines'''\n" -"'This is a string\\non two lines'" +msgid "a *format specifier* prefixed with a colon (``:``)." msgstr "" msgid "" -"A single opening curly bracket, ``'{'``, marks a *replacement field* that " -"can contain any Python expression:" +"See the :ref:`Lexical Analysis section on f-strings ` for details " +"on the syntax of these fields." msgstr "" -msgid "" -">>> nationality = 'Spanish'\n" -">>> f'The {nationality} Inquisition!'\n" -"'The Spanish Inquisition!'" +msgid "Debug specifier" msgstr "" -msgid "To include a literal ``{`` or ``}``, use a double bracket:" +msgid "" +"If a debug specifier -- an equal sign (``=``) -- appears after the " +"replacement field expression, the resulting f-string will contain the " +"expression's source, the equal sign, and the value of the expression. This " +"is often useful for debugging::" msgstr "" msgid "" -">>> x = 42\n" -">>> f'{{x}} is {x}'\n" -"'{x} is 42'" +">>> number = 14.3\n" +">>> f'{number=}'\n" +"'number=14.3'" msgstr "" msgid "" -"Functions can also be used, and :ref:`format specifiers `:" +"Whitespace before, inside and after the expression, as well as whitespace " +"after the equal sign, is significant --- it is retained in the result::" msgstr "" msgid "" -">>> from math import sqrt\n" -">>> f'√2 \\N{ALMOST EQUAL TO} {sqrt(2):.5f}'\n" -"'√2 ≈ 1.41421'" +">>> f'{ number - 4 = }'\n" +"' number - 4 = 10.3'" +msgstr "" + +msgid "Conversion specifier" msgstr "" -msgid "Any non-string expression is converted using :func:`str`, by default:" +msgid "" +"By default, the value of a replacement field expression is converted to a " +"string using :func:`str`::" msgstr "" msgid "" ">>> from fractions import Fraction\n" -">>> f'{Fraction(1, 3)}'\n" +">>> one_third = Fraction(1, 3)\n" +">>> f'{one_third}'\n" "'1/3'" msgstr "" msgid "" -"To use an explicit conversion, use the ``!`` (exclamation mark) operator, " -"followed by any of the valid formats, which are:" +"When a debug specifier but no format specifier is used, the default " +"conversion instead uses :func:`repr`::" msgstr "" -msgid "Conversion" +msgid "" +">>> f'{one_third = }'\n" +"'one_third = Fraction(1, 3)'" msgstr "" -msgid "``!a``" +msgid "" +"The conversion can be specified explicitly using one of these specifiers:" msgstr "" -msgid ":func:`ascii`" -msgstr ":func:`ascii`" +msgid "``!s`` for :func:`str`" +msgstr "" -msgid "``!r``" +msgid "``!r`` for :func:`repr`" msgstr "" -msgid ":func:`repr`" -msgstr ":func:`repr`" +msgid "``!a`` for :func:`ascii`" +msgstr "" -msgid "``!s``" +msgid "" +">>> str(one_third)\n" +"'1/3'\n" +">>> repr(one_third)\n" +"'Fraction(1, 3)'\n" +"\n" +">>> f'{one_third!s} is {one_third!r}'\n" +"'1/3 is Fraction(1, 3)'\n" +"\n" +">>> string = \"¡kočka 😸!\"\n" +">>> ascii(string)\n" +"\"'\\\\xa1ko\\\\u010dka \\\\U0001f638!'\"\n" +"\n" +">>> f'{string = !a}'\n" +"\"string = '\\\\xa1ko\\\\u010dka \\\\U0001f638!'\"" msgstr "" -msgid ":func:`str`" +msgid "Format specifier" msgstr "" -msgid "For example:" -msgstr "Na przykład::" +msgid "" +"After the expression has been evaluated, and possibly converted using an " +"explicit conversion specifier, it is formatted using the :func:`format` " +"function. If the replacement field includes a *format specifier* introduced " +"by a colon (``:``), the specifier is passed to :func:`!format` as the second " +"argument. The result of :func:`!format` is then used as the final value for " +"the replacement field. For example::" +msgstr "" msgid "" ">>> from fractions import Fraction\n" -">>> f'{Fraction(1, 3)!s}'\n" -"'1/3'\n" -">>> f'{Fraction(1, 3)!r}'\n" -"'Fraction(1, 3)'\n" -">>> question = '¿Dónde está el Presidente?'\n" -">>> print(f'{question!a}')\n" -"'\\xbfD\\xf3nde est\\xe1 el Presidente?'" +">>> one_third = Fraction(1, 3)\n" +">>> f'{one_third:.6f}'\n" +"'0.333333'\n" +">>> f'{one_third:_^+10}'\n" +"'___+1/3___'\n" +">>> >>> f'{one_third!r:_^20}'\n" +"'___Fraction(1, 3)___'\n" +">>> f'{one_third = :~>10}~'\n" +"'one_third = ~~~~~~~1/3~'" +msgstr "" + +msgid "Template String Literals (t-strings)" msgstr "" msgid "" -"While debugging it may be helpful to see both the expression and its value, " -"by using the equals sign (``=``) after the expression. This preserves spaces " -"within the brackets, and can be used with a converter. By default, the " -"debugging operator uses the :func:`repr` (``!r``) conversion. For example:" +"An :dfn:`t-string` (formally a :dfn:`template string literal`) is a string " +"literal that is prefixed with ``t`` or ``T``." msgstr "" msgid "" -">>> from fractions import Fraction\n" -">>> calculation = Fraction(1, 3)\n" -">>> f'{calculation=}'\n" -"'calculation=Fraction(1, 3)'\n" -">>> f'{calculation = }'\n" -"'calculation = Fraction(1, 3)'\n" -">>> f'{calculation = !s}'\n" -"'calculation = 1/3'" +"These strings follow the same syntax and evaluation rules as :ref:`formatted " +"string literals `, with for the following differences:" msgstr "" msgid "" -"Once the output has been evaluated, it can be formatted using a :ref:`format " -"specifier ` following a colon (``':'``). After the expression " -"has been evaluated, and possibly converted to a string, the :meth:`!" -"__format__` method of the result is called with the format specifier, or the " -"empty string if no format specifier is given. The formatted result is then " -"used as the final value for the replacement field. For example:" +"Rather than evaluating to a ``str`` object, template string literals " +"evaluate to a :class:`string.templatelib.Template` object." msgstr "" msgid "" -">>> from fractions import Fraction\n" -">>> f'{Fraction(1, 7):.6f}'\n" -"'0.142857'\n" -">>> f'{Fraction(1, 7):_^+10}'\n" -"'___+1/7___'" +"The :func:`format` protocol is not used. Instead, the format specifier and " +"conversions (if any) are passed to a new :class:`~string.templatelib." +"Interpolation` object that is created for each evaluated expression. It is " +"up to code that processes the resulting :class:`~string.templatelib." +"Template` object to decide how to handle format specifiers and conversions." +msgstr "" + +msgid "" +"Format specifiers containing nested replacement fields are evaluated " +"eagerly, prior to being passed to the :class:`~string.templatelib." +"Interpolation` object. For instance, an interpolation of the form ``{amount:." +"{precision}f}`` will evaluate the inner expression ``{precision}`` to " +"determine the value of the ``format_spec`` attribute. If ``precision`` were " +"to be ``2``, the resulting format specifier would be ``'.2f'``." +msgstr "" + +msgid "" +"When the equals sign ``'='`` is provided in an interpolation expression, the " +"text of the expression is appended to the literal string that precedes the " +"relevant interpolation. This includes the equals sign and any surrounding " +"whitespace. The :class:`!Interpolation` instance for the expression will be " +"created as normal, except that :attr:`~string.templatelib.Interpolation." +"conversion` will be set to '``r``' (:func:`repr`) by default. If an explicit " +"conversion or format specifier are provided, this will override the default " +"behaviour." msgstr "" msgid "``printf``-style String Formatting" @@ -3217,11 +3589,14 @@ msgstr "" msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " -"dictionaries correctly). Using the newer :ref:`formatted string literals `, the :meth:`str.format` interface, or :ref:`template strings " -"` may help avoid these errors. Each of these alternatives " -"provides their own trade-offs and benefits of simplicity, flexibility, and/" -"or extensibility." +"dictionaries correctly)." +msgstr "" + +msgid "" +"Using :ref:`formatted string literals `, the :meth:`str.format` " +"interface, or :class:`string.Template` may help avoid these errors. Each of " +"these alternatives provides their own trade-offs and benefits of simplicity, " +"flexibility, and/or extensibility." msgstr "" msgid "" @@ -3345,6 +3720,9 @@ msgstr "" msgid "The conversion types are:" msgstr "" +msgid "Conversion" +msgstr "" + msgid "``'d'``" msgstr "``'d'``" @@ -3445,6 +3823,12 @@ msgstr "``'%'``" msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" +msgid "" +"For floating-point formats, the result should be correctly rounded to a " +"given precision ``p`` of digits after the decimal point. The rounding mode " +"matches that of the :func:`round` builtin." +msgstr "" + msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -3737,6 +4121,11 @@ msgid "" "a list of integers using ``list(b)``." msgstr "" +msgid "" +"For detailed information on thread-safety guarantees for :class:`bytearray` " +"objects, see :ref:`thread-safety-bytearray`." +msgstr "" + msgid "Bytes and Bytearray Operations" msgstr "" @@ -4022,10 +4411,9 @@ msgstr "" msgid "" "Return a copy of the sequence with specified leading bytes removed. The " -"*chars* argument is a binary sequence specifying the set of byte values to " -"be removed - the name refers to the fact this method is usually used with " -"ASCII characters. If omitted or ``None``, the *chars* argument defaults to " -"removing ASCII whitespace. The *chars* argument is not a prefix; rather, " +"*bytes* argument is a binary sequence specifying the set of byte values to " +"be removed. If omitted or ``None``, the *bytes* argument defaults to " +"removing ASCII whitespace. The *bytes* argument is not a prefix; rather, " "all combinations of its values are stripped::" msgstr "" @@ -4075,10 +4463,9 @@ msgstr "" msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " -"*chars* argument is a binary sequence specifying the set of byte values to " -"be removed - the name refers to the fact this method is usually used with " -"ASCII characters. If omitted or ``None``, the *chars* argument defaults to " -"removing ASCII whitespace. The *chars* argument is not a suffix; rather, " +"*bytes* argument is a binary sequence specifying the set of byte values to " +"be removed. If omitted or ``None``, the *bytes* argument defaults to " +"removing ASCII whitespace. The *bytes* argument is not a suffix; rather, " "all combinations of its values are stripped::" msgstr "" @@ -4159,11 +4546,10 @@ msgstr "" msgid "" "Return a copy of the sequence with specified leading and trailing bytes " -"removed. The *chars* argument is a binary sequence specifying the set of " -"byte values to be removed - the name refers to the fact this method is " -"usually used with ASCII characters. If omitted or ``None``, the *chars* " -"argument defaults to removing ASCII whitespace. The *chars* argument is not " -"a prefix or suffix; rather, all combinations of its values are stripped::" +"removed. The *bytes* argument is a binary sequence specifying the set of " +"byte values to be removed. If omitted or ``None``, the *bytes* argument " +"defaults to removing ASCII whitespace. The *bytes* argument is not a prefix " +"or suffix; rather, all combinations of its values are stripped::" msgstr "" msgid "" @@ -4508,6 +4894,9 @@ msgid "" "mapping key selects the value to be formatted from the mapping. For example:" msgstr "" +msgid "\\(8)" +msgstr "\\(8)" + msgid "Single byte (accepts integer or single byte objects)." msgstr "" @@ -4535,7 +4924,7 @@ msgid "" msgstr "" msgid "\\(7)" -msgstr "" +msgstr "\\(7)" msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." msgstr "" @@ -5105,6 +5494,11 @@ msgstr "" msgid "A bool indicating whether the memory is :term:`contiguous`." msgstr "" +msgid "" +"For information on the thread safety of :class:`memoryview` objects in the :" +"term:`free-threaded build`, see :ref:`thread-safety-memoryview`." +msgstr "" + msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "" @@ -5127,9 +5521,9 @@ msgstr "" msgid "" "There are currently two built-in set types, :class:`set` and :class:" "`frozenset`. The :class:`set` type is mutable --- the contents can be " -"changed using methods like :meth:`~set.add` and :meth:`~set.remove`. Since " +"changed using methods like :meth:`~set.add` and :meth:`~set.remove`. Since " "it is mutable, it has no hash value and cannot be used as either a " -"dictionary key or as an element of another set. The :class:`frozenset` type " +"dictionary key or as an element of another set. The :class:`frozenset` type " "is immutable and :term:`hashable` --- its contents cannot be altered after " "it is created; it can therefore be used as a dictionary key or as an element " "of another set." @@ -5219,9 +5613,10 @@ msgid "Return a shallow copy of the set." msgstr "" msgid "" -"Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" -"meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, and :meth:" -"`issuperset` methods will accept any iterable as an argument. In contrast, " +"Note, the non-operator versions of :meth:`~frozenset.union`, :meth:" +"`~frozenset.intersection`, :meth:`~frozenset.difference`, :meth:`~frozenset." +"symmetric_difference`, :meth:`~frozenset.issubset`, and :meth:`~frozenset." +"issuperset` methods will accept any iterable as an argument. In contrast, " "their operator based counterparts require their arguments to be sets. This " "precludes error-prone constructions like ``set('abc') & 'cbs'`` in favor of " "the more readable ``set('abc').intersection('cbs')``." @@ -5301,16 +5696,21 @@ msgid "Remove all elements from the set." msgstr "" msgid "" -"Note, the non-operator versions of the :meth:`update`, :meth:" -"`intersection_update`, :meth:`difference_update`, and :meth:" -"`symmetric_difference_update` methods will accept any iterable as an " -"argument." +"Note, the non-operator versions of the :meth:`~set.update`, :meth:`~set." +"intersection_update`, :meth:`~set.difference_update`, and :meth:`~set." +"symmetric_difference_update` methods will accept any iterable as an argument." +msgstr "" + +msgid "" +"Note, the *elem* argument to the :meth:`~object.__contains__`, :meth:`~set." +"remove`, and :meth:`~set.discard` methods may be a set. To support " +"searching for an equivalent frozenset, a temporary one is created from " +"*elem*." msgstr "" msgid "" -"Note, the *elem* argument to the :meth:`~object.__contains__`, :meth:" -"`remove`, and :meth:`discard` methods may be a set. To support searching " -"for an equivalent frozenset, a temporary one is created from *elem*." +"For detailed information on thread-safety guarantees for :class:`set` " +"objects, see :ref:`thread-safety-set`." msgstr "" msgid "Mapping Types --- :class:`dict`" @@ -5372,11 +5772,6 @@ msgid "" "the value from the positional argument." msgstr "" -msgid "" -"Providing keyword arguments as in the first example only works for keys that " -"are valid Python identifiers. Otherwise, any valid keys can be used." -msgstr "" - msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -5396,6 +5791,11 @@ msgid "" "True" msgstr "" +msgid "" +"Providing keyword arguments as in the first example only works for keys that " +"are valid Python identifiers. Otherwise, any valid keys can be used." +msgstr "" + msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -5440,13 +5840,13 @@ msgid "" msgstr "" msgid "" -"If a subclass of dict defines a method :meth:`__missing__` and *key* is not " -"present, the ``d[key]`` operation calls that method with the key *key* as " -"argument. The ``d[key]`` operation then returns or raises whatever is " -"returned or raised by the ``__missing__(key)`` call. No other operations or " -"methods invoke :meth:`__missing__`. If :meth:`__missing__` is not defined, :" -"exc:`KeyError` is raised. :meth:`__missing__` must be a method; it cannot be " -"an instance variable::" +"If a subclass of dict defines a method :meth:`~object.__missing__` and *key* " +"is not present, the ``d[key]`` operation calls that method with the key " +"*key* as argument. The ``d[key]`` operation then returns or raises whatever " +"is returned or raised by the ``__missing__(key)`` call. No other operations " +"or methods invoke :meth:`~object.__missing__`. If :meth:`~object." +"__missing__` is not defined, :exc:`KeyError` is raised. :meth:`~object." +"__missing__` must be a method; it cannot be an instance variable::" msgstr "" msgid "" @@ -5464,8 +5864,8 @@ msgstr "" msgid "" "The example above shows part of the implementation of :class:`collections." -"Counter`. A different ``__missing__`` method is used by :class:`collections." -"defaultdict`." +"Counter`. A different :meth:`!__missing__` method is used by :class:" +"`collections.defaultdict`." msgstr "" msgid "Set ``d[key]`` to *value*." @@ -5554,8 +5954,8 @@ msgid "" msgstr "" msgid "" -"Update the dictionary with the key/value pairs from *other*, overwriting " -"existing keys. Return ``None``." +"Update the dictionary with the key/value pairs from *mapping* or *iterable* " +"and *kwargs*, overwriting existing keys. Return ``None``." msgstr "" msgid "" @@ -5621,6 +6021,11 @@ msgid "" "class:`dict`." msgstr "" +msgid "" +"For detailed information on thread-safety guarantees for :class:`dict` " +"objects, see :ref:`thread-safety-dict`." +msgstr "" + msgid "Dictionary view objects" msgstr "" @@ -5777,10 +6182,13 @@ msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " "statement immediately following the :keyword:`!with` statement. Otherwise " -"the exception continues propagating after this method has finished " -"executing. Exceptions that occur during execution of this method will " -"replace any exception that occurred in the body of the :keyword:`!with` " -"statement." +"the exception continues propagating after this method has finished executing." +msgstr "" + +msgid "" +"If this method raises an exception while handling an earlier exception from " +"the :keyword:`with` block, the new exception is raised, and the original " +"exception is stored in its :attr:`~BaseException.__context__` attribute." msgstr "" msgid "" @@ -6022,10 +6430,10 @@ msgid ":class:`type`" msgstr ":class:`type`" msgid ":class:`asyncio.Future`" -msgstr "" +msgstr ":class:`asyncio.Future`" msgid ":class:`asyncio.Task`" -msgstr "" +msgstr ":class:`asyncio.Task`" msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" @@ -6096,6 +6504,9 @@ msgstr ":class:`collections.abc.Sequence`" msgid ":class:`collections.abc.MutableSequence`" msgstr ":class:`collections.abc.MutableSequence`" +msgid ":class:`collections.abc.ByteString`" +msgstr ":class:`collections.abc.ByteString`" + msgid ":class:`collections.abc.MappingView`" msgstr ":class:`collections.abc.MappingView`" @@ -6455,8 +6866,8 @@ msgstr "" msgid "" "Methods are functions that are called using the attribute notation. There " "are two flavors: :ref:`built-in methods ` (such as :meth:" -"`append` on lists) and :ref:`class instance method `. " -"Built-in methods are described with the types that support them." +"`~list.append` on lists) and :ref:`class instance method `. Built-in methods are described with the types that support them." msgstr "" msgid "" @@ -6554,15 +6965,55 @@ msgid "The Ellipsis Object" msgstr "" msgid "" -"This object is commonly used by slicing (see :ref:`slicings`). It supports " -"no special operations. There is exactly one ellipsis object, named :const:" -"`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces the :const:" -"`Ellipsis` singleton." +"This object is commonly used to indicate that something is omitted. It " +"supports no special operations. There is exactly one ellipsis object, " +"named :const:`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces " +"the :const:`Ellipsis` singleton." msgstr "" msgid "It is written as ``Ellipsis`` or ``...``." msgstr "" +msgid "" +"In typical use, ``...`` as the ``Ellipsis`` object appears in a few " +"different places, for instance:" +msgstr "" + +msgid "" +"In type annotations, such as :ref:`callable arguments ` or :ref:`tuple elements `." +msgstr "" + +msgid "" +"As the body of a function instead of a :ref:`pass statement `." +msgstr "" + +msgid "" +"In third-party libraries, such as `Numpy's slicing and striding `_." +msgstr "" + +msgid "" +"Python also uses three dots in ways that are not ``Ellipsis`` objects, for " +"instance:" +msgstr "" + +msgid "" +"Doctest's :const:`ELLIPSIS `, as a pattern for missing " +"content." +msgstr "" + +msgid "" +"The default Python prompt of the :term:`interactive` shell when partial " +"input is incomplete." +msgstr "" + +msgid "" +"Lastly, the Python documentation often uses three dots in conventional " +"English usage to mean omitted content, even in code examples that also use " +"them as the ``Ellipsis``." +msgstr "" + msgid "The NotImplemented Object" msgstr "" @@ -6727,7 +7178,7 @@ msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." msgstr "" msgid ":func:`hex`, :func:`oct`, :func:`bin`." -msgstr "" +msgstr ":func:`hex`, :func:`oct`, :func:`bin`." msgid ":ref:`formatspec` for hex, octal, and binary numbers." msgstr "" @@ -7158,12 +7609,6 @@ msgstr "" msgid "slice" msgstr "" -msgid "count() (sequence method)" -msgstr "" - -msgid "index() (sequence method)" -msgstr "" - msgid "loop" msgstr "" @@ -7203,30 +7648,6 @@ msgstr "" msgid "del" msgstr "" -msgid "append() (sequence method)" -msgstr "" - -msgid "clear() (sequence method)" -msgstr "" - -msgid "copy() (sequence method)" -msgstr "" - -msgid "extend() (sequence method)" -msgstr "" - -msgid "insert() (sequence method)" -msgstr "" - -msgid "pop() (sequence method)" -msgstr "" - -msgid "remove() (sequence method)" -msgstr "" - -msgid "reverse() (sequence method)" -msgstr "" - msgid "range" msgstr "" diff --git a/library/string.po b/library/string.po index 113c095fe5..b67c900aab 100644 --- a/library/string.po +++ b/library/string.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +26,7 @@ msgstr "" msgid ":mod:`!string` --- Common string operations" msgstr "" -msgid "**Source code:** :source:`Lib/string.py`" +msgid "**Source code:** :source:`Lib/string/__init__.py`" msgstr "" msgid ":ref:`textseq`" @@ -90,14 +89,14 @@ msgid "" "vertical tab." msgstr "" -msgid "Custom String Formatting" +msgid "Custom string formatting" msgstr "" msgid "" "The built-in string class provides the ability to do complex variable " "substitutions and value formatting via the :meth:`~str.format` method " -"described in :pep:`3101`. The :class:`Formatter` class in the :mod:`string` " -"module allows you to create and customize your own string formatting " +"described in :pep:`3101`. The :class:`Formatter` class in the :mod:`!" +"string` module allows you to create and customize your own string formatting " "behaviors using the same implementation as the built-in :meth:`~str.format` " "method." msgstr "" @@ -208,16 +207,16 @@ msgid "" "understands 's' (str), 'r' (repr) and 'a' (ascii) conversion types." msgstr "" -msgid "Format String Syntax" +msgid "Format string syntax" msgstr "" msgid "" "The :meth:`str.format` method and the :class:`Formatter` class share the " "same syntax for format strings (although in the case of :class:`Formatter`, " "subclasses can define their own format string syntax). The syntax is " -"related to that of :ref:`formatted string literals `, but it is " -"less sophisticated and, in particular, does not support arbitrary " -"expressions." +"related to that of :ref:`formatted string literals ` and :ref:" +"`template string literals `, but it is less sophisticated and, in " +"particular, does not support arbitrary expressions in interpolations." msgstr "" msgid "" @@ -331,15 +330,16 @@ msgstr "" msgid "See the :ref:`formatexamples` section for some examples." msgstr "" -msgid "Format Specification Mini-Language" +msgid "Format specification mini-language" msgstr "" msgid "" "\"Format specifications\" are used within replacement fields contained " "within a format string to define how individual values are presented (see :" -"ref:`formatstrings` and :ref:`f-strings`). They can also be passed directly " -"to the built-in :func:`format` function. Each formattable type may define " -"how the format specification is to be interpreted." +"ref:`formatstrings`, :ref:`f-strings`, and :ref:`t-strings`). They can also " +"be passed directly to the built-in :func:`format` function. Each " +"formattable type may define how the format specification is to be " +"interpreted." msgstr "" msgid "" @@ -501,7 +501,7 @@ msgid "" msgstr "" msgid "``','``" -msgstr "" +msgstr "``','``" msgid "" "Inserts a comma every 3 digits for integer presentation type ``'d'`` and " @@ -510,7 +510,7 @@ msgid "" msgstr "" msgid "``'_'``" -msgstr "" +msgstr "``'_'``" msgid "" "Inserts an underscore every 3 digits for integer presentation type ``'d'`` " @@ -637,6 +637,11 @@ msgid "" "is used." msgstr "" +msgid "" +"For :class:`float`, the exponent always contains at least two digits, and is " +"zero if the value is zero." +msgstr "" + msgid "``'E'``" msgstr "``'E'``" @@ -920,8 +925,8 @@ msgid "Using type-specific formatting::" msgstr "" msgid "" -">>> import datetime\n" -">>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)\n" +">>> import datetime as dt\n" +">>> d = dt.datetime(2010, 7, 4, 12, 15, 58)\n" ">>> '{:%Y-%m-%d %H:%M:%S}'.format(d)\n" "'2010-07-04 12:15:58'" msgstr "" @@ -959,7 +964,20 @@ msgid "" " 11 B 13 1011" msgstr "" -msgid "Template strings" +msgid "Template strings ($-strings)" +msgstr "" + +msgid "" +"The feature described here was introduced in Python 2.4; a simple templating " +"method based upon regular expressions. It predates :meth:`str.format`, :ref:" +"`formatted string literals `, and :ref:`template string literals " +"`." +msgstr "" + +msgid "" +"It is unrelated to template string literals (t-strings), which were " +"introduced in Python 3.14. These evaluate to :class:`string.templatelib." +"Template` objects, found in the :mod:`string.templatelib` module." msgstr "" msgid "" @@ -1000,7 +1018,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`string` module provides a :class:`Template` class that implements " +"The :mod:`!string` module provides a :class:`Template` class that implements " "these rules. The methods of :class:`Template` are:" msgstr "" diff --git a/library/string.templatelib.po b/library/string.templatelib.po new file mode 100644 index 0000000000..4cfff106a8 --- /dev/null +++ b/library/string.templatelib.po @@ -0,0 +1,275 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-03-13 14:39+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +msgid ":mod:`!string.templatelib` --- Support for template string literals" +msgstr "" + +msgid "**Source code:** :source:`Lib/string/templatelib.py`" +msgstr "" + +msgid ":ref:`Format strings `" +msgstr "" + +msgid ":ref:`Template string literal (t-string) syntax `" +msgstr "" + +msgid ":pep:`750`" +msgstr "" + +msgid "Template strings" +msgstr "" + +msgid "" +"Template strings are a mechanism for custom string processing. They have the " +"full flexibility of Python's :ref:`f-strings`, but return a :class:" +"`Template` instance that gives access to the static and interpolated (in " +"curly brackets) parts of a string *before* they are combined." +msgstr "" + +msgid "" +"To write a t-string, use a ``'t'`` prefix instead of an ``'f'``, like so:" +msgstr "" + +msgid "" +">>> pi = 3.14\n" +">>> t't-strings are new in Python {pi!s}!'\n" +"Template(\n" +" strings=('t-strings are new in Python ', '!'),\n" +" interpolations=(Interpolation(3.14, 'pi', 's', ''),)\n" +")" +msgstr "" + +msgid "Types" +msgstr "Typy" + +msgid "" +"The :class:`!Template` class describes the contents of a template string. It " +"is immutable, meaning that attributes of a template cannot be reassigned." +msgstr "" + +msgid "" +"The most common way to create a :class:`!Template` instance is to use the :" +"ref:`template string literal syntax `. This syntax is identical " +"to that of :ref:`f-strings `, except that it uses a ``t`` prefix " +"in place of an ``f``:" +msgstr "" + +msgid "" +"Templates are stored as sequences of literal :attr:`~Template.strings` and " +"dynamic :attr:`~Template.interpolations`. A :attr:`~Template.values` " +"attribute holds the values of the interpolations:" +msgstr "" + +msgid "" +"The :attr:`!strings` tuple has one more element than :attr:`!interpolations` " +"and :attr:`!values`; the interpolations “belong” between the strings. This " +"may be easier to understand when tuples are aligned" +msgstr "" + +msgid "" +"template.strings: ('Ah! We do have ', '.')\n" +"template.values: ( 'Camembert', )" +msgstr "" + +msgid "Attributes" +msgstr "" + +msgid "A :class:`tuple` of the static strings in the template." +msgstr "" + +msgid "Empty strings *are* included in the tuple:" +msgstr "" + +msgid "" +"The ``strings`` tuple is never empty, and always contains one more string " +"than the ``interpolations`` and ``values`` tuples:" +msgstr "" + +msgid "A :class:`tuple` of the interpolations in the template." +msgstr "" + +msgid "" +"The ``interpolations`` tuple may be empty and always contains one fewer " +"values than the ``strings`` tuple:" +msgstr "" + +msgid "A tuple of all interpolated values in the template." +msgstr "" + +msgid "" +"The ``values`` tuple always has the same length as the ``interpolations`` " +"tuple. It is always equivalent to ``tuple(i.value for i in template." +"interpolations)``." +msgstr "" + +msgid "Methods" +msgstr "" + +msgid "" +"While literal syntax is the most common way to create a :class:`!Template`, " +"it is also possible to create them directly using the constructor:" +msgstr "" + +msgid "" +"If multiple strings are passed consecutively, they will be concatenated into " +"a single value in the :attr:`~Template.strings` attribute. For example, the " +"following code creates a :class:`Template` with a single final string:" +msgstr "" + +msgid "" +"If multiple interpolations are passed consecutively, they will be treated as " +"separate interpolations and an empty string will be inserted between them. " +"For example, the following code creates a template with empty placeholders " +"in the :attr:`~Template.strings` attribute:" +msgstr "" + +msgid "" +"Iterate over the template, yielding each non-empty string and :class:" +"`Interpolation` in the correct order:" +msgstr "" + +msgid "Empty strings are **not** included in the iteration:" +msgstr "" + +msgid "" +"Concatenate this template with another, returning a new :class:`!Template` " +"instance:" +msgstr "" + +msgid "" +"Concatenating a :class:`!Template` and a ``str`` is **not** supported. This " +"is because it is unclear whether the string should be treated as a static " +"string or an interpolation. If you want to concatenate a :class:`!Template` " +"with a string, you should either wrap the string directly in a :class:`!" +"Template` (to treat it as a static string) or use an :class:`!Interpolation` " +"(to treat it as dynamic):" +msgstr "" + +msgid "" +"The :class:`!Interpolation` type represents an expression inside a template " +"string. It is immutable, meaning that attributes of an interpolation cannot " +"be reassigned." +msgstr "" + +msgid "" +"Interpolations support pattern matching, allowing you to match against their " +"attributes with the :ref:`match statement `:" +msgstr "" + +msgid "The evaluated value of the interpolation." +msgstr "" + +msgid "" +"For interpolations created by t-string literals, :attr:`!expression` is the " +"expression text found inside the curly brackets (``{`` & ``}``), including " +"any whitespace, excluding the curly brackets themselves, and ending before " +"the first ``!``, ``:``, or ``=`` if any is present. For manually created " +"interpolations, :attr:`!expression` is the arbitrary string provided when " +"constructing the interpolation instance." +msgstr "" + +msgid "" +"We recommend using valid Python expressions or the empty string for the " +"``expression`` field of manually created :class:`!Interpolation` instances, " +"although this is not enforced at runtime." +msgstr "" + +msgid "The conversion to apply to the value, or ``None``." +msgstr "" + +msgid "" +"The :attr:`!conversion` is the optional conversion to apply to the value:" +msgstr "" + +msgid "" +"Unlike f-strings, where conversions are applied automatically, the expected " +"behavior with t-strings is that code that *processes* the :class:`!Template` " +"will decide how to interpret and whether to apply the :attr:`!conversion`. " +"For convenience, the :func:`convert` function can be used to mimic f-string " +"conversion semantics." +msgstr "" + +msgid "The format specification to apply to the value." +msgstr "" + +msgid "" +"The :attr:`!format_spec` is an optional, arbitrary string used as the format " +"specification to present the value:" +msgstr "" + +msgid "" +"Unlike f-strings, where format specifications are applied automatically via " +"the :func:`format` protocol, the expected behavior with t-strings is that " +"code that *processes* the interpolation will decide how to interpret and " +"whether to apply the format specification. As a result, :attr:`!format_spec` " +"values in interpolations can be arbitrary strings, including those that do " +"not conform to the :func:`format` protocol." +msgstr "" + +msgid "Create a new :class:`!Interpolation` object from component parts." +msgstr "" + +msgid "Parameters" +msgstr "parametry" + +msgid "The evaluated, in-scope result of the interpolation." +msgstr "" + +msgid "The text of a valid Python expression, or an empty string." +msgstr "" + +msgid "" +"The :ref:`conversion ` to be used, one of ``None``, ``'a'``, " +"``'r'``, or ``'s'``." +msgstr "" + +msgid "" +"An optional, arbitrary string used as the :ref:`format specification " +"` to present the value." +msgstr "" + +msgid "Helper functions" +msgstr "" + +msgid "" +"Applies formatted string literal :ref:`conversion ` semantics to the given object *obj*. This is frequently useful " +"for custom template string processing logic." +msgstr "" + +msgid "Three conversion flags are currently supported:" +msgstr "" + +msgid "``'s'`` which calls :func:`str` on the value (like ``!s``)," +msgstr "" + +msgid "``'r'`` which calls :func:`repr` (like ``!r``), and" +msgstr "" + +msgid "``'a'`` which calls :func:`ascii` (like ``!a``)." +msgstr "" + +msgid "If the conversion flag is ``None``, *obj* is returned unchanged." +msgstr "" diff --git a/library/struct.po b/library/struct.po index f3b5e3b66c..593884b8a3 100644 --- a/library/struct.po +++ b/library/struct.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Tomasz Rodzen , 2021 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +27,7 @@ msgid ":mod:`!struct` --- Interpret bytes as packed binary data" msgstr "" msgid "**Source code:** :source:`Lib/struct.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/struct.py`" msgid "" "This module converts between Python values and C structs represented as " @@ -54,7 +51,7 @@ msgid "" msgstr "" msgid "" -"Several :mod:`struct` functions (and methods of :class:`Struct`) take a " +"Several :mod:`!struct` functions (and methods of :class:`Struct`) take a " "*buffer* argument. This refers to objects that implement the :ref:" "`bufferobjects` and provide either a readable or read-writable buffer. The " "most common types used for that purpose are :class:`bytes` and :class:" @@ -297,7 +294,7 @@ msgid "no value" msgstr "" msgid "\\(7)" -msgstr "" +msgstr "\\(7)" msgid "``c``" msgstr "``c``" @@ -315,7 +312,7 @@ msgid "``b``" msgstr "``b``" msgid ":c:expr:`signed char`" -msgstr "" +msgstr ":c:expr:`signed char`" msgid "integer" msgstr "" @@ -327,7 +324,7 @@ msgid "``B``" msgstr "``B``" msgid ":c:expr:`unsigned char`" -msgstr "" +msgstr ":c:expr:`unsigned char`" msgid "\\(2)" msgstr "\\(2)" @@ -357,7 +354,7 @@ msgid "``H``" msgstr "``H``" msgid ":c:expr:`unsigned short`" -msgstr "" +msgstr ":c:expr:`unsigned short`" msgid "``i``" msgstr "``i``" @@ -372,7 +369,7 @@ msgid "``I``" msgstr "``I``" msgid ":c:expr:`unsigned int`" -msgstr "" +msgstr ":c:expr:`unsigned int`" msgid "``l``" msgstr "``l``" @@ -384,13 +381,13 @@ msgid "``L``" msgstr "``L``" msgid ":c:expr:`unsigned long`" -msgstr "" +msgstr ":c:expr:`unsigned long`" msgid "``q``" msgstr "``q``" msgid ":c:expr:`long long`" -msgstr "" +msgstr ":c:expr:`long long`" msgid "8" msgstr "8" @@ -419,14 +416,14 @@ msgstr ":c:type:`size_t`" msgid "``e``" msgstr "``e``" -msgid "\\(6)" +msgid ":c:expr:`_Float16`" msgstr "" msgid "float" msgstr "typ (float) zmiennoprzecinkowy pojedynczej precyzji" -msgid "\\(4)" -msgstr "\\(4)" +msgid "\\(4), \\(6)" +msgstr "" msgid "``f``" msgstr "``f``" @@ -434,6 +431,9 @@ msgstr "``f``" msgid ":c:expr:`float`" msgstr ":c:expr:`float`" +msgid "\\(4)" +msgstr "\\(4)" + msgid "``d``" msgstr "``d``" @@ -441,10 +441,10 @@ msgid ":c:expr:`double`" msgstr ":c:expr:`double`" msgid "``F``" -msgstr "" +msgstr "``F``" msgid ":c:expr:`float complex`" -msgstr "" +msgstr ":c:expr:`float complex`" msgid "complex" msgstr "" @@ -453,13 +453,13 @@ msgid "\\(10)" msgstr "" msgid "``D``" -msgstr "" +msgstr "``D``" msgid ":c:expr:`double complex`" -msgstr "" +msgstr ":c:expr:`double complex`" msgid "16" -msgstr "" +msgstr "16" msgid "``s``" msgstr "``s``" @@ -471,19 +471,19 @@ msgid "bytes" msgstr "" msgid "\\(9)" -msgstr "" +msgstr "\\(9)" msgid "``p``" msgstr "``p``" msgid "\\(8)" -msgstr "" +msgstr "\\(8)" msgid "``P``" msgstr "``P``" msgid ":c:expr:`void \\*`" -msgstr "" +msgstr ":c:expr:`void \\*`" msgid "\\(5)" msgstr "\\(5)" @@ -497,6 +497,13 @@ msgstr "" msgid "Added support for the ``'F'`` and ``'D'`` formats." msgstr "" +msgid "" +"The :mod:`array` and :ref:`ctypes ` modules, " +"as well as third-party modules like `numpy `__, use similar " +"-- but slightly different -- type codes." +msgstr "" + msgid "" "The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined " "by C standards since C99. In standard mode, it is represented by one byte." @@ -538,10 +545,12 @@ msgid "" "revision of the `IEEE 754 standard `_. It has a sign " "bit, a 5-bit exponent and 11-bit precision (with 10 bits explicitly stored), " "and can represent numbers between approximately ``6.1e-05`` and ``6.5e+04`` " -"at full precision. This type is not widely supported by C compilers: on a " -"typical machine, an unsigned short can be used for storage, but not for math " -"operations. See the Wikipedia page on the `half-precision floating-point " -"format `_ for more information." +"at full precision. This type is not widely supported by C compilers: it's " +"available as :c:expr:`_Float16` type, if the compiler supports the Annex H " +"of the C23 standard. On a typical machine, an unsigned short can be used " +"for storage, but not for math operations. See the Wikipedia page on the " +"`half-precision floating-point format `_ for more " +"information." msgstr "" msgid "When packing, ``'x'`` inserts one NUL byte." @@ -731,7 +740,7 @@ msgid "Applications" msgstr "" msgid "" -"Two main applications for the :mod:`struct` module exist, data interchange " +"Two main applications for the :mod:`!struct` module exist, data interchange " "between Python and C code within an application or another application " "compiled using the same compiler (:ref:`native formats`), and data interchange between applications using agreed upon data " @@ -841,7 +850,7 @@ msgstr "" msgid "Classes" msgstr "Klasy" -msgid "The :mod:`struct` module also defines the following type:" +msgid "The :mod:`!struct` module also defines the following type:" msgstr "" msgid "" diff --git a/library/subprocess.po b/library/subprocess.po index 0860d689d0..70e2d7b647 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!subprocess` --- Subprocess management" msgstr "" msgid "**Source code:** :source:`Lib/subprocess.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/subprocess.py`" msgid "" -"The :mod:`subprocess` module allows you to spawn new processes, connect to " +"The :mod:`!subprocess` module allows you to spawn new processes, connect to " "their input/output/error pipes, and obtain their return codes. This module " "intends to replace several older modules and functions::" msgstr "" @@ -43,7 +41,7 @@ msgid "" msgstr "" msgid "" -"Information about how the :mod:`subprocess` module can be used to replace " +"Information about how the :mod:`!subprocess` module can be used to replace " "these modules and functions can be found in the following sections." msgstr "" @@ -58,7 +56,7 @@ msgid "" "availability>` or :ref:`WebAssembly platforms `." msgstr "" -msgid "Using the :mod:`subprocess` Module" +msgid "Using the :mod:`!subprocess` Module" msgstr "" msgid "" @@ -704,7 +702,7 @@ msgstr "" msgid "" "If specified, *env* must provide any variables required for the program to " "execute. On Windows, in order to run a `side-by-side assembly`_ the " -"specified *env* **must** include a valid :envvar:`SystemRoot`." +"specified *env* **must** include a valid ``%SystemRoot%``." msgstr "" msgid "" @@ -939,7 +937,9 @@ msgstr "" msgid "" "If the process does not terminate after *timeout* seconds, a :exc:" "`TimeoutExpired` exception will be raised. Catching this exception and " -"retrying communication will not lose any output." +"retrying communication will not lose any output. Supplying *input* to a " +"subsequent post-timeout :meth:`communicate` call is in undefined behavior " +"and may become an error in the future." msgstr "" msgid "" @@ -957,6 +957,13 @@ msgid "" " outs, errs = proc.communicate()" msgstr "" +msgid "" +"After a call to :meth:`~Popen.communicate` raises :exc:`TimeoutExpired`, do " +"not call :meth:`~Popen.wait`. Use an additional :meth:`~Popen.communicate` " +"call to finish handling pipes and populate the :attr:`~Popen.returncode` " +"attribute." +msgstr "" + msgid "" "The data read is buffered in memory, so do not use this method if the data " "size is large or unlimited." @@ -1047,6 +1054,13 @@ msgid "" "time of the last method call." msgstr "" +msgid "" +"When ``shell=True``, the return code reflects the exit status of the shell " +"itself (e.g. ``/bin/sh``), which may map signals to codes such as ``128+N``. " +"See the documentation of the shell (for example, the Bash manual's Exit " +"Status) for details." +msgstr "" + msgid "Windows Popen Helpers" msgstr "" @@ -1142,7 +1156,7 @@ msgstr "" msgid "Windows Constants" msgstr "" -msgid "The :mod:`subprocess` module exposes the following constants." +msgid "The :mod:`!subprocess` module exposes the following constants." msgstr "" msgid "" @@ -1360,7 +1374,7 @@ msgstr "" msgid "*encoding* and *errors* were added. See :func:`run` for details." msgstr "" -msgid "Replacing Older Functions with the :mod:`subprocess` Module" +msgid "Replacing Older Functions with the :mod:`!subprocess` Module" msgstr "" msgid "" @@ -1383,7 +1397,7 @@ msgstr "" msgid "" "In the following examples, we assume that the relevant functions have " -"already been imported from the :mod:`subprocess` module." +"already been imported from the :mod:`!subprocess` module." msgstr "" msgid "Replacing :program:`/bin/sh` shell command substitution" @@ -1447,7 +1461,7 @@ msgstr "" msgid "" "The :func:`os.system` function ignores SIGINT and SIGQUIT signals while the " "command is running, but the caller must do this separately when using the :" -"mod:`subprocess` module." +"mod:`!subprocess` module." msgstr "" msgid "A more realistic example would look like this::" @@ -1547,10 +1561,9 @@ msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." msgstr "" msgid "" -"Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " -"return a 2-tuple ``(exitcode, output)``. *encoding* and *errors* are used to " -"decode output; see the notes on :ref:`frequently-used-arguments` for more " -"details." +"Execute the string *cmd* in a shell with :func:`check_output` and return a 2-" +"tuple ``(exitcode, output)``. *encoding* and *errors* are used to decode " +"output; see the notes on :ref:`frequently-used-arguments` for more details." msgstr "" msgid "" @@ -1668,7 +1681,7 @@ msgid "Disable use of ``posix_spawn()``" msgstr "" msgid "" -"On Linux, :mod:`subprocess` defaults to using the ``vfork()`` system call " +"On Linux, :mod:`!subprocess` defaults to using the ``vfork()`` system call " "internally when it is safe to do so rather than ``fork()``. This greatly " "improves performance." msgstr "" @@ -1690,7 +1703,7 @@ msgid "" msgstr "" msgid "``_USE_POSIX_SPAWN``" -msgstr "" +msgstr "``_USE_POSIX_SPAWN``" msgid "universal newlines" msgstr "uniwersalne nowe linie" diff --git a/library/symtable.po b/library/symtable.po index f719f10f99..b4ba30e454 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stefan Ocetkiewicz , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,12 +27,12 @@ msgid ":mod:`!symtable` --- Access to the compiler's symbol tables" msgstr "" msgid "**Source code:** :source:`Lib/symtable.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/symtable.py`" msgid "" "Symbol tables are generated by the compiler from AST just before bytecode is " "generated. The symbol table is responsible for calculating the scope of " -"every identifier in the code. :mod:`symtable` provides an interface to " +"every identifier in the code. :mod:`!symtable` provides an interface to " "examine these tables." msgstr "" @@ -334,7 +332,8 @@ msgid "Command-Line Usage" msgstr "" msgid "" -"The :mod:`symtable` module can be executed as a script from the command line." +"The :mod:`!symtable` module can be executed as a script from the command " +"line." msgstr "" msgid "python -m symtable [infile...]" diff --git a/library/sys.monitoring.po b/library/sys.monitoring.po index 7b2c162663..f4fec2a688 100644 --- a/library/sys.monitoring.po +++ b/library/sys.monitoring.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2023-09-08 14:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!sys.monitoring` --- Execution event monitoring" msgstr "" msgid "" -":mod:`sys.monitoring` is a namespace within the :mod:`sys` module, not an " +":mod:`!sys.monitoring` is a namespace within the :mod:`sys` module, not an " "independent module, so there is no need to ``import sys.monitoring``, simply " "``import sys`` and then use ``sys.monitoring``." msgstr "" @@ -39,7 +39,7 @@ msgstr "" msgid "" "As programs execute, events occur that might be of interest to tools that " -"monitor execution. The :mod:`sys.monitoring` namespace provides means to " +"monitor execution. The :mod:`!sys.monitoring` namespace provides means to " "receive callbacks when events of interest occur." msgstr "" @@ -167,7 +167,10 @@ msgstr "" msgid "A Python function is resumed by a ``throw()`` call." msgstr "" -msgid "Exit from a Python function during exception unwinding." +msgid "" +"Exit from a Python function during exception unwinding. This includes " +"exceptions raised directly within the function and that are allowed to " +"continue to propagate." msgstr "" msgid "" @@ -211,7 +214,7 @@ msgstr "" "if get_events(DEBUGGER_ID) == NO_EVENTS:\n" " ..." -msgid "Events are divided into three groups:" +msgid "Setting this event deactivates all events." msgstr "" msgid "Local events" @@ -248,10 +251,10 @@ msgid ":monitoring-event:`JUMP`" msgstr ":monitoring-event:`JUMP`" msgid ":monitoring-event:`BRANCH_LEFT`" -msgstr "" +msgstr ":monitoring-event:`BRANCH_LEFT`" msgid ":monitoring-event:`BRANCH_RIGHT`" -msgstr "" +msgstr ":monitoring-event:`BRANCH_RIGHT`" msgid ":monitoring-event:`STOP_ITERATION`" msgstr ":monitoring-event:`STOP_ITERATION`" @@ -260,7 +263,7 @@ msgid "Deprecated event" msgstr "" msgid "``BRANCH``" -msgstr "" +msgstr "``BRANCH``" msgid "" "The ``BRANCH`` event is deprecated in 3.14. Using :monitoring-event:" @@ -294,7 +297,7 @@ msgstr "" msgid "" "Other events are not necessarily tied to a specific location in the program " -"and cannot be individually disabled." +"and cannot be individually disabled via :data:`DISABLE`." msgstr "" msgid "The other events that can be monitored are:" @@ -344,7 +347,8 @@ msgstr "" msgid "" "In order to monitor an event, it must be turned on and a corresponding " "callback must be registered. Events can be turned on or off by setting the " -"events either globally or for a particular code object." +"events either globally and/or for a particular code object. An event will " +"trigger only once, even if it is turned on both globally and locally." msgstr "" msgid "Setting events globally" @@ -376,17 +380,13 @@ msgid "" "(see :ref:`c-api-monitoring`)." msgstr "" -msgid "Returns all the local events for *code*" -msgstr "" - -msgid "" -"Activates all the local events for *code* which are set in *event_set*. " -"Raises a :exc:`ValueError` if *tool_id* is not in use." +msgid "Returns all the :ref:`local events ` for *code*" msgstr "" msgid "" -"Local events add to global events, but do not mask them. In other words, all " -"global events will trigger for a code object, regardless of the local events." +"Activates all the :ref:`local events ` for *code* " +"which are set in *event_set*. Raises a :exc:`ValueError` if *tool_id* is not " +"in use." msgstr "" msgid "Disabling events" @@ -398,9 +398,10 @@ msgid "" msgstr "" msgid "" -"Local events can be disabled for a specific code location by returning :data:" -"`sys.monitoring.DISABLE` from a callback function. This does not change " -"which events are set, or any other code locations for the same event." +":ref:`Local events ` can be disabled for a specific " +"code location by returning :data:`sys.monitoring.DISABLE` from a callback " +"function. This does not change which events are set, or any other code " +"locations for the same event." msgstr "" msgid "" @@ -410,6 +411,13 @@ msgid "" "breakpoints." msgstr "" +msgid "" +"If :data:`DISABLE` is returned by a callback for a :ref:`global event " +"`, :exc:`ValueError` will be raised by the " +"interpreter in a non-specific location (that is, no traceback will be " +"provided)." +msgstr "" + msgid "" "Enable all the events that were disabled by :data:`sys.monitoring.DISABLE` " "for all tools." @@ -418,9 +426,6 @@ msgstr "" msgid "Registering callback functions" msgstr "" -msgid "To register a callable for events call" -msgstr "" - msgid "Registers the callable *func* for the *event* with the given *tool_id*" msgstr "" @@ -430,6 +435,11 @@ msgid "" "``None``." msgstr "" +msgid "" +"Raises an :ref:`auditing event ` ``sys.monitoring." +"register_callback`` with argument ``func``." +msgstr "" + msgid "" "Functions can be unregistered by calling ``sys.monitoring." "register_callback(tool_id, event, None)``." @@ -439,8 +449,10 @@ msgid "Callback functions can be registered and unregistered at any time." msgstr "" msgid "" -"Registering or unregistering a callback function will generate a :func:`sys." -"audit` event." +"Callbacks are called only once regardless if the event is turned on both " +"globally and locally. As such, if an event could be turned on for both " +"global and local events by your code then the callback needs to be written " +"to handle either trigger." msgstr "" msgid "Callback function arguments" @@ -453,36 +465,44 @@ msgstr "" msgid "" "When an active event occurs, the registered callback function is called. " -"Different events will provide the callback function with different " -"arguments, as follows:" +"Callback functions returning an object other than :data:`DISABLE` will have " +"no effect. Different events will provide the callback function with " +"different arguments, as follows:" msgstr "" msgid ":monitoring-event:`PY_START` and :monitoring-event:`PY_RESUME`::" msgstr "" -msgid "func(code: CodeType, instruction_offset: int) -> DISABLE | Any" +msgid "func(code: CodeType, instruction_offset: int) -> object" msgstr "" msgid ":monitoring-event:`PY_RETURN` and :monitoring-event:`PY_YIELD`::" msgstr "" -msgid "" -"func(code: CodeType, instruction_offset: int, retval: object) -> DISABLE | " -"Any" +msgid "func(code: CodeType, instruction_offset: int, retval: object) -> object" msgstr "" msgid "" ":monitoring-event:`CALL`, :monitoring-event:`C_RAISE` and :monitoring-event:" -"`C_RETURN`::" +"`C_RETURN` (*arg0* can be :data:`MISSING` specifically)::" +msgstr "" + +msgid "" +"func(code: CodeType, instruction_offset: int, callable: object, arg0: " +"object) -> object" msgstr "" msgid "" -"func(code: CodeType, instruction_offset: int, callable: object, arg0: object " -"| MISSING) -> DISABLE | Any" +"*code* represents the code object where the call is being made, while " +"*callable* is the object that is about to be called (and thus triggered the " +"event). If there are no arguments, *arg0* is set to :data:`sys.monitoring." +"MISSING`." msgstr "" msgid "" -"If there are no arguments, *arg0* is set to :data:`sys.monitoring.MISSING`." +"For instance methods, *callable* will be the function object as found on the " +"class with *arg0* set to the instance (i.e. the ``self`` argument to the " +"method)." msgstr "" msgid "" @@ -493,13 +513,13 @@ msgstr "" msgid "" "func(code: CodeType, instruction_offset: int, exception: BaseException) -> " -"DISABLE | Any" +"object" msgstr "" msgid ":monitoring-event:`LINE`::" msgstr ":monitoring-event:`LINE`::" -msgid "func(code: CodeType, line_number: int) -> DISABLE | Any" +msgid "func(code: CodeType, line_number: int) -> object" msgstr "" msgid "" @@ -509,7 +529,7 @@ msgstr "" msgid "" "func(code: CodeType, instruction_offset: int, destination_offset: int) -> " -"DISABLE | Any" +"object" msgstr "" msgid "Note that the *destination_offset* is where the code will next execute." diff --git a/library/sys.po b/library/sys.po index c7d3033a7b..e6e0bdc0b6 100644 --- a/library/sys.po +++ b/library/sys.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -544,7 +540,7 @@ msgid "" "be in the range 0--127, and produce undefined results otherwise. Some " "systems have a convention for assigning specific meanings to specific exit " "codes, but these are generally underdeveloped; Unix programs generally use 2 " -"for command line syntax errors and 1 for all other kind of errors. If " +"for command line syntax errors and 1 for all other kinds of errors. If " "another type of object is passed, ``None`` is equivalent to passing zero, " "and any other object is printed to :data:`stderr` and results in an exit " "code of 1. In particular, ``sys.exit(\"some error message\")`` is a quick " @@ -1087,19 +1083,19 @@ msgid "Meaning" msgstr "Znaczenie" msgid "``1`` (VER_NT_WORKSTATION)" -msgstr "" +msgstr "``1`` (VER_NT_WORKSTATION)" msgid "The system is a workstation." msgstr "" msgid "``2`` (VER_NT_DOMAIN_CONTROLLER)" -msgstr "" +msgstr "``2`` (VER_NT_DOMAIN_CONTROLLER)" msgid "The system is a domain controller." msgstr "" msgid "``3`` (VER_NT_SERVER)" -msgstr "" +msgstr "``3`` (VER_NT_SERVER)" msgid "The system is a server, but not a domain controller." msgstr "" @@ -1187,7 +1183,10 @@ msgstr "" msgid "The size of the seed key of the hash algorithm" msgstr "" -msgid "Added *algorithm*, *hash_bits* and *seed_bits*" +msgid "Cutoff for small string DJBX33A optimization in range ``[1, cutoff)``." +msgstr "" + +msgid "Added *algorithm*, *hash_bits*, *seed_bits*, and *cutoff*." msgstr "" msgid "" @@ -1252,6 +1251,16 @@ msgid "" "set to ``None``, it indicates that module caching should be disabled." msgstr "" +msgid "" +"*supports_isolated_interpreters* is a boolean value, whether this " +"implementation supports multiple isolated interpreters. It is ``True`` for " +"CPython on most platforms. Platforms with this support implement the low-" +"level :mod:`!_interpreters` module." +msgstr "" + +msgid ":pep:`684`, :pep:`734`, and :mod:`concurrent.interpreters`." +msgstr "" + msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " @@ -1261,6 +1270,9 @@ msgid "" "versions, however.) See :pep:`421` for more information." msgstr "" +msgid "Added ``supports_isolated_interpreters`` field." +msgstr "" + msgid "" "The addition of new required attributes must go through the normal PEP " "process. See :pep:`421` for more information." @@ -1588,13 +1600,13 @@ msgid "Emscripten" msgstr "" msgid "``'emscripten'``" -msgstr "" +msgstr "``'emscripten'``" msgid "FreeBSD" msgstr "" msgid "``'freebsd'``" -msgstr "" +msgstr "``'freebsd'``" msgid "iOS" msgstr "" @@ -1609,7 +1621,7 @@ msgid "``'linux'``" msgstr "``'linux'``" msgid "macOS" -msgstr "" +msgstr "macOS" msgid "``'darwin'``" msgstr "" @@ -1624,7 +1636,7 @@ msgid "Windows/Cygwin" msgstr "" msgid "``'cygwin'``" -msgstr "" +msgstr "``'cygwin'``" msgid "WASI" msgstr "" @@ -1862,9 +1874,9 @@ msgstr "" msgid "" "Trace functions should have three arguments: *frame*, *event*, and *arg*. " -"*frame* is the current stack frame. *event* is a string: ``'call'``, " -"``'line'``, ``'return'``, ``'exception'`` or ``'opcode'``. *arg* depends on " -"the event type." +"*frame* is the :ref:`current stack frame `. *event* is a " +"string: ``'call'``, ``'line'``, ``'return'``, ``'exception'`` or " +"``'opcode'``. *arg* depends on the event type." msgstr "" msgid "" @@ -2062,6 +2074,28 @@ msgid "" "local and remote interpreters must be the same exact version." msgstr "" +msgid "" +"See :ref:`remote-debugging` for more information about the remote debugging " +"mechanism." +msgstr "" + +msgid "" +"When the code is executed in the remote process, an :ref:`auditing event " +"` ``sys.remote_exec`` is raised with the *pid* and the path to the " +"script file. This event is raised in the process that called :func:`sys." +"remote_exec`." +msgstr "" + +msgid "" +"When the script is executed in the remote process, an :ref:`auditing event " +"` ``cpython.remote_debugger_script`` is raised with the path in " +"the remote process. This event is raised in the remote process, not the one " +"that called :func:`sys.remote_exec`." +msgstr "" + +msgid "See :pep:`768` for more details." +msgstr "" + msgid "" "Changes the :term:`filesystem encoding and error handler` to 'mbcs' and " "'replace' respectively, for consistency with versions of Python prior to 3.6." @@ -2323,8 +2357,13 @@ msgid "" msgstr "" msgid "" -"The C API version for this interpreter. Programmers may find this useful " -"when debugging version conflicts between Python and extension modules." +"The C API version, equivalent to the C macro :c:macro:`PYTHON_API_VERSION`. " +"Defined for backwards compatibility." +msgstr "" + +msgid "" +"Currently, this constant is not updated in new Python versions, and is not " +"useful for versioning. This may change in the future." msgstr "" msgid "" @@ -2350,7 +2389,7 @@ msgid "" "The version number used to form registry keys on Windows platforms. This is " "stored as string resource 1000 in the Python DLL. The value is normally the " "major and minor versions of the running Python interpreter. It is provided " -"in the :mod:`sys` module for informational purposes; modifying this value " +"in the :mod:`!sys` module for informational purposes; modifying this value " "has no effect on the registry keys used by Python." msgstr "" diff --git a/library/sysconfig.po b/library/sysconfig.po index 4c74100fd1..19c663af0d 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +28,10 @@ msgid "" msgstr "" msgid "**Source code:** :source:`Lib/sysconfig`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/sysconfig`" msgid "" -"The :mod:`sysconfig` module provides access to Python's configuration " +"The :mod:`!sysconfig` module provides access to Python's configuration " "information like the list of installation paths and the configuration " "variables relevant for the current platform." msgstr "" @@ -46,7 +46,7 @@ msgid "" msgstr "" msgid "" -":mod:`sysconfig` puts all variables found in these files in a dictionary " +":mod:`!sysconfig` puts all variables found in these files in a dictionary " "that can be accessed using :func:`get_config_vars` or :func:`get_config_var`." msgstr "" @@ -92,8 +92,8 @@ msgstr "" msgid "" "Python uses an installation scheme that differs depending on the platform " -"and on the installation options. These schemes are stored in :mod:" -"`sysconfig` under unique identifiers based on the value returned by :const:" +"and on the installation options. These schemes are stored in :mod:`!" +"sysconfig` under unique identifiers based on the value returned by :const:" "`os.name`. The schemes are used by package installers to determine where to " "copy files to." msgstr "" @@ -365,13 +365,13 @@ msgid "Installation path functions" msgstr "" msgid "" -":mod:`sysconfig` provides some functions to determine these installation " +":mod:`!sysconfig` provides some functions to determine these installation " "paths." msgstr "" msgid "" -"Return a tuple containing all schemes currently supported in :mod:" -"`sysconfig`." +"Return a tuple containing all schemes currently supported in :mod:`!" +"sysconfig`." msgstr "" msgid "Return the default scheme name for the current platform." @@ -395,7 +395,7 @@ msgstr "" msgid "" "The return value is a scheme name listed in :func:`get_scheme_names`. It can " -"be passed to :mod:`sysconfig` functions that take a *scheme* argument, such " +"be passed to :mod:`!sysconfig` functions that take a *scheme* argument, such " "as :func:`get_paths`." msgstr "" @@ -419,8 +419,8 @@ msgid "" msgstr "" msgid "" -"Return a tuple containing all path names currently supported in :mod:" -"`sysconfig`." +"Return a tuple containing all path names currently supported in :mod:`!" +"sysconfig`." msgstr "" msgid "" @@ -433,7 +433,7 @@ msgid "" msgstr "" msgid "" -":mod:`sysconfig` stores installation paths corresponding to each path name, " +":mod:`!sysconfig` stores installation paths corresponding to each path name, " "for each platform, with variables to be expanded. For instance the *stdlib* " "path for the *nt* scheme is: ``{base}/Lib``." msgstr "" @@ -508,16 +508,7 @@ msgstr "" msgid "Examples of returned values:" msgstr "" -msgid "linux-i586" -msgstr "" - -msgid "linux-alpha (?)" -msgstr "" - -msgid "solaris-2.6-sun4u" -msgstr "" - -msgid "Windows will return one of:" +msgid "Windows:" msgstr "" msgid "win-amd64 (64-bit Windows on AMD64, aka x86_64, Intel64, and EM64T)" @@ -529,19 +520,19 @@ msgstr "" msgid "win32 (all others - specifically, sys.platform is returned)" msgstr "" -msgid "macOS can return:" +msgid "POSIX based OS:" msgstr "" -msgid "macosx-10.6-ppc" +msgid "linux-x86_64" msgstr "" -msgid "macosx-10.4-ppc64" +msgid "macosx-15.5-arm64" msgstr "" -msgid "macosx-10.3-i386" +msgid "macosx-26.0-universal2 (macOS on Apple Silicon or Intel)" msgstr "" -msgid "macosx-10.4-fat" +msgid "android-24-arm64_v8a" msgstr "" msgid "" @@ -576,7 +567,7 @@ msgstr "" msgid "Command-line usage" msgstr "" -msgid "You can use :mod:`sysconfig` as a script with Python's *-m* option:" +msgid "You can use :mod:`!sysconfig` as a script with Python's *-m* option:" msgstr "" msgid "" diff --git a/library/syslog.po b/library/syslog.po index 1257835605..ea37e711f3 100644 --- a/library/syslog.po +++ b/library/syslog.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/tarfile.po b/library/tarfile.po index 7d8b4d402f..c58fec7de2 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!tarfile` --- Read and write tar archive files" msgstr "" msgid "**Source code:** :source:`Lib/tarfile.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tarfile.py`" msgid "" -"The :mod:`tarfile` module makes it possible to read and write tar archives, " +"The :mod:`!tarfile` module makes it possible to read and write tar archives, " "including those using gzip, bz2 and lzma compression. Use the :mod:`zipfile` " "module to read or write :file:`.zip` files, or the higher-level functions " "in :ref:`shutil `." @@ -42,8 +40,15 @@ msgid "Some facts and figures:" msgstr "" msgid "" -"reads and writes :mod:`gzip`, :mod:`bz2` and :mod:`lzma` compressed archives " -"if the respective modules are available." +"reads and writes :mod:`gzip`, :mod:`bz2`, :mod:`compression.zstd`, and :mod:" +"`lzma` compressed archives if the respective modules are available." +msgstr "" + +msgid "" +"If any of these :term:`optional modules ` are missing from " +"your copy of CPython, look for documentation from your distributor (that is, " +"whoever provided Python to you). If you are the distributor, see :ref:" +"`optional-module-requirements`." msgstr "" msgid "read/write support for the POSIX.1-1988 (ustar) format." @@ -80,6 +85,9 @@ msgid "" "to :func:`fully_trusted `." msgstr "" +msgid "Added support for Zstandard compression using :mod:`compression.zstd`." +msgstr "" + msgid "" "Return a :class:`TarFile` object for the pathname *name*. For detailed " "information on :class:`TarFile` objects and the keyword arguments that are " @@ -97,7 +105,7 @@ msgstr "" msgid "action" msgstr "" -msgid "``'r' or 'r:*'``" +msgid "``'r'`` or ``'r:*'``" msgstr "" msgid "Open for reading with transparent compression (recommended)." @@ -127,9 +135,15 @@ msgstr "``'r:xz'``" msgid "Open for reading with lzma compression." msgstr "" -msgid "``'x'`` or ``'x:'``" +msgid "``'r:zst'``" +msgstr "" + +msgid "Open for reading with Zstandard compression." msgstr "" +msgid "``'x'`` or ``'x:'``" +msgstr "``'x'`` or ``'x:'``" + msgid "" "Create a tarfile exclusively without compression. Raise a :exc:" "`FileExistsError` exception if it already exists." @@ -159,7 +173,15 @@ msgid "" "exception if it already exists." msgstr "" -msgid "``'a' or 'a:'``" +msgid "``'x:zst'``" +msgstr "" + +msgid "" +"Create a tarfile with Zstandard compression. Raise a :exc:`FileExistsError` " +"exception if it already exists." +msgstr "" + +msgid "``'a'`` or ``'a:'``" msgstr "" msgid "" @@ -167,7 +189,7 @@ msgid "" "exist." msgstr "" -msgid "``'w' or 'w:'``" +msgid "``'w'`` or ``'w:'``" msgstr "" msgid "Open for uncompressed writing." @@ -191,6 +213,12 @@ msgstr "``'w:xz'``" msgid "Open for lzma compressed writing." msgstr "" +msgid "``'w:zst'``" +msgstr "" + +msgid "Open for Zstandard compressed writing." +msgstr "" + msgid "" "Note that ``'a:gz'``, ``'a:bz2'`` or ``'a:xz'`` is not possible. If *mode* " "is not suitable to open a certain (compressed) file for reading, :exc:" @@ -215,6 +243,16 @@ msgid "" "the file." msgstr "" +msgid "" +"For modes ``'w:zst'``, ``'x:zst'`` and ``'w|zst'``, :func:`tarfile.open` " +"accepts the keyword argument *level* to specify the compression level of the " +"file. The keyword argument *options* may also be passed, providing advanced " +"Zstandard compression parameters described by :class:`~compression.zstd." +"CompressionParameter`. The keyword argument *zstd_dict* can be passed to " +"provide a :class:`~compression.zstd.ZstdDict`, a Zstandard dictionary used " +"to improve compression of smaller amounts of data." +msgstr "" + msgid "" "For special purposes, there is a second format for *mode*: ``'filemode|" "[compression]'``. :func:`tarfile.open` will return a :class:`TarFile` " @@ -264,6 +302,12 @@ msgstr "``'r|xz'``" msgid "Open an lzma compressed *stream* for reading." msgstr "" +msgid "``'r|zst'``" +msgstr "" + +msgid "Open a Zstandard compressed *stream* for reading." +msgstr "" + msgid "``'w|'``" msgstr "``'w|'``" @@ -288,6 +332,12 @@ msgstr "``'w|xz'``" msgid "Open an lzma compressed *stream* for writing." msgstr "" +msgid "``'w|zst'``" +msgstr "" + +msgid "Open a Zstandard compressed *stream* for writing." +msgstr "" + msgid "The ``'x'`` (exclusive creation) mode was added." msgstr "" @@ -306,23 +356,23 @@ msgid "" msgstr "" msgid "" -"Return :const:`True` if *name* is a tar archive file, that the :mod:" -"`tarfile` module can read. *name* may be a :class:`str`, file, or file-like " +"Return :const:`True` if *name* is a tar archive file, that the :mod:`!" +"tarfile` module can read. *name* may be a :class:`str`, file, or file-like " "object." msgstr "" msgid "Support for file and file-like objects." msgstr "" -msgid "The :mod:`tarfile` module defines the following exceptions:" +msgid "The :mod:`!tarfile` module defines the following exceptions:" msgstr "" -msgid "Base class for all :mod:`tarfile` exceptions." +msgid "Base class for all :mod:`!tarfile` exceptions." msgstr "" msgid "" "Is raised when a tar archive is opened, that either cannot be handled by " -"the :mod:`tarfile` module or is somehow invalid." +"the :mod:`!tarfile` module or is somehow invalid." msgstr "" msgid "" @@ -369,6 +419,13 @@ msgid "" "directory." msgstr "" +msgid "" +"Raised to refuse emulating a link (hard or symbolic) by extracting another " +"archive member, when that member would be rejected by the filter location. " +"The exception that was raised to reject the replacement member is available " +"as :attr:`!BaseException.__context__`." +msgstr "" + msgid "The following constants are available at the module level:" msgstr "" @@ -411,8 +468,8 @@ msgid "A GNU tar sparse file :attr:`~TarInfo.type`." msgstr "" msgid "" -"Each of the following constants defines a tar archive format that the :mod:" -"`tarfile` module is able to create. See section :ref:`tar-formats` for " +"Each of the following constants defines a tar archive format that the :mod:`!" +"tarfile` module is able to create. See section :ref:`tar-formats` for " "details." msgstr "" @@ -1124,6 +1181,13 @@ msgid "" "Implements the ``'data'`` filter. In addition to what ``tar_filter`` does:" msgstr "" +msgid "" +"Normalize link targets (:attr:`TarInfo.linkname`) using :func:`os.path." +"normpath`. Note that this removes internal ``..`` components, which may " +"change the meaning of the link if the path in :attr:`!TarInfo.linkname` " +"traverses symbolic links." +msgstr "" + msgid "" ":ref:`Refuse ` to extract links (hard or soft) " "that link to absolute paths, or ones that link outside the destination." @@ -1172,6 +1236,9 @@ msgid "" "ref:`tarfile-further-verification` for details." msgstr "" +msgid "Link targets are now normalized." +msgstr "" + msgid "Filter errors" msgstr "" @@ -1202,6 +1269,9 @@ msgid "" "failed extraction." msgstr "" +msgid "Disallow symbolic links if you do not need the functionality." +msgstr "" + msgid "" "When working with untrusted data, use external (e.g. OS-level) limits on " "disk, memory and CPU usage." @@ -1339,7 +1409,7 @@ msgid "Command-Line Interface" msgstr "" msgid "" -"The :mod:`tarfile` module provides a simple command-line interface to " +"The :mod:`!tarfile` module provides a simple command-line interface to " "interact with tar archives." msgstr "" @@ -1407,6 +1477,9 @@ msgstr "" msgid "Examples" msgstr "Przykłady" +msgid "Reading examples" +msgstr "" + msgid "How to extract an entire tar archive to the current working directory::" msgstr "" @@ -1436,6 +1509,29 @@ msgid "" "tar.close()" msgstr "" +msgid "" +"How to read a gzip compressed tar archive and display some member " +"information::" +msgstr "" + +msgid "" +"import tarfile\n" +"tar = tarfile.open(\"sample.tar.gz\", \"r:gz\")\n" +"for tarinfo in tar:\n" +" print(tarinfo.name, \"is\", tarinfo.size, \"bytes in size and is \", " +"end=\"\")\n" +" if tarinfo.isreg():\n" +" print(\"a regular file.\")\n" +" elif tarinfo.isdir():\n" +" print(\"a directory.\")\n" +" else:\n" +" print(\"something else.\")\n" +"tar.close()" +msgstr "" + +msgid "Writing examples" +msgstr "" + msgid "How to create an uncompressed tar archive from a list of filenames::" msgstr "" @@ -1458,23 +1554,17 @@ msgid "" msgstr "" msgid "" -"How to read a gzip compressed tar archive and display some member " -"information::" +"How to create and write an archive to stdout using :data:`sys.stdout.buffer " +"` in the *fileobj* parameter in :meth:`TarFile.add`::" msgstr "" msgid "" +"import sys\n" "import tarfile\n" -"tar = tarfile.open(\"sample.tar.gz\", \"r:gz\")\n" -"for tarinfo in tar:\n" -" print(tarinfo.name, \"is\", tarinfo.size, \"bytes in size and is \", " -"end=\"\")\n" -" if tarinfo.isreg():\n" -" print(\"a regular file.\")\n" -" elif tarinfo.isdir():\n" -" print(\"a directory.\")\n" -" else:\n" -" print(\"something else.\")\n" -"tar.close()" +"with tarfile.open(\"sample.tar.gz\", \"w|gz\", fileobj=sys.stdout.buffer) as " +"tar:\n" +" for name in [\"foo\", \"bar\", \"quux\"]:\n" +" tar.add(name)" msgstr "" msgid "" @@ -1497,7 +1587,7 @@ msgid "Supported tar formats" msgstr "" msgid "" -"There are three tar formats that can be created with the :mod:`tarfile` " +"There are three tar formats that can be created with the :mod:`!tarfile` " "module:" msgstr "" @@ -1511,7 +1601,7 @@ msgstr "" msgid "" "The GNU tar format (:const:`GNU_FORMAT`). It supports long filenames and " "linknames, files bigger than 8 GiB and sparse files. It is the de facto " -"standard on GNU/Linux systems. :mod:`tarfile` fully supports the GNU tar " +"standard on GNU/Linux systems. :mod:`!tarfile` fully supports the GNU tar " "extensions for long names, sparse file support is read-only." msgstr "" @@ -1569,7 +1659,7 @@ msgid "" msgstr "" msgid "" -"The details of character conversion in :mod:`tarfile` are controlled by the " +"The details of character conversion in :mod:`!tarfile` are controlled by the " "*encoding* and *errors* keyword arguments of the :class:`TarFile` class." msgstr "" diff --git a/library/tempfile.po b/library/tempfile.po index 16a7b5ebb3..7efa0b1408 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!tempfile` --- Generate temporary files and directories" msgstr "" msgid "**Source code:** :source:`Lib/tempfile.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tempfile.py`" msgid "" "This module creates temporary files and directories. It works on all " @@ -280,8 +279,12 @@ msgid "" "implements the :const:`os.O_EXCL` flag for :func:`os.open`. The file is " "readable and writable only by the creating user ID. If the platform uses " "permission bits to indicate whether a file is executable, the file is " -"executable by no one. The file descriptor is not inherited by child " -"processes." +"executable by no one." +msgstr "" + +msgid "" +"The file descriptor is :ref:`not inherited by child processes " +"`." msgstr "" msgid "" @@ -453,7 +456,8 @@ msgstr "" msgid "Examples" msgstr "Przykłady" -msgid "Here are some examples of typical usage of the :mod:`tempfile` module::" +msgid "" +"Here are some examples of typical usage of the :mod:`!tempfile` module::" msgstr "" msgid "" diff --git a/library/termios.po b/library/termios.po index e9be386259..11d65743e4 100644 --- a/library/termios.po +++ b/library/termios.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,7 +59,7 @@ msgid "" "items with indices :const:`VMIN` and :const:`VTIME`, which are integers when " "these fields are defined). The interpretation of the flags and the speeds " "as well as the indexing in the *cc* array must be done using the symbolic " -"constants defined in the :mod:`termios` module." +"constants defined in the :mod:`!termios` module." msgstr "" msgid "" diff --git a/library/text.po b/library/text.po index f84c5c814f..b59e88b1c8 100644 --- a/library/text.po +++ b/library/text.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/textwrap.po b/library/textwrap.po index f4e980755e..843698d9c5 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2024 -# Wiktor Matuszewski , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!textwrap` --- Text wrapping and filling" msgstr "" msgid "**Source code:** :source:`Lib/textwrap.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/textwrap.py`" msgid "" -"The :mod:`textwrap` module provides some convenience functions, as well as :" +"The :mod:`!textwrap` module provides some convenience functions, as well as :" "class:`TextWrapper`, the class that does all the work. If you're just " "wrapping or filling one or two text strings, the convenience functions " "should be good enough; otherwise, you should use an instance of :class:" @@ -128,6 +126,12 @@ msgid "" " print(repr(dedent(s))) # prints 'hello\\n world\\n'" msgstr "" +msgid "" +"The :func:`!dedent` function now correctly normalizes blank lines containing " +"only whitespace characters. Previously, the implementation only normalized " +"blank lines containing tabs and spaces." +msgstr "" + msgid "Add *prefix* to the beginning of selected lines in *text*." msgstr "" diff --git a/library/threading.po b/library/threading.po index 471a0811c8..ff300f10f4 100644 --- a/library/threading.po +++ b/library/threading.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 -# Seweryn Piórkowski , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Seweryn Piórkowski , 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!threading` --- Thread-based parallelism" msgstr "" msgid "**Source code:** :source:`Lib/threading.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/threading.py`" msgid "" "This module constructs higher-level threading interfaces on top of the lower " @@ -145,9 +143,9 @@ msgid "" msgstr "" msgid "" -"As of Python 3.13, experimental :term:`free-threaded ` " -"builds can disable the GIL, enabling true parallel execution of threads, but " -"this feature is not available by default (see :pep:`703`)." +"As of Python 3.13, :term:`free-threaded ` builds can disable " +"the GIL, enabling true parallel execution of threads, but this feature is " +"not available by default (see :pep:`703`)." msgstr "" msgid "Reference" @@ -741,9 +739,9 @@ msgid "" msgstr "" msgid "" -"If an attempt is made to join a running daemonic thread in in late stages " -"of :term:`Python finalization ` :meth:`!join` raises " -"a :exc:`PythonFinalizationError`." +"If an attempt is made to join a running daemonic thread in late stages of :" +"term:`Python finalization ` :meth:`!join` raises a :" +"exc:`PythonFinalizationError`." msgstr "" msgid "May raise :exc:`PythonFinalizationError`." diff --git a/library/time.po b/library/time.po index 96cf29a8d1..ed9a002ed6 100644 --- a/library/time.po +++ b/library/time.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2023 -# Waldemar Stoczkowski, 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -267,8 +264,8 @@ msgid "The result has the following attributes:" msgstr "" msgid "" -"*adjustable*: ``True`` if the clock can be changed automatically (e.g. by a " -"NTP daemon) or manually by the system administrator, ``False`` otherwise" +"*adjustable*: ``True`` if the clock can be set to jump forward or backward " +"in time, ``False`` otherwise. Does not refer to gradual NTP rate adjustments." msgstr "" msgid "" @@ -350,10 +347,12 @@ msgid "" "`float` type." msgstr "" -msgid "The function is now always available and always system-wide." +msgid "" +"The function is now always available and the clock is now the same for all " +"processes." msgstr "" -msgid "On macOS, the function is now system-wide." +msgid "On macOS, the clock is now the same for all processes." msgstr "" msgid "Similar to :func:`monotonic`, but return time as nanoseconds." @@ -362,9 +361,9 @@ msgstr "" msgid "" "Return the value (in fractional seconds) of a performance counter, i.e. a " "clock with the highest available resolution to measure a short duration. It " -"does include time elapsed during sleep and is system-wide. The reference " -"point of the returned value is undefined, so that only the difference " -"between the results of two calls is valid." +"does include time elapsed during sleep. The clock is the same for all " +"processes. The reference point of the returned value is undefined, so that " +"only the difference between the results of two calls is valid." msgstr "" msgid "" @@ -377,7 +376,7 @@ msgid "" "`float` type." msgstr "" -msgid "On Windows, the function is now system-wide." +msgid "On Windows, the clock is now the same for all processes." msgstr "" msgid "Use the same clock as :func:`time.monotonic`." @@ -425,10 +424,10 @@ msgid "" "On Windows, if *secs* is zero, the thread relinquishes the remainder of its " "time slice to any other thread that is ready to run. If there are no other " "threads ready to run, the function returns immediately, and the thread " -"continues execution. On Windows 8.1 and newer the implementation uses a " -"`high-resolution timer `_ which provides resolution of 100 " -"nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." +"continues execution. On Windows 10 and newer the implementation uses a " +"`high-resolution timer `_ which provides resolution of " +"100 nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." msgstr "" msgid "Unix implementation" @@ -720,7 +719,7 @@ msgstr "" msgid "" "Here is an example, a format for dates compatible with that specified in " -"the :rfc:`2822` Internet email standard. [1]_ ::" +"the :rfc:`5322` Internet email standard. [1]_ ::" msgstr "" msgid "" @@ -784,7 +783,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Attribute" msgstr "atrybut" @@ -835,7 +834,7 @@ msgid "range [0, 6]; Monday is 0" msgstr "" msgid "7" -msgstr "" +msgstr "7" msgid "range [1, 366]" msgstr "" @@ -898,7 +897,7 @@ msgid "" "attributes." msgstr "" -msgid "On Windows, call ``GetSystemTimeAsFileTime()``." +msgid "On Windows, call ``GetSystemTimePreciseAsFileTime()``." msgstr "" msgid "Call ``clock_gettime(CLOCK_REALTIME)`` if available." @@ -912,6 +911,11 @@ msgid "" "type." msgstr "" +msgid "" +"On Windows, calls ``GetSystemTimePreciseAsFileTime()`` instead of " +"``GetSystemTimeAsFileTime()``." +msgstr "" + msgid "" "Similar to :func:`~time.time` but returns time as an integer number of " "nanoseconds since the epoch_." @@ -1101,7 +1105,7 @@ msgstr "" msgid "" "`International Atomic Time `_" +"division/how-utcnist-related-coordinated-universal-time-utc-international>`_" msgstr "" msgid "" @@ -1134,8 +1138,8 @@ msgid "" msgstr "" msgid "" -"System-wide real-time clock. Setting this clock requires appropriate " -"privileges." +"Real-time clock. Setting this clock requires appropriate privileges. The " +"clock is the same for all processes." msgstr "" msgid "Timezone Constants" @@ -1205,7 +1209,7 @@ msgid "" "two-digit year (``%y`` rather than ``%Y``), but practice moved to 4-digit " "years long before the year 2000. After that, :rfc:`822` became obsolete and " "the 4-digit year has been first recommended by :rfc:`1123` and then mandated " -"by :rfc:`2822`." +"by :rfc:`2822`, with :rfc:`5322` continuing this requirement." msgstr "" msgid "epoch" diff --git a/library/timeit.po b/library/timeit.po index 1c4ba24843..76d3cbd27b 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stefan Ocetkiewicz , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!timeit` --- Measure execution time of small code snippets" msgstr "" msgid "**Source code:** :source:`Lib/timeit.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/timeit.py`" msgid "" "This module provides a simple way to time small bits of Python code. It has " @@ -40,7 +38,7 @@ msgid "" msgstr "" msgid "Basic Examples" -msgstr "" +msgstr "Podstawowe przykłady" msgid "" "The following example shows how the :ref:`timeit-command-line-interface` can " @@ -396,7 +394,7 @@ msgid "" msgstr "" msgid "" -"To give the :mod:`timeit` module access to functions you define, you can " +"To give the :mod:`!timeit` module access to functions you define, you can " "pass a *setup* parameter which contains an import statement::" msgstr "" diff --git a/library/tk.po b/library/tk.po index 3f717bca7b..857f871b96 100644 --- a/library/tk.po +++ b/library/tk.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# rmaster1211 , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: rmaster1211 , 2023\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Graphical User Interfaces with Tk" +msgid "Graphical user interfaces with Tk" msgstr "" msgid "" diff --git a/library/tkinter.dnd.po b/library/tkinter.dnd.po index e77d78cb24..81122969a8 100644 --- a/library/tkinter.dnd.po +++ b/library/tkinter.dnd.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgid ":mod:`!tkinter.dnd` --- Drag and drop support" msgstr "" msgid "**Source code:** :source:`Lib/tkinter/dnd.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tkinter/dnd.py`" msgid "" "This is experimental and due to be deprecated when it is replaced with the " @@ -35,7 +35,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`tkinter.dnd` module provides drag-and-drop support for objects " +"The :mod:`!tkinter.dnd` module provides drag-and-drop support for objects " "within a single application, within the same window or between windows. To " "enable an object to be dragged, you must create an event binding for it that " "starts the drag-and-drop process. Typically, you bind a ButtonPress event to " diff --git a/library/tkinter.po b/library/tkinter.po index a69cfd8dee..5486495c48 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -1,22 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Krzysztof Abramowicz, 2022 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,20 +28,20 @@ msgid ":mod:`!tkinter` --- Python interface to Tcl/Tk" msgstr "" msgid "**Source code:** :source:`Lib/tkinter/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tkinter/__init__.py`" msgid "" -"The :mod:`tkinter` package (\"Tk interface\") is the standard Python " -"interface to the Tcl/Tk GUI toolkit. Both Tk and :mod:`tkinter` are " +"The :mod:`!tkinter` package (\"Tk interface\") is the standard Python " +"interface to the Tcl/Tk GUI toolkit. Both Tk and :mod:`!tkinter` are " "available on most Unix platforms, including macOS, as well as on Windows " "systems." msgstr "" msgid "" "Running ``python -m tkinter`` from the command line should open a window " -"demonstrating a simple Tk interface, letting you know that :mod:`tkinter` is " -"properly installed on your system, and also showing what version of Tcl/Tk " -"is installed, so you can read the Tcl/Tk documentation specific to that " +"demonstrating a simple Tk interface, letting you know that :mod:`!tkinter` " +"is properly installed on your system, and also showing what version of Tcl/" +"Tk is installed, so you can read the Tcl/Tk documentation specific to that " "version." msgstr "" @@ -68,6 +66,17 @@ msgid "" "and can be woefully outdated." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "`TkDocs `_" msgstr "" @@ -190,7 +199,7 @@ msgstr "" msgid "" "When your Python application uses a class in Tkinter, e.g., to create a " -"widget, the :mod:`tkinter` module first assembles a Tcl/Tk command string. " +"widget, the :mod:`!tkinter` module first assembles a Tcl/Tk command string. " "It passes that Tcl command string to an internal :mod:`_tkinter` binary " "module, which then calls the Tcl interpreter to evaluate it. The Tcl " "interpreter will then call into the Tk and/or Ttk packages, which will in " @@ -202,7 +211,7 @@ msgstr "" msgid "" "Support for Tkinter is spread across several modules. Most applications will " -"need the main :mod:`tkinter` module, as well as the :mod:`tkinter.ttk` " +"need the main :mod:`!tkinter` module, as well as the :mod:`tkinter.ttk` " "module, which provides the modern themed widget set and API::" msgstr "" @@ -292,13 +301,13 @@ msgid "" msgstr "" msgid "" -"The widget object that contains this widget. For :class:`Tk`, the *master* " -"is :const:`None` because it is the main window. The terms *master* and " -"*parent* are similar and sometimes used interchangeably as argument names; " -"however, calling :meth:`winfo_parent` returns a string of the widget name " -"whereas :attr:`master` returns the object. *parent*/*child* reflects the " -"tree-like relationship while *master*/*slave* reflects the container " -"structure." +"The widget object that contains this widget. For :class:`Tk`, the :attr:`!" +"master` is :const:`None` because it is the main window. The terms *master* " +"and *parent* are similar and sometimes used interchangeably as argument " +"names; however, calling :meth:`winfo_parent` returns a string of the widget " +"name whereas :attr:`!master` returns the object. *parent*/*child* reflects " +"the tree-like relationship while *master* (or *container*)/*content* " +"reflects the container structure." msgstr "" msgid "" @@ -320,8 +329,8 @@ msgstr "" msgid "The modules that provide Tk support include:" msgstr "" -msgid ":mod:`tkinter`" -msgstr ":mod:`tkinter`" +msgid ":mod:`!tkinter`" +msgstr "" msgid "Main Tkinter module." msgstr "" @@ -373,7 +382,7 @@ msgstr ":mod:`tkinter.ttk`" msgid "" "Themed widget set introduced in Tk 8.5, providing modern alternatives for " -"many of the classic widgets in the main :mod:`tkinter` module." +"many of the classic widgets in the main :mod:`!tkinter` module." msgstr "" msgid "Additional modules:" @@ -384,7 +393,7 @@ msgstr ":mod:`_tkinter`" msgid "" "A binary module that contains the low-level interface to Tcl/Tk. It is " -"automatically imported by the main :mod:`tkinter` module, and should never " +"automatically imported by the main :mod:`!tkinter` module, and should never " "be used directly by application programmers. It is usually a shared library " "(or DLL), but might in some cases be statically linked with the Python " "interpreter." @@ -395,7 +404,7 @@ msgstr ":mod:`idlelib`" msgid "" "Python's Integrated Development and Learning Environment (IDLE). Based on :" -"mod:`tkinter`." +"mod:`!tkinter`." msgstr "" msgid ":mod:`tkinter.constants`" @@ -403,15 +412,15 @@ msgstr ":mod:`tkinter.constants`" msgid "" "Symbolic constants that can be used in place of strings when passing various " -"parameters to Tkinter calls. Automatically imported by the main :mod:" -"`tkinter` module." +"parameters to Tkinter calls. Automatically imported by the main :mod:`!" +"tkinter` module." msgstr "" msgid ":mod:`tkinter.dnd`" msgstr ":mod:`tkinter.dnd`" msgid "" -"(experimental) Drag-and-drop support for :mod:`tkinter`. This will become " +"(experimental) Drag-and-drop support for :mod:`!tkinter`. This will become " "deprecated when it is replaced with the Tk DND." msgstr "" @@ -603,8 +612,8 @@ msgid "" "Operations which are implemented as separate *commands* in Tcl (like " "``grid`` or ``destroy``) are represented as *methods* on Tkinter widget " "objects. As you'll see shortly, at other times Tcl uses what appear to be " -"method calls on widget objects, which more closely mirror what would is used " -"in Tkinter." +"method calls on widget objects, which more closely mirror what is used in " +"Tkinter." msgstr "" msgid "How do I...? What option does...?" @@ -734,8 +743,9 @@ msgid "Threading model" msgstr "" msgid "" -"Python and Tcl/Tk have very different threading models, which :mod:`tkinter` " -"tries to bridge. If you use threads, you may need to be aware of this." +"Python and Tcl/Tk have very different threading models, which :mod:`!" +"tkinter` tries to bridge. If you use threads, you may need to be aware of " +"this." msgstr "" msgid "" @@ -747,10 +757,10 @@ msgid "" msgstr "" msgid "" -"Each :class:`Tk` object created by :mod:`tkinter` contains a Tcl " +"Each :class:`Tk` object created by :mod:`!tkinter` contains a Tcl " "interpreter. It also keeps track of which thread created that interpreter. " -"Calls to :mod:`tkinter` can be made from any Python thread. Internally, if a " -"call comes from a thread other than the one that created the :class:`Tk` " +"Calls to :mod:`!tkinter` can be made from any Python thread. Internally, if " +"a call comes from a thread other than the one that created the :class:`Tk` " "object, an event is posted to the interpreter's event queue, and when " "executed, the result is returned to the calling Python thread." msgstr "" @@ -769,7 +779,7 @@ msgstr "" msgid "" "If the Tcl interpreter is not running the event loop and processing events, " -"any :mod:`tkinter` calls made from threads other than the one running the " +"any :mod:`!tkinter` calls made from threads other than the one running the " "Tcl interpreter will fail." msgstr "" @@ -778,15 +788,15 @@ msgstr "" msgid "" "Tcl/Tk libraries can be built so they are not thread-aware. In this case, :" -"mod:`tkinter` calls the library from the originating Python thread, even if " +"mod:`!tkinter` calls the library from the originating Python thread, even if " "this is different than the thread that created the Tcl interpreter. A global " "lock ensures only one call occurs at a time." msgstr "" msgid "" -"While :mod:`tkinter` allows you to create more than one instance of a :class:" -"`Tk` object (with its own interpreter), all interpreters that are part of " -"the same thread share a common event queue, which gets ugly fast. In " +"While :mod:`!tkinter` allows you to create more than one instance of a :" +"class:`Tk` object (with its own interpreter), all interpreters that are part " +"of the same thread share a common event queue, which gets ugly fast. In " "practice, don't create more than one instance of :class:`Tk` at a time. " "Otherwise, it's best to create them in separate threads and ensure you're " "running a thread-aware Tcl/Tk build." @@ -800,7 +810,7 @@ msgid "" msgstr "" msgid "" -"There are a few select :mod:`tkinter` functions that presently work only " +"There are a few select :mod:`!tkinter` functions that presently work only " "when called from the thread that created the Tcl interpreter." msgstr "" @@ -874,7 +884,7 @@ msgid "" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Meaning" msgstr "Znaczenie" @@ -945,20 +955,20 @@ msgstr "" msgid "" "The packer is one of Tk's geometry-management mechanisms. Geometry " "managers are used to specify the relative positioning of widgets within " -"their container - their mutual *master*. In contrast to the more cumbersome " -"*placer* (which is used less commonly, and we do not cover here), the packer " -"takes qualitative relationship specification - *above*, *to the left of*, " -"*filling*, etc - and works everything out to determine the exact placement " -"coordinates for you." +"their container. In contrast to the more cumbersome *placer* (which is used " +"less commonly, and we do not cover here), the packer takes qualitative " +"relationship specification - *above*, *to the left of*, *filling*, etc - and " +"works everything out to determine the exact placement coordinates for you." msgstr "" msgid "" -"The size of any *master* widget is determined by the size of the \"slave " -"widgets\" inside. The packer is used to control where slave widgets appear " -"inside the master into which they are packed. You can pack widgets into " -"frames, and frames into other frames, in order to achieve the kind of layout " -"you desire. Additionally, the arrangement is dynamically adjusted to " -"accommodate incremental changes to the configuration, once it is packed." +"The size of any container widget is determined by the size of the \"content " +"widgets\" inside. The packer is used to control where content widgets " +"appear inside the container into which they are packed. You can pack " +"widgets into frames, and frames into other frames, in order to achieve the " +"kind of layout you desire. Additionally, the arrangement is dynamically " +"adjusted to accommodate incremental changes to the configuration, once it is " +"packed." msgstr "" msgid "" @@ -993,7 +1003,8 @@ msgid "anchor" msgstr "" msgid "" -"Anchor type. Denotes where the packer is to place each slave in its parcel." +"Anchor type. Denotes where the packer is to place each content in its " +"parcel." msgstr "" msgid "expand" @@ -1011,15 +1022,13 @@ msgstr "" msgid "ipadx and ipady" msgstr "" -msgid "" -"A distance - designating internal padding on each side of the slave widget." +msgid "A distance - designating internal padding on each side of the content." msgstr "" msgid "padx and pady" msgstr "" -msgid "" -"A distance - designating external padding on each side of the slave widget." +msgid "A distance - designating external padding on each side of the content." msgstr "" msgid "side" @@ -1041,11 +1050,11 @@ msgid "" msgstr "" msgid "" -"Unfortunately, in the current implementation of :mod:`tkinter` it is not " +"Unfortunately, in the current implementation of :mod:`!tkinter` it is not " "possible to hand over an arbitrary Python variable to a widget through a " "``variable`` or ``textvariable`` option. The only kinds of variables for " "which this works are variables that are subclassed from a class called " -"Variable, defined in :mod:`tkinter`." +"Variable, defined in :mod:`!tkinter`." msgstr "" msgid "" @@ -1098,7 +1107,7 @@ msgstr "" msgid "" "In Tk, there is a utility command, ``wm``, for interacting with the window " "manager. Options to the ``wm`` command allow you to control things like " -"titles, placement, icon bitmaps, and the like. In :mod:`tkinter`, these " +"titles, placement, icon bitmaps, and the like. In :mod:`!tkinter`, these " "commands have been implemented as methods on the :class:`Wm` class. " "Toplevel widgets are subclassed from the :class:`Wm` class, and so can call " "the :class:`Wm` methods directly." @@ -1106,12 +1115,12 @@ msgstr "" msgid "" "To get at the toplevel window that contains a given widget, you can often " -"just refer to the widget's master. Of course if the widget has been packed " -"inside of a frame, the master won't represent a toplevel window. To get at " -"the toplevel window that contains an arbitrary widget, you can call the :" -"meth:`_root` method. This method begins with an underscore to denote the " -"fact that this function is part of the implementation, and not an interface " -"to Tk functionality." +"just refer to the widget's :attr:`master`. Of course if the widget has been " +"packed inside of a frame, the :attr:`!master` won't represent a toplevel " +"window. To get at the toplevel window that contains an arbitrary widget, " +"you can call the :meth:`_root` method. This method begins with an underscore " +"to denote the fact that this function is part of the implementation, and not " +"an interface to Tk functionality." msgstr "" msgid "Here are some examples of typical usage::" @@ -1229,8 +1238,8 @@ msgid "justify" msgstr "" msgid "" -"Legal values are the strings: ``\"left\"``, ``\"center\"``, ``\"right\"``, " -"and ``\"fill\"``." +"Legal values are the strings: ``\"left\"``, ``\"center\"``, and " +"``\"right\"``." msgstr "" msgid "region" @@ -1436,8 +1445,8 @@ msgstr "" msgid "" "Entry widgets have options that refer to character positions in the text " -"being displayed. You can use these :mod:`tkinter` functions to access these " -"special points in text widgets:" +"being displayed. You can use these :mod:`!tkinter` functions to access " +"these special points in text widgets:" msgstr "" msgid "Text widget indexes" diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 220081e8d9..3a20d306f9 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,17 +27,17 @@ msgid ":mod:`!tkinter.ttk` --- Tk themed widgets" msgstr "" msgid "**Source code:** :source:`Lib/tkinter/ttk.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tkinter/ttk.py`" msgid "" -"The :mod:`tkinter.ttk` module provides access to the Tk themed widget set, " +"The :mod:`!tkinter.ttk` module provides access to the Tk themed widget set, " "introduced in Tk 8.5. It provides additional benefits including anti-aliased " "font rendering under X11 and window transparency (requiring a composition " "window manager on X11)." msgstr "" msgid "" -"The basic idea for :mod:`tkinter.ttk` is to separate, to the extent " +"The basic idea for :mod:`!tkinter.ttk` is to separate, to the extent " "possible, the code implementing a widget's behavior from the code " "implementing its appearance." msgstr "" @@ -70,8 +68,8 @@ msgid "" msgstr "" msgid "" -"That code causes several :mod:`tkinter.ttk` widgets (:class:`Button`, :class:" -"`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:" +"That code causes several :mod:`!tkinter.ttk` widgets (:class:`Button`, :" +"class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:" "`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:" "`Radiobutton`, :class:`Scale` and :class:`Scrollbar`) to automatically " "replace the Tk widgets." diff --git a/library/token.po b/library/token.po index 53589491de..44601412ca 100644 --- a/library/token.po +++ b/library/token.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,8 +67,7 @@ msgid "The token constants are:" msgstr "" msgid "" -"Token value that indicates an :ref:`identifier `. Note that " -"keywords are also initially tokenized an ``NAME`` tokens." +"Token value that indicates an :ref:`identifier or keyword `." msgstr "" msgid "Token value that indicates a :ref:`numeric literal `" @@ -227,148 +225,148 @@ msgid "Value" msgstr "Wartość" msgid "``\"(\"``" -msgstr "" +msgstr "``\"(\"``" msgid "``\")\"``" -msgstr "" +msgstr "``\")\"``" msgid "``\"[\"``" -msgstr "" +msgstr "``\"[\"``" msgid "``\"]\"``" -msgstr "" +msgstr "``\"]\"``" msgid "``\":\"``" -msgstr "" +msgstr "``\":\"``" msgid "``\",\"``" -msgstr "" +msgstr "``\",\"``" msgid "``\";\"``" -msgstr "" +msgstr "``\";\"``" msgid "``\"+\"``" -msgstr "" +msgstr "``\"+\"``" msgid "``\"-\"``" -msgstr "" +msgstr "``\"-\"``" msgid "``\"*\"``" -msgstr "" +msgstr "``\"*\"``" msgid "``\"/\"``" -msgstr "" +msgstr "``\"/\"``" msgid "``\"|\"``" -msgstr "" +msgstr "``\"|\"``" msgid "``\"&\"``" -msgstr "" +msgstr "``\"&\"``" msgid "``\"<\"``" -msgstr "" +msgstr "``\"<\"``" msgid "``\">\"``" -msgstr "" +msgstr "``\">\"``" msgid "``\"=\"``" -msgstr "" +msgstr "``\"=\"``" msgid "``\".\"``" -msgstr "" +msgstr "``\".\"``" msgid "``\"%\"``" -msgstr "" +msgstr "``\"%\"``" msgid "``\"{\"``" -msgstr "" +msgstr "``\"{\"``" msgid "``\"}\"``" -msgstr "" +msgstr "``\"}\"``" msgid "``\"==\"``" -msgstr "" +msgstr "``\"==\"``" msgid "``\"!=\"``" -msgstr "" +msgstr "``\"!=\"``" msgid "``\"<=\"``" -msgstr "" +msgstr "``\"<=\"``" msgid "``\">=\"``" -msgstr "" +msgstr "``\">=\"``" msgid "``\"~\"``" -msgstr "" +msgstr "``\"~\"``" msgid "``\"^\"``" -msgstr "" +msgstr "``\"^\"``" msgid "``\"<<\"``" -msgstr "" +msgstr "``\"<<\"``" msgid "``\">>\"``" -msgstr "" +msgstr "``\">>\"``" msgid "``\"**\"``" -msgstr "" +msgstr "``\"**\"``" msgid "``\"+=\"``" -msgstr "" +msgstr "``\"+=\"``" msgid "``\"-=\"``" -msgstr "" +msgstr "``\"-=\"``" msgid "``\"*=\"``" -msgstr "" +msgstr "``\"*=\"``" msgid "``\"/=\"``" -msgstr "" +msgstr "``\"/=\"``" msgid "``\"%=\"``" -msgstr "" +msgstr "``\"%=\"``" msgid "``\"&=\"``" -msgstr "" +msgstr "``\"&=\"``" msgid "``\"|=\"``" -msgstr "" +msgstr "``\"|=\"``" msgid "``\"^=\"``" -msgstr "" +msgstr "``\"^=\"``" msgid "``\"<<=\"``" -msgstr "" +msgstr "``\"<<=\"``" msgid "``\">>=\"``" -msgstr "" +msgstr "``\">>=\"``" msgid "``\"**=\"``" -msgstr "" +msgstr "``\"**=\"``" msgid "``\"//\"``" -msgstr "" +msgstr "``\"//\"``" msgid "``\"//=\"``" -msgstr "" +msgstr "``\"//=\"``" msgid "``\"@\"``" -msgstr "" +msgstr "``\"@\"``" msgid "``\"@=\"``" -msgstr "" +msgstr "``\"@=\"``" msgid "``\"->\"``" -msgstr "" +msgstr "``\"->\"``" msgid "``\"...\"``" -msgstr "" +msgstr "``\"...\"``" msgid "``\":=\"``" -msgstr "" +msgstr "``\":=\"``" msgid "``\"!\"``" -msgstr "" +msgstr "``\"!\"``" msgid "The following non-token constants are provided:" msgstr "" diff --git a/library/tokenize.po b/library/tokenize.po index 5dce9891d2..fc1a39785f 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!tokenize` --- Tokenizer for Python source" msgstr "" msgid "**Source code:** :source:`Lib/tokenize.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tokenize.py`" msgid "" -"The :mod:`tokenize` module provides a lexical scanner for Python source " +"The :mod:`!tokenize` module provides a lexical scanner for Python source " "code, implemented in Python. The scanner in this module returns comments as " "tokens as well, making it useful for implementing \"pretty-printers\", " "including colorizers for on-screen displays." @@ -109,8 +108,8 @@ msgid "" msgstr "" msgid "" -"All constants from the :mod:`token` module are also exported from :mod:" -"`tokenize`." +"All constants from the :mod:`token` module are also exported from :mod:`!" +"tokenize`." msgstr "" msgid "" @@ -199,7 +198,7 @@ msgid "Command-Line Usage" msgstr "" msgid "" -"The :mod:`tokenize` module can be executed as a script from the command " +"The :mod:`!tokenize` module can be executed as a script from the command " "line. It is as simple as:" msgstr "" diff --git a/library/tomllib.po b/library/tomllib.po index 568bd8057b..ef80b3ef93 100644 --- a/library/tomllib.po +++ b/library/tomllib.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!tomllib` --- Parse TOML files" msgstr "" msgid "**Source code:** :source:`Lib/tomllib`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tomllib`" msgid "" "This module provides an interface for parsing TOML 1.0.0 (Tom's Obvious " @@ -137,7 +136,7 @@ msgid "TOML" msgstr "" msgid "Python" -msgstr "" +msgstr "Python" msgid "TOML document" msgstr "" diff --git a/library/trace.po b/library/trace.po index 9f191fbaf6..e4e6c3f4a0 100644 --- a/library/trace.po +++ b/library/trace.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Transifex Bot <>, 2023 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2025-05-09 14:19+0000\n" +"PO-Revision-Date: 2025-07-18 18:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,7 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`trace` --- Trace or track Python statement execution" +msgid ":mod:`!trace` --- Trace or track Python statement execution" msgstr "" msgid "**Source code:** :source:`Lib/trace.py`" @@ -45,13 +45,16 @@ msgid "" msgstr "" msgid "Command-Line Usage" -msgstr "" +msgstr "Використання командного рядка" msgid "" "The :mod:`trace` module can be invoked from the command line. It can be as " "simple as ::" msgstr "" +msgid "python -m trace --count -C . somefile.py ..." +msgstr "" + msgid "" "The above will execute :file:`somefile.py` and generate annotated listings " "of all Python modules imported during the execution into the current " @@ -150,7 +153,7 @@ msgid "" msgstr "" msgid "Programmatic Interface" -msgstr "" +msgstr "Програмний інтерфейс" msgid "" "Create an object to trace execution of a single statement or expression. " @@ -204,5 +207,33 @@ msgid "" "directory." msgstr "" +msgid "" +"If *ignore_missing_files* is ``True``, coverage counts for files that no " +"longer exist are silently ignored. Otherwise, a missing file will raise a :" +"exc:`FileNotFoundError`." +msgstr "" + +msgid "Added *ignore_missing_files* parameter." +msgstr "" + msgid "A simple example demonstrating the use of the programmatic interface::" msgstr "" + +msgid "" +"import sys\n" +"import trace\n" +"\n" +"# create a Trace object, telling it what to ignore, and whether to\n" +"# do tracing or line-counting or both.\n" +"tracer = trace.Trace(\n" +" ignoredirs=[sys.prefix, sys.exec_prefix],\n" +" trace=0,\n" +" count=1)\n" +"\n" +"# run the new command using the given tracer\n" +"tracer.run('main()')\n" +"\n" +"# make a report, placing output in the current directory\n" +"r = tracer.results()\n" +"r.write_results(show_missing=True, coverdir=\".\")" +msgstr "" diff --git a/library/traceback.po b/library/traceback.po index b07503777a..b18b628708 100644 --- a/library/traceback.po +++ b/library/traceback.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2024, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-30 14:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: haaritsubaki, 2023\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:01+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,14 +27,17 @@ msgid ":mod:`!traceback` --- Print or retrieve a stack traceback" msgstr "" msgid "**Source code:** :source:`Lib/traceback.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/traceback.py`" msgid "" "This module provides a standard interface to extract, format and print stack " -"traces of Python programs. It exactly mimics the behavior of the Python " -"interpreter when it prints a stack trace. This is useful when you want to " -"print stack traces under program control, such as in a \"wrapper\" around " -"the interpreter." +"traces of Python programs. It is more flexible than the interpreter's " +"default traceback display, and therefore makes it possible to configure " +"certain aspects of the output. Finally, it contains a utility for capturing " +"enough information about an exception to print it later, without the need to " +"save a reference to the actual exception. Since exceptions can be the roots " +"of large objects graph, this utility can significantly improve memory " +"management." msgstr "" msgid "" @@ -58,7 +61,28 @@ msgstr "" msgid "Interactive source code debugger for Python programs." msgstr "" -msgid "The module defines the following functions:" +msgid "The module's API can be divided into two parts:" +msgstr "" + +msgid "" +"Module-level functions offering basic functionality, which are useful for " +"interactive inspection of exceptions and tracebacks." +msgstr "" + +msgid "" +":class:`TracebackException` class and its helper classes :class:" +"`StackSummary` and :class:`FrameSummary`. These offer both more flexibility " +"in the output generated and the ability to store the information necessary " +"for later formatting without holding references to actual exception and " +"traceback objects." +msgstr "" + +msgid "" +"Output is colorized by default and can be :ref:`controlled using environment " +"variables `." +msgstr "" + +msgid "Module-Level Functions" msgstr "" msgid "" @@ -123,14 +147,14 @@ msgid "" msgstr "" msgid "" -"This is a shorthand for ``print_exception(sys.exception(), limit, file, " -"chain)``." +"This is a shorthand for ``print_exception(sys.exception(), limit=limit, " +"file=file, chain=chain)``." msgstr "" msgid "" -"This is a shorthand for ``print_exception(sys.last_exc, limit, file, " -"chain)``. In general it will work only after an exception has reached an " -"interactive prompt (see :data:`sys.last_exc`)." +"This is a shorthand for ``print_exception(sys.last_exc, limit=limit, " +"file=file, chain=chain)``. In general it will work only after an exception " +"has reached an interactive prompt (see :data:`sys.last_exc`)." msgstr "" msgid "" @@ -161,6 +185,12 @@ msgid "" "`print_stack`." msgstr "" +msgid "" +"Print the list of tuples as returned by :func:`extract_tb` or :func:" +"`extract_stack` as a formatted stack trace to the given file. If *file* is " +"``None``, the output is written to :data:`sys.stderr`." +msgstr "" + msgid "" "Given a list of tuples or :class:`FrameSummary` objects as returned by :func:" "`extract_tb` or :func:`extract_stack`, return a list of strings ready for " @@ -236,26 +266,34 @@ msgid "" "current stack is used. This helper is used with :meth:`StackSummary.extract`." msgstr "" +msgid "" +"This function previously returned a generator that would walk the stack when " +"first iterated over. The generator returned now is the state of the stack " +"when ``walk_stack`` is called." +msgstr "" + msgid "" "Walk a traceback following :attr:`~traceback.tb_next` yielding the frame and " "line number for each frame. This helper is used with :meth:`StackSummary." "extract`." msgstr "" -msgid "The module also defines the following classes:" -msgstr "" - msgid ":class:`!TracebackException` Objects" msgstr "" msgid "" ":class:`!TracebackException` objects are created from actual exceptions to " -"capture data for later printing in a lightweight fashion." +"capture data for later printing. They offer a more lightweight method of " +"storing this information by avoiding holding references to :ref:" +"`traceback` and :ref:`frame` objects. In " +"addition, they expose more options to configure the output compared to the " +"module-level functions described above." msgstr "" msgid "" -"Capture an exception for later rendering. *limit*, *lookup_lines* and " -"*capture_locals* are as for the :class:`StackSummary` class." +"Capture an exception for later rendering. The meaning of *limit*, " +"*lookup_lines* and *capture_locals* are as for the :class:`StackSummary` " +"class." msgstr "" msgid "" @@ -344,6 +382,11 @@ msgstr "" msgid "For syntax errors - the compiler error message." msgstr "" +msgid "" +"Capture an exception for later rendering. *limit*, *lookup_lines* and " +"*capture_locals* are as for the :class:`StackSummary` class." +msgstr "" + msgid "" "Print to *file* (default ``sys.stderr``) the exception information returned " "by :meth:`format`." @@ -483,7 +526,25 @@ msgid "" "trailing whitespace stripped. If the source is not available, it is ``None``." msgstr "" -msgid "Traceback Examples" +msgid "" +"The last line number of the source code for this frame. By default, it is " +"set to ``lineno`` and indexation starts from 1." +msgstr "" + +msgid "The default value changed from ``None`` to ``lineno``." +msgstr "" + +msgid "" +"The column number of the source code for this frame. By default, it is " +"``None`` and indexation starts from 0." +msgstr "" + +msgid "" +"The last column number of the source code for this frame. By default, it is " +"``None`` and indexation starts from 0." +msgstr "" + +msgid "Examples of Using the Module-Level Functions" msgstr "" msgid "" @@ -493,22 +554,432 @@ msgid "" "`code` module. ::" msgstr "" +msgid "" +"import sys, traceback\n" +"\n" +"def run_user_code(envdir):\n" +" source = input(\">>> \")\n" +" try:\n" +" exec(source, envdir)\n" +" except Exception:\n" +" print(\"Exception in user code:\")\n" +" print(\"-\"*60)\n" +" traceback.print_exc(file=sys.stdout)\n" +" print(\"-\"*60)\n" +"\n" +"envdir = {}\n" +"while True:\n" +" run_user_code(envdir)" +msgstr "" +"import sys, traceback\n" +"\n" +"def run_user_code(envdir):\n" +" source = input(\">>> \")\n" +" try:\n" +" exec(source, envdir)\n" +" except Exception:\n" +" print(\"Wyjątek w kodzie użytkownika:\")\n" +" print(\"-\"*60)\n" +" traceback.print_exc(file=sys.stdout)\n" +" print(\"-\"*60)\n" +"\n" +"envdir = {}\n" +"while True:\n" +" run_user_code(envdir)" + msgid "" "The following example demonstrates the different ways to print and format " "the exception and traceback:" msgstr "" +msgid "" +"import sys, traceback\n" +"\n" +"def lumberjack():\n" +" bright_side_of_life()\n" +"\n" +"def bright_side_of_life():\n" +" return tuple()[0]\n" +"\n" +"try:\n" +" lumberjack()\n" +"except IndexError as exc:\n" +" print(\"*** print_tb:\")\n" +" traceback.print_tb(exc.__traceback__, limit=1, file=sys.stdout)\n" +" print(\"*** print_exception:\")\n" +" traceback.print_exception(exc, limit=2, file=sys.stdout)\n" +" print(\"*** print_exc:\")\n" +" traceback.print_exc(limit=2, file=sys.stdout)\n" +" print(\"*** format_exc, first and last line:\")\n" +" formatted_lines = traceback.format_exc().splitlines()\n" +" print(formatted_lines[0])\n" +" print(formatted_lines[-1])\n" +" print(\"*** format_exception:\")\n" +" print(repr(traceback.format_exception(exc)))\n" +" print(\"*** extract_tb:\")\n" +" print(repr(traceback.extract_tb(exc.__traceback__)))\n" +" print(\"*** format_tb:\")\n" +" print(repr(traceback.format_tb(exc.__traceback__)))\n" +" print(\"*** tb_lineno:\", exc.__traceback__.tb_lineno)" +msgstr "" +"import sys, traceback\n" +"\n" +"def lumberjack():\n" +" bright_side_of_life()\n" +"\n" +"def bright_side_of_life():\n" +" return tuple()[0]\n" +"\n" +"try:\n" +" lumberjack()\n" +"except IndexError as exc:\n" +" print(\"*** print_tb:\")\n" +" traceback.print_tb(exc.__traceback__, limit=1, file=sys.stdout)\n" +" print(\"*** print_exception:\")\n" +" traceback.print_exception(exc, limit=2, file=sys.stdout)\n" +" print(\"*** print_exc:\")\n" +" traceback.print_exc(limit=2, file=sys.stdout)\n" +" print(\"*** format_exc, first and last line:\")\n" +" formatted_lines = traceback.format_exc().splitlines()\n" +" print(formatted_lines[0])\n" +" print(formatted_lines[-1])\n" +" print(\"*** format_exception:\")\n" +" print(repr(traceback.format_exception(exc)))\n" +" print(\"*** extract_tb:\")\n" +" print(repr(traceback.extract_tb(exc.__traceback__)))\n" +" print(\"*** format_tb:\")\n" +" print(repr(traceback.format_tb(exc.__traceback__)))\n" +" print(\"*** tb_lineno:\", exc.__traceback__.tb_lineno)" + msgid "The output for the example would look similar to this:" msgstr "" +msgid "" +"*** print_tb:\n" +" File \"\", line 10, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +"*** print_exception:\n" +"Traceback (most recent call last):\n" +" File \"\", line 10, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +" File \"\", line 4, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +"IndexError: tuple index out of range\n" +"*** print_exc:\n" +"Traceback (most recent call last):\n" +" File \"\", line 10, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +" File \"\", line 4, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +"IndexError: tuple index out of range\n" +"*** format_exc, first and last line:\n" +"Traceback (most recent call last):\n" +"IndexError: tuple index out of range\n" +"*** format_exception:\n" +"['Traceback (most recent call last):\\n',\n" +" ' File \"\", line 10, in \\n " +"lumberjack()\\n ~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 4, in lumberjack\\n " +"bright_side_of_life()\\n ~~~~~~~~~~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 7, in bright_side_of_life\\n " +"return tuple()[0]\\n ~~~~~~~^^^\\n',\n" +" 'IndexError: tuple index out of range\\n']\n" +"*** extract_tb:\n" +"[, line 10 in >,\n" +" , line 4 in lumberjack>,\n" +" , line 7 in bright_side_of_life>]\n" +"*** format_tb:\n" +"[' File \"\", line 10, in \\n " +"lumberjack()\\n ~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 4, in lumberjack\\n " +"bright_side_of_life()\\n ~~~~~~~~~~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 7, in bright_side_of_life\\n " +"return tuple()[0]\\n ~~~~~~~^^^\\n']\n" +"*** tb_lineno: 10" +msgstr "" +"*** print_tb:\n" +" File \"\", line 10, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +"*** print_exception:\n" +"Traceback (most recent call last):\n" +" File \"\", line 10, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +" File \"\", line 4, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +"IndexError: tuple index out of range\n" +"*** print_exc:\n" +"Traceback (most recent call last):\n" +" File \"\", line 10, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +" File \"\", line 4, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +"IndexError: tuple index out of range\n" +"*** format_exc, first and last line:\n" +"Traceback (most recent call last):\n" +"IndexError: tuple index out of range\n" +"*** format_exception:\n" +"['Traceback (most recent call last):\\n',\n" +" ' File \"\", line 10, in \\n " +"lumberjack()\\n ~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 4, in lumberjack\\n " +"bright_side_of_life()\\n ~~~~~~~~~~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 7, in bright_side_of_life\\n " +"return tuple()[0]\\n ~~~~~~~^^^\\n',\n" +" 'IndexError: tuple index out of range\\n']\n" +"*** extract_tb:\n" +"[, line 10 in >,\n" +" , line 4 in lumberjack>,\n" +" , line 7 in bright_side_of_life>]\n" +"*** format_tb:\n" +"[' File \"\", line 10, in \\n " +"lumberjack()\\n ~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 4, in lumberjack\\n " +"bright_side_of_life()\\n ~~~~~~~~~~~~~~~~~~~^^\\n',\n" +" ' File \"\", line 7, in bright_side_of_life\\n " +"return tuple()[0]\\n ~~~~~~~^^^\\n']\n" +"*** tb_lineno: 10" + msgid "" "The following example shows the different ways to print and format the " "stack::" msgstr "" +msgid "" +">>> import traceback\n" +">>> def another_function():\n" +"... lumberstack()\n" +"...\n" +">>> def lumberstack():\n" +"... traceback.print_stack()\n" +"... print(repr(traceback.extract_stack()))\n" +"... print(repr(traceback.format_stack()))\n" +"...\n" +">>> another_function()\n" +" File \"\", line 10, in \n" +" another_function()\n" +" File \"\", line 3, in another_function\n" +" lumberstack()\n" +" File \"\", line 6, in lumberstack\n" +" traceback.print_stack()\n" +"[('', 10, '', 'another_function()'),\n" +" ('', 3, 'another_function', 'lumberstack()'),\n" +" ('', 7, 'lumberstack', 'print(repr(traceback.extract_stack()))')]\n" +"[' File \"\", line 10, in \\n another_function()\\n',\n" +" ' File \"\", line 3, in another_function\\n " +"lumberstack()\\n',\n" +" ' File \"\", line 8, in lumberstack\\n print(repr(traceback." +"format_stack()))\\n']" +msgstr "" +">>> import traceback\n" +">>> def another_function():\n" +"... lumberstack()\n" +"...\n" +">>> def lumberstack():\n" +"... traceback.print_stack()\n" +"... print(repr(traceback.extract_stack()))\n" +"... print(repr(traceback.format_stack()))\n" +"...\n" +">>> another_function()\n" +" File \"\", line 10, in \n" +" another_function()\n" +" File \"\", line 3, in another_function\n" +" lumberstack()\n" +" File \"\", line 6, in lumberstack\n" +" traceback.print_stack()\n" +"[('', 10, '', 'another_function()'),\n" +" ('', 3, 'another_function', 'lumberstack()'),\n" +" ('', 7, 'lumberstack', 'print(repr(traceback.extract_stack()))')]\n" +"[' File \"\", line 10, in \\n another_function()\\n',\n" +" ' File \"\", line 3, in another_function\\n " +"lumberstack()\\n',\n" +" ' File \"\", line 8, in lumberstack\\n print(repr(traceback." +"format_stack()))\\n']" + msgid "This last example demonstrates the final few formatting functions:" msgstr "" +msgid "" +">>> import traceback\n" +">>> traceback.format_list([('spam.py', 3, '', 'spam.eggs()'),\n" +"... ('eggs.py', 42, 'eggs', 'return \"bacon\"')])\n" +"[' File \"spam.py\", line 3, in \\n spam.eggs()\\n',\n" +" ' File \"eggs.py\", line 42, in eggs\\n return \"bacon\"\\n']\n" +">>> an_error = IndexError('tuple index out of range')\n" +">>> traceback.format_exception_only(an_error)\n" +"['IndexError: tuple index out of range\\n']" +msgstr "" + +msgid "Examples of Using :class:`TracebackException`" +msgstr "" + +msgid "With the helper class, we have more options::" +msgstr "" + +msgid "" +">>> import sys\n" +">>> from traceback import TracebackException\n" +">>>\n" +">>> def lumberjack():\n" +"... bright_side_of_life()\n" +"...\n" +">>> def bright_side_of_life():\n" +"... t = \"bright\", \"side\", \"of\", \"life\"\n" +"... return t[5]\n" +"...\n" +">>> try:\n" +"... lumberjack()\n" +"... except IndexError as e:\n" +"... exc = e\n" +"...\n" +">>> try:\n" +"... try:\n" +"... lumberjack()\n" +"... except:\n" +"... 1/0\n" +"... except Exception as e:\n" +"... chained_exc = e\n" +"...\n" +">>> # limit works as with the module-level functions\n" +">>> TracebackException.from_exception(exc, limit=-2).print()\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +" File \"\", line 10, in bright_side_of_life\n" +" return t[5]\n" +" ~^^^\n" +"IndexError: tuple index out of range\n" +"\n" +">>> # capture_locals adds local variables in frames\n" +">>> TracebackException.from_exception(exc, limit=-2, capture_locals=True)." +"print()\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +" File \"\", line 10, in bright_side_of_life\n" +" return t[5]\n" +" ~^^^\n" +" t = (\"bright\", \"side\", \"of\", \"life\")\n" +"IndexError: tuple index out of range\n" +"\n" +">>> # The *chain* kwarg to print() controls whether chained\n" +">>> # exceptions are displayed\n" +">>> TracebackException.from_exception(chained_exc).print()\n" +"Traceback (most recent call last):\n" +" File \"\", line 4, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +" File \"\", line 7, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +" File \"\", line 11, in bright_side_of_life\n" +" return t[5]\n" +" ~^^^\n" +"IndexError: tuple index out of range\n" +"\n" +"During handling of the above exception, another exception occurred:\n" +"\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in \n" +" 1/0\n" +" ~^~\n" +"ZeroDivisionError: division by zero\n" +"\n" +">>> TracebackException.from_exception(chained_exc).print(chain=False)\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in \n" +" 1/0\n" +" ~^~\n" +"ZeroDivisionError: division by zero" +msgstr "" +">>> import sys\n" +">>> from traceback import TracebackException\n" +">>>\n" +">>> def lumberjack():\n" +"... bright_side_of_life()\n" +"...\n" +">>> def bright_side_of_life():\n" +"... t = \"bright\", \"side\", \"of\", \"life\"\n" +"... return t[5]\n" +"...\n" +">>> try:\n" +"... lumberjack()\n" +"... except IndexError as e:\n" +"... exc = e\n" +"...\n" +">>> try:\n" +"... try:\n" +"... lumberjack()\n" +"... except:\n" +"... 1/0\n" +"... except Exception as e:\n" +"... chained_exc = e\n" +"...\n" +">>> # limit działa tak jak z funkcjami na poziomie modułu\n" +">>> TracebackException.from_exception(exc, limit=-2).print()\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +" File \"\", line 10, in bright_side_of_life\n" +" return t[5]\n" +" ~^^^\n" +"IndexError: tuple index out of range\n" +"\n" +">>> # capture_locals dodaje lokalne zmienne do ramek\n" +">>> TracebackException.from_exception(exc, limit=-2, capture_locals=True)." +"print()\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +" File \"\", line 10, in bright_side_of_life\n" +" return t[5]\n" +" ~^^^\n" +" t = (\"bright\", \"side\", \"of\", \"life\")\n" +"IndexError: tuple index out of range\n" +"\n" +">>> # argument nazwany *chain* metody print() kontroluje, czy wyjątki\n" +">>> # z łańcucha są wyświetlane\n" +">>> TracebackException.from_exception(chained_exc).print()\n" +"Traceback (most recent call last):\n" +" File \"\", line 4, in \n" +" lumberjack()\n" +" ~~~~~~~~~~^^\n" +" File \"\", line 7, in lumberjack\n" +" bright_side_of_life()\n" +" ~~~~~~~~~~~~~~~~~~~^^\n" +" File \"\", line 11, in bright_side_of_life\n" +" return t[5]\n" +" ~^^^\n" +"IndexError: tuple index out of range\n" +"\n" +"During handling of the above exception, another exception occurred:\n" +"\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in \n" +" 1/0\n" +" ~^~\n" +"ZeroDivisionError: division by zero\n" +"\n" +">>> TracebackException.from_exception(chained_exc).print(chain=False)\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in \n" +" 1/0\n" +" ~^~\n" +"ZeroDivisionError: division by zero" + msgid "object" msgstr "obiekt" diff --git a/library/tracemalloc.po b/library/tracemalloc.po index b7815a0706..c0335503c8 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!tracemalloc` --- Trace memory allocations" msgstr "" msgid "**Source code:** :source:`Lib/tracemalloc.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tracemalloc.py`" msgid "" "The tracemalloc module is a debug tool to trace memory blocks allocated by " @@ -386,7 +385,7 @@ msgstr "" msgid "" "Get the traceback where the Python object *obj* was allocated. Return a :" -"class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module is " +"class:`Traceback` instance, or ``None`` if the :mod:`!tracemalloc` module is " "not tracing memory allocations or did not trace the allocation of the object." msgstr "" @@ -397,7 +396,7 @@ msgid "Get the maximum number of frames stored in the traceback of a trace." msgstr "" msgid "" -"The :mod:`tracemalloc` module must be tracing memory allocations to get the " +"The :mod:`!tracemalloc` module must be tracing memory allocations to get the " "limit, otherwise an exception is raised." msgstr "" @@ -405,17 +404,17 @@ msgid "The limit is set by the :func:`start` function." msgstr "" msgid "" -"Get the current size and peak size of memory blocks traced by the :mod:" -"`tracemalloc` module as a tuple: ``(current: int, peak: int)``." +"Get the current size and peak size of memory blocks traced by the :mod:`!" +"tracemalloc` module as a tuple: ``(current: int, peak: int)``." msgstr "" msgid "" -"Set the peak size of memory blocks traced by the :mod:`tracemalloc` module " +"Set the peak size of memory blocks traced by the :mod:`!tracemalloc` module " "to the current size." msgstr "" msgid "" -"Do nothing if the :mod:`tracemalloc` module is not tracing memory " +"Do nothing if the :mod:`!tracemalloc` module is not tracing memory " "allocations." msgstr "" @@ -430,12 +429,12 @@ msgid "See also :func:`get_traced_memory`." msgstr "" msgid "" -"Get the memory usage in bytes of the :mod:`tracemalloc` module used to store " -"traces of memory blocks. Return an :class:`int`." +"Get the memory usage in bytes of the :mod:`!tracemalloc` module used to " +"store traces of memory blocks. Return an :class:`int`." msgstr "" msgid "" -"``True`` if the :mod:`tracemalloc` module is tracing Python memory " +"``True`` if the :mod:`!tracemalloc` module is tracing Python memory " "allocations, ``False`` otherwise." msgstr "" @@ -461,9 +460,9 @@ msgid "" msgstr "" msgid "" -"Storing more frames increases the memory and CPU overhead of the :mod:" -"`tracemalloc` module. Use the :func:`get_tracemalloc_memory` function to " -"measure how much memory is used by the :mod:`tracemalloc` module." +"Storing more frames increases the memory and CPU overhead of the :mod:`!" +"tracemalloc` module. Use the :func:`get_tracemalloc_memory` function to " +"measure how much memory is used by the :mod:`!tracemalloc` module." msgstr "" msgid "" @@ -499,8 +498,8 @@ msgid "" msgstr "" msgid "" -"The snapshot does not include memory blocks allocated before the :mod:" -"`tracemalloc` module started to trace memory allocations." +"The snapshot does not include memory blocks allocated before the :mod:`!" +"tracemalloc` module started to trace memory allocations." msgstr "" msgid "" @@ -509,7 +508,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`tracemalloc` module must be tracing memory allocations to take a " +"The :mod:`!tracemalloc` module must be tracing memory allocations to take a " "snapshot, see the :func:`start` function." msgstr "" @@ -555,8 +554,8 @@ msgid "" msgstr "" msgid "" -"``Filter(False, tracemalloc.__file__)`` excludes traces of the :mod:" -"`tracemalloc` module" +"``Filter(False, tracemalloc.__file__)`` excludes traces of the :mod:`!" +"tracemalloc` module" msgstr "" msgid "``Filter(False, \"\")`` excludes empty tracebacks" @@ -708,8 +707,8 @@ msgstr "" msgid "" "If *cumulative* is ``True``, cumulate size and count of memory blocks of all " "frames of the traceback of a trace, not only the most recent frame. The " -"cumulative mode can only be used with *key_type* equals to ``'filename'`` " -"and ``'lineno'``." +"cumulative mode can only be used with *key_type* equal to ``'filename'`` and " +"``'lineno'``." msgstr "" msgid "" @@ -827,13 +826,11 @@ msgid "" "When a snapshot is taken, tracebacks of traces are limited to :func:" "`get_traceback_limit` frames. See the :func:`take_snapshot` function. The " "original number of frames of the traceback is stored in the :attr:`Traceback." -"total_nframe` attribute. That allows to know if a traceback has been " +"total_nframe` attribute. That allows one to know if a traceback has been " "truncated by the traceback limit." msgstr "" -msgid "" -"The :attr:`Trace.traceback` attribute is an instance of :class:`Traceback` " -"instance." +msgid "The :attr:`Trace.traceback` attribute is a :class:`Traceback` instance." msgstr "" msgid "" diff --git a/library/tty.po b/library/tty.po index 28b88d906c..6016638ad5 100644 --- a/library/tty.po +++ b/library/tty.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!tty` --- Terminal control functions" msgstr "" msgid "**Source code:** :source:`Lib/tty.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/tty.py`" msgid "" -"The :mod:`tty` module defines functions for putting the tty into cbreak and " +"The :mod:`!tty` module defines functions for putting the tty into cbreak and " "raw modes." msgstr "" @@ -41,7 +41,7 @@ msgid "" "Because it requires the :mod:`termios` module, it will work only on Unix." msgstr "" -msgid "The :mod:`tty` module defines the following functions:" +msgid "The :mod:`!tty` module defines the following functions:" msgstr "" msgid "" diff --git a/library/turtle.po b/library/turtle.po index 0aabdfdc7f..0906d7fa63 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -4,19 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stefan Ocetkiewicz , 2023 +# python-doc bot, 2025 # Maciej Olko , 2025 -# Stan Ulbrych, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +25,7 @@ msgstr "" "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" msgid ":mod:`!turtle` --- Turtle graphics" -msgstr "" +msgstr ":mod:`!turtle` --- Grafika żółwia" msgid "**Source code:** :source:`Lib/turtle.py`" msgstr "**Kod źródłowy:** :source:`Lib/turtle.py`" @@ -45,6 +43,17 @@ msgstr "" "Logo_(j%C4%99zyk_programowania)>`_, opracowanych przez Wally'ego Feurzeiga, " "Seymoura Paperta i Cynthię Solomon w 1967 roku." +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "Get started" msgstr "Rozpocznij" @@ -353,13 +362,16 @@ msgstr "" "sprawdź to z wyprzedzeniem, jeśli planujesz używać grafiki żółwia z uczniem." msgid "Automatically begin and end filling" -msgstr "" +msgstr "Automatyczne rozpoczęcie i zakończenie napełniania" msgid "" "Starting with Python 3.14, you can use the :func:`fill` :term:`context " "manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically " "begin and end fill. Here is an example::" msgstr "" +"Począwszy od Pythona 3.14, można użyć :term:`menedżera kontekstu ` :func:`fill` zamiast :func:`begin_fill` i :func:`end_fill`, aby " +"automatycznie rozpocząć i zakończyć wypełnianie. Oto przykład::" msgid "" "with fill():\n" @@ -369,9 +381,15 @@ msgid "" "\n" "forward(200)" msgstr "" +"with fill():\n" +" for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"\n" +"forward(200)" msgid "The code above is equivalent to::" -msgstr "" +msgstr "Powyższy kod jest równoważny poniższemu::" msgid "" "begin_fill()\n" @@ -382,6 +400,13 @@ msgid "" "\n" "forward(200)" msgstr "" +"begin_fill()\n" +"for i in range(4):\n" +" forward(100)\n" +" right(90)\n" +"end_fill()\n" +"\n" +"forward(200)" msgid "Use the ``turtle`` module namespace" msgstr "Użyć przestrzeni nazw modułu ``turtle``" @@ -671,7 +696,7 @@ msgid ":func:`filling`" msgstr ":func:`filling`" msgid ":func:`fill`" -msgstr "" +msgstr ":func:`fill`" msgid ":func:`begin_fill`" msgstr ":func:`begin_fill`" @@ -749,7 +774,7 @@ msgid "Special Turtle methods" msgstr "Specjalne metody żółwi" msgid ":func:`poly`" -msgstr "" +msgstr ":func:`poly`" msgid ":func:`begin_poly`" msgstr ":func:`begin_poly`" @@ -803,7 +828,7 @@ msgid "Animation control" msgstr "Kontrola animacji" msgid ":func:`no_animation`" -msgstr "" +msgstr ":func:`no_animation`" msgid ":func:`delay`" msgstr ":func:`delay`" @@ -881,7 +906,7 @@ msgid ":func:`exitonclick`" msgstr ":func:`exitonclick`" msgid ":func:`save`" -msgstr "" +msgstr ":func:`save`" msgid ":func:`setup`" msgstr ":func:`setup`" @@ -1276,10 +1301,11 @@ msgstr "colorstring lub numeryczna krotka koloru" msgid "" "Draw a circular dot with diameter *size*, using *color*. If *size* is not " -"given, the maximum of pensize+4 and 2*pensize is used." +"given, the maximum of ``pensize+4`` and ``2*pensize`` is used." msgstr "" "Rysuje okrągłą kropkę o średnicy *size*, używając koloru *color*. Jeśli nie " -"podano *size*, używana jest maksymalna wartość z pensize+4 i 2*pensize." +"podano *size*, używana jest maksymalna wartość z ``pensize+4`` i " +"``2*pensize``." msgid "" ">>> turtle.home()\n" @@ -1787,11 +1813,12 @@ msgstr "``pencolor()``" msgid "" "Return the current pencolor as color specification string or as a tuple (see " -"example). May be used as input to another color/pencolor/fillcolor call." +"example). May be used as input to another color/pencolor/fillcolor/bgcolor " +"call." msgstr "" "Zwraca bieżący kolor pióra jako ciąg specyfikacji koloru lub jako krotkę " "(patrz przykład). Może być użyty jako dane wejściowe do innego wywołania " -"color/pencolor/fillcolor." +"color/pencolor/fillcolor/bgcolor." msgid "``pencolor(colorstring)``" msgstr "``pencolor(colorstring)``" @@ -1878,11 +1905,11 @@ msgstr "``fillcolor()``" msgid "" "Return the current fillcolor as color specification string, possibly in " "tuple format (see example). May be used as input to another color/pencolor/" -"fillcolor call." +"fillcolor/bgcolor call." msgstr "" "Zwraca bieżący kolor wypełnienia jako ciąg specyfikacji koloru, ewentualnie " "w formacie krotki (patrz przykład). Może być użyty jako dane wejściowe do " -"innego wywołania color/pencolor/fillcolor." +"innego wywołania color/pencolor/fillcolor/bgcolor." msgid "``fillcolor(colorstring)``" msgstr "``fillcolor(colorstring)``" @@ -2034,18 +2061,23 @@ msgstr "" "... turtle.pensize(3)" msgid "Fill the shape drawn in the ``with turtle.fill():`` block." -msgstr "" +msgstr "Wypełnij kształt narysowany w bloku ``with turtle.fill():``." msgid "" ">>> turtle.color(\"black\", \"red\")\n" ">>> with turtle.fill():\n" "... turtle.circle(80)" msgstr "" +">>> turtle.color(\"black\", \"red\")\n" +">>> with turtle.fill():\n" +"... turtle.circle(80)" msgid "" "Using :func:`!fill` is equivalent to adding the :func:`begin_fill` before " "the fill-block and :func:`end_fill` after the fill-block:" msgstr "" +"Użycie :func:`!fill` jest równoznaczne z dodaniem :func:`begin_fill` przed " +"blokiem wypełnienia i :func:`end_fill` po bloku wypełnienia:" msgid "" ">>> turtle.color(\"black\", \"red\")\n" @@ -2212,14 +2244,18 @@ msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." msgstr "" +"\"user\": dostosowuje wygląd żółwia zgodnie z wartościami stretchfactor i " +"outlinewidth (outline), które są ustawiane przez :func:`shapesize`." msgid "\"noresize\": no adaption of the turtle's appearance takes place." -msgstr "" +msgstr "\"noresize\": nie następuje adaptacja wyglądu żółwia." msgid "" "``resizemode(\"user\")`` is called by :func:`shapesize` when used with " "arguments." msgstr "" +"``resizemode(\"user\")`` jest wywoływana przez :func:`shapesize`, gdy jest " +"użyte z argumentami." msgid "" ">>> turtle.resizemode()\n" @@ -2235,7 +2271,7 @@ msgstr "" "'auto'" msgid "positive number" -msgstr "" +msgstr "liczba dodatnia" msgid "" "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " @@ -2577,12 +2613,41 @@ msgid "" "``screen``." msgstr "" +msgid "Return or set the background color of the TurtleScreen." +msgstr "" + +msgid "``bgcolor()``" +msgstr "" + +msgid "" +"Return the current background color as color specification string or as a " +"tuple (see example). May be used as input to another color/pencolor/" +"fillcolor/bgcolor call." +msgstr "" + +msgid "``bgcolor(colorstring)``" +msgstr "" + +msgid "" +"Set the background color to *colorstring*, which is a Tk color specification " +"string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." +msgstr "" + +msgid "``bgcolor((r, g, b))``" +msgstr "" + msgid "" -"a color string or three numbers in the range 0..colormode or a 3-tuple of " -"such numbers" +"Set the background color to the RGB color represented by the tuple of *r*, " +"*g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, " +"where colormode is either 1.0 or 255 (see :func:`colormode`)." +msgstr "" + +msgid "``bgcolor(r, g, b)``" msgstr "" -msgid "Set or return background color of the TurtleScreen." +msgid "" +"Set the background color to the RGB color represented by *r*, *g*, and *b*. " +"Each of *r*, *g*, and *b* must be in the range 0..colormode." msgstr "" msgid "" @@ -2908,7 +2973,7 @@ msgid "" msgstr "" msgid "" -"Mode \"standard\" is compatible with old :mod:`turtle`. Mode \"logo\" is " +"Mode \"standard\" is compatible with old :mod:`!turtle`. Mode \"logo\" is " "compatible with most Logo turtle graphics. Mode \"world\" uses user-defined " "\"world coordinates\". **Attention**: in this mode angles appear distorted " "if ``x/y`` unit-ratio doesn't equal 1." @@ -3429,9 +3494,9 @@ msgid "" msgstr "" msgid "" -"If you (or your students) want to use :mod:`turtle` with online help in your " -"native language, you have to translate the docstrings and save the resulting " -"file as e.g. :file:`turtle_docstringdict_german.py`." +"If you (or your students) want to use :mod:`!turtle` with online help in " +"your native language, you have to translate the docstrings and save the " +"resulting file as e.g. :file:`turtle_docstringdict_german.py`." msgstr "" msgid "" @@ -3520,7 +3585,7 @@ msgstr "" msgid "" "If you set e.g. ``language = italian`` the docstringdict :file:" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " -"on the import path, e.g. in the same directory as :mod:`turtle`)." +"on the import path, e.g. in the same directory as :mod:`!turtle`)." msgstr "" msgid "" @@ -3537,7 +3602,7 @@ msgid "" msgstr "" msgid "" -"There can be a :file:`turtle.cfg` file in the directory where :mod:`turtle` " +"There can be a :file:`turtle.cfg` file in the directory where :mod:`!turtle` " "is stored and an additional one in the current working directory. The " "latter will override the settings of the first one." msgstr "" @@ -3548,12 +3613,12 @@ msgid "" "(preferably not from within the demo-viewer)." msgstr "" -msgid ":mod:`turtledemo` --- Demo scripts" +msgid ":mod:`!turtledemo` --- Demo scripts" msgstr "" msgid "" -"The :mod:`turtledemo` package includes a set of demo scripts. These scripts " -"can be run and viewed using the supplied demo viewer as follows::" +"The :mod:`!turtledemo` package includes a set of demo scripts. These " +"scripts can be run and viewed using the supplied demo viewer as follows::" msgstr "" msgid "python -m turtledemo" @@ -3566,7 +3631,7 @@ msgstr "" msgid "python -m turtledemo.bytedesign" msgstr "" -msgid "The :mod:`turtledemo` package directory contains:" +msgid "The :mod:`!turtledemo` package directory contains:" msgstr "" msgid "" @@ -3575,7 +3640,7 @@ msgid "" msgstr "" msgid "" -"Multiple scripts demonstrating different features of the :mod:`turtle` " +"Multiple scripts demonstrating different features of the :mod:`!turtle` " "module. Examples can be accessed via the Examples menu. They can also be " "run standalone." msgstr "" @@ -3597,16 +3662,16 @@ msgstr "Opis" msgid "Features" msgstr "" -msgid "bytedesign" +msgid "``bytedesign``" msgstr "" msgid "complex classical turtle graphics pattern" msgstr "" -msgid ":func:`tracer`, delay, :func:`update`" +msgid ":func:`tracer`, :func:`delay`, :func:`update`" msgstr "" -msgid "chaos" +msgid "``chaos``" msgstr "" msgid "" @@ -3617,22 +3682,22 @@ msgstr "" msgid "world coordinates" msgstr "" -msgid "clock" +msgid "``clock``" msgstr "" msgid "analog clock showing time of your computer" msgstr "" -msgid "turtles as clock's hands, ontimer" +msgid "turtles as clock's hands, :func:`ontimer`" msgstr "" -msgid "colormixer" +msgid "``colormixer``" msgstr "" msgid "experiment with r, g, b" msgstr "" -msgid "forest" +msgid "``forest``" msgstr "" msgid "3 breadth-first trees" @@ -3641,7 +3706,7 @@ msgstr "" msgid "randomization" msgstr "" -msgid "fractalcurves" +msgid "``fractalcurves``" msgstr "" msgid "Hilbert & Koch curves" @@ -3650,7 +3715,7 @@ msgstr "" msgid "recursion" msgstr "" -msgid "lindenmayer" +msgid "``lindenmayer``" msgstr "" msgid "ethnomathematics (indian kolams)" @@ -3659,16 +3724,16 @@ msgstr "" msgid "L-System" msgstr "" -msgid "minimal_hanoi" +msgid "``minimal_hanoi``" msgstr "" msgid "Towers of Hanoi" msgstr "" -msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" +msgid "Rectangular Turtles as Hanoi discs (:func:`shape`, :func:`shapesize`)" msgstr "" -msgid "nim" +msgid "``nim``" msgstr "" msgid "" @@ -3678,13 +3743,13 @@ msgstr "" msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "" -msgid "paint" +msgid "``paint``" msgstr "" msgid "super minimalistic drawing program" msgstr "" -msgid "peace" +msgid "``peace``" msgstr "" msgid "elementary" @@ -3693,13 +3758,13 @@ msgstr "" msgid "turtle: appearance and animation" msgstr "" -msgid "penrose" +msgid "``penrose``" msgstr "" msgid "aperiodic tiling with kites and darts" msgstr "" -msgid "planet_and_moon" +msgid "``planet_and_moon``" msgstr "" msgid "simulation of gravitational system" @@ -3708,7 +3773,7 @@ msgstr "" msgid "compound shapes, :class:`Vec2D`" msgstr "" -msgid "rosette" +msgid "``rosette``" msgstr "" msgid "a pattern from the wikipedia article on turtle graphics" @@ -3717,16 +3782,18 @@ msgstr "" msgid ":func:`clone`, :func:`undo`" msgstr "" -msgid "round_dance" +msgid "``round_dance``" msgstr "" msgid "dancing turtles rotating pairwise in opposite direction" msgstr "" -msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" +msgid "" +"compound shapes, :func:`clone` :func:`shapesize`, :func:`tilt`, :func:" +"`get_shapepoly`, :func:`update`" msgstr "" -msgid "sorting_animate" +msgid "``sorting_animate``" msgstr "" msgid "visual demonstration of different sorting methods" @@ -3735,13 +3802,13 @@ msgstr "" msgid "simple alignment, randomization" msgstr "" -msgid "tree" +msgid "``tree``" msgstr "" msgid "a (graphical) breadth first tree (using generators)" msgstr "" -msgid "two_canvases" +msgid "``two_canvases``" msgstr "" msgid "simple design" @@ -3750,7 +3817,7 @@ msgstr "" msgid "turtles on two canvases" msgstr "" -msgid "yinyang" +msgid "``yinyang``" msgstr "" msgid "another elementary example" diff --git a/library/types.po b/library/types.po index 55c8c04bc5..22edce4f4f 100644 --- a/library/types.po +++ b/library/types.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!types` --- Dynamic type creation and names for built-in types" msgstr "" msgid "**Source code:** :source:`Lib/types.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/types.py`" msgid "" "This module defines utility functions to assist in dynamic creation of new " diff --git a/library/typing.po b/library/typing.po index c12625273d..55be53e3a5 100644 --- a/library/typing.po +++ b/library/typing.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +27,7 @@ msgid ":mod:`!typing` --- Support for type hints" msgstr "" msgid "**Source code:** :source:`Lib/typing.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/typing.py`" msgid "" "The Python runtime does not enforce function and variable type annotations. " @@ -69,16 +66,16 @@ msgid "" msgstr "" msgid "" -"`\"Typing cheat sheet\" `_" +"`Typing cheat sheet `_" msgstr "" msgid "A quick overview of type hints (hosted at the mypy docs)" msgstr "" msgid "" -"\"Type System Reference\" section of `the mypy docs `_" +"Type System Reference section of `the mypy docs `_" msgstr "" msgid "" @@ -87,7 +84,7 @@ msgid "" "specific to mypy.)" msgstr "" -msgid "`\"Static Typing with Python\" `_" +msgid "`Static Typing with Python `_" msgstr "" msgid "" @@ -100,8 +97,8 @@ msgstr "" msgid "" "The canonical, up-to-date specification of the Python type system can be " -"found at `\"Specification for the Python type system\" `_." +"found at `Specification for the Python type system `_." msgstr "" msgid "Type aliases" @@ -310,8 +307,8 @@ msgstr "" msgid "" "The subscription syntax must always be used with exactly two values: the " "argument list and the return type. The argument list must be a list of " -"types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis. The return " -"type must be a single type." +"types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis (``...``). " +"The return type must be a single type." msgstr "" msgid "" @@ -483,9 +480,9 @@ msgstr "" msgid "" "To denote a tuple which could be of *any* length, and in which all elements " -"are of the same type ``T``, use ``tuple[T, ...]``. To denote an empty tuple, " -"use ``tuple[()]``. Using plain ``tuple`` as an annotation is equivalent to " -"using ``tuple[Any, ...]``::" +"are of the same type ``T``, use the literal ellipsis ``...``: " +"``tuple[T, ...]``. To denote an empty tuple, use ``tuple[()]``. Using plain " +"``tuple`` as an annotation is equivalent to using ``tuple[Any, ...]``::" msgstr "" msgid "" @@ -1035,9 +1032,9 @@ msgid "" msgstr "" msgid "" -":pep:`544` allows to solve this problem by allowing users to write the above " -"code without explicit base classes in the class definition, allowing " -"``Bucket`` to be implicitly considered a subtype of both ``Sized`` and " +":pep:`544` solves this problem by allowing users to write the above code " +"without explicit base classes in the class definition, allowing ``Bucket`` " +"to be implicitly considered a subtype of both ``Sized`` and " "``Iterable[int]`` by static type checkers. This is known as *structural " "subtyping* (or static duck-typing)::" msgstr "" @@ -1713,10 +1710,10 @@ msgstr "" msgid "" "Using ``Annotated[T, x]`` as an annotation still allows for static " "typechecking of ``T``, as type checkers will simply ignore the metadata " -"``x``. In this way, ``Annotated`` differs from the :func:`@no_type_check " -"` decorator, which can also be used for adding annotations " -"outside the scope of the typing system, but completely disables typechecking " -"for a function or class." +"``x``. In this way, ``Annotated`` differs from the :deco:`no_type_check` " +"decorator, which can also be used for adding annotations outside the scope " +"of the typing system, but completely disables typechecking for a function or " +"class." msgstr "" msgid "" @@ -2726,7 +2723,7 @@ msgstr "" ">>> Alias.__name__\n" "'Alias'" -msgid "The module in which the type alias was defined::" +msgid "The name of the module in which the type alias was defined::" msgstr "" msgid "" @@ -2915,6 +2912,11 @@ msgid "" "``__annotations__`` attribute which has the same information." msgstr "" +msgid "" +"``NamedTuple`` is now a function rather than a class. It can still be used " +"as a class base, as described above." +msgstr "" + msgid "Added support for generic namedtuples." msgstr "" @@ -2953,7 +2955,7 @@ msgid "" "runtime" msgstr "" -msgid "The module in which the new type is defined." +msgid "The name of the module in which the new type is defined." msgstr "" msgid "The name of the new type." @@ -3083,12 +3085,12 @@ msgid "" "runtime as soon as the class has been created. Monkey-patching attributes " "onto a runtime-checkable protocol will still work, but will have no impact " "on :func:`isinstance` checks comparing objects to the protocol. See :ref:" -"`\"What's new in Python 3.12\" ` for more details." +"`What's new in Python 3.12 ` for more details." msgstr "" msgid "" -"Special construct to add type hints to a dictionary. At runtime it is a " -"plain :class:`dict`." +"Special construct to add type hints to a dictionary. At runtime \":class:`!" +"TypedDict` instances\" are simply :class:`dicts `." msgstr "" msgid "" @@ -3357,6 +3359,11 @@ msgid "" "detailed rules." msgstr "" +msgid "" +"``TypedDict`` is now a function rather than a class. It can still be used as " +"a class base, as described above." +msgstr "" + msgid "" "Added support for marking individual keys as :data:`Required` or :data:" "`NotRequired`. See :pep:`655`." @@ -3387,7 +3394,7 @@ msgstr "" msgid "" "The following protocols are provided by the :mod:`!typing` module. All are " -"decorated with :func:`@runtime_checkable `." +"decorated with :deco:`runtime_checkable`." msgstr "" msgid "" @@ -3588,7 +3595,7 @@ msgid "" "function that is itself a decorator. The presence of " "``@dataclass_transform()`` tells a static type checker that the decorated " "object performs runtime \"magic\" that transforms a class in a similar way " -"to :func:`@dataclasses.dataclass `." +"to :deco:`dataclasses.dataclass`." msgstr "" msgid "Example usage with a decorator function:" @@ -3634,18 +3641,18 @@ msgstr "" msgid "" "The ``CustomerModel`` classes defined above will be treated by type checkers " -"similarly to classes created with :func:`@dataclasses.dataclass `. For example, type checkers will assume these classes have " -"``__init__`` methods that accept ``id`` and ``name``." +"similarly to classes created with :deco:`dataclasses.dataclass`. For " +"example, type checkers will assume these classes have ``__init__`` methods " +"that accept ``id`` and ``name``." msgstr "" msgid "" "The decorated class, metaclass, or function may accept the following bool " "arguments which type checkers will assume have the same effect as they would " -"have on the :func:`@dataclasses.dataclass` decorator: " -"``init``, ``eq``, ``order``, ``unsafe_hash``, ``frozen``, ``match_args``, " -"``kw_only``, and ``slots``. It must be possible for the value of these " -"arguments (``True`` or ``False``) to be statically evaluated." +"have on the :deco:`dataclasses.dataclass` decorator: ``init``, ``eq``, " +"``order``, ``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, and " +"``slots``. It must be possible for the value of these arguments (``True`` or " +"``False``) to be statically evaluated." msgstr "" msgid "" @@ -3813,18 +3820,16 @@ msgid "" "`get_overloads`." msgstr "" -msgid "" -"Return a sequence of :func:`@overload `-decorated definitions for " -"*func*." +msgid "Return a sequence of :deco:`overload`-decorated definitions for *func*." msgstr "" msgid "" "*func* is the function object for the implementation of the overloaded " "function. For example, given the definition of ``process`` in the " -"documentation for :func:`@overload `, ``get_overloads(process)`` " -"will return a sequence of three function objects for the three defined " -"overloads. If called on a function with no overloads, ``get_overloads()`` " -"returns an empty sequence." +"documentation for :deco:`overload`, ``get_overloads(process)`` will return a " +"sequence of three function objects for the three defined overloads. If " +"called on a function with no overloads, ``get_overloads()`` returns an empty " +"sequence." msgstr "" msgid "" @@ -3966,8 +3971,8 @@ msgid "Introspection helpers" msgstr "" msgid "" -"Return a dictionary containing type hints for a function, method, module or " -"class object." +"Return a dictionary containing type hints for a function, method, module, " +"class object, or other callable object." msgstr "" msgid "" @@ -3987,8 +3992,8 @@ msgid "``None`` is replaced with :class:`types.NoneType`." msgstr "" msgid "" -"If :func:`@no_type_check ` has been applied to *obj*, an " -"empty dictionary is returned." +"If :deco:`no_type_check` has been applied to *obj*, an empty dictionary is " +"returned." msgstr "" msgid "" @@ -4001,16 +4006,22 @@ msgid "" msgstr "" msgid "" -"The function recursively replaces all occurrences of ``Annotated[T, ...]`` " -"with ``T``, unless *include_extras* is set to ``True`` (see :class:" -"`Annotated` for more information)." +"The function recursively replaces all occurrences of ``Annotated[T, ...]``, " +"``Required[T]``, ``NotRequired[T]``, and ``ReadOnly[T]`` with ``T``, unless " +"*include_extras* is set to ``True`` (see :class:`Annotated` for more " +"information)." msgstr "" msgid "" -"See also :func:`inspect.get_annotations`, a lower-level function that " +"See also :func:`annotationlib.get_annotations`, a lower-level function that " "returns annotations more directly." msgstr "" +msgid "" +"This function may execute arbitrary code contained in annotations. See :ref:" +"`annotationlib-security` for more information." +msgstr "" + msgid "" "If any forward references in the annotations of *obj* are not resolvable or " "are not valid Python code, this function will raise an exception such as :" @@ -4019,6 +4030,12 @@ msgid "" "imported under :data:`if TYPE_CHECKING `." msgstr "" +msgid "" +"Calling :func:`get_type_hints` on an instance is not supported. To retrieve " +"annotations for an instance, call :func:`get_type_hints` on the instance's " +"class instead (for example, ``get_type_hints(type(obj))``)." +msgstr "" + msgid "" "Added ``include_extras`` parameter as part of :pep:`593`. See the " "documentation on :data:`Annotated` for more information." @@ -4030,6 +4047,12 @@ msgid "" "unchanged." msgstr "" +msgid "" +"Calling :func:`get_type_hints` on instances is no longer supported. Some " +"instances were accepted in earlier versions as an undocumented " +"implementation detail." +msgstr "" + msgid "" "Get the unsubscripted version of a type: for a typing object of the form " "``X[Y, Z, ...]`` return ``X``." @@ -4143,32 +4166,14 @@ msgstr "" msgid "" "This is similar to calling :meth:`annotationlib.ForwardRef.evaluate`, but " -"unlike that method, :func:`!evaluate_forward_ref` also:" -msgstr "" - -msgid "Recursively evaluates forward references nested within the type hint." -msgstr "" - -msgid "" -"Raises :exc:`TypeError` when it encounters certain objects that are not " -"valid type hints." -msgstr "" - -msgid "" -"Replaces type hints that evaluate to :const:`!None` with :class:`types." -"NoneType`." -msgstr "" - -msgid "" -"Supports the :attr:`~annotationlib.Format.FORWARDREF` and :attr:" -"`~annotationlib.Format.STRING` formats." +"unlike that method, :func:`!evaluate_forward_ref` also recursively evaluates " +"forward references nested within the type hint." msgstr "" msgid "" "See the documentation for :meth:`annotationlib.ForwardRef.evaluate` for the " -"meaning of the *owner*, *globals*, *locals*, and *type_params* parameters. " -"*format* specifies the format of the annotation and is a member of the :" -"class:`annotationlib.Format` enum." +"meaning of the *owner*, *globals*, *locals*, *type_params*, and *format* " +"parameters." msgstr "" msgid "" @@ -4190,29 +4195,34 @@ msgstr "Stała" msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " -"checkers. It is ``False`` at runtime." +"checkers. It's ``False`` at runtime." +msgstr "" + +msgid "" +"A module which is expensive to import, and which only contain types used for " +"typing annotations, can be safely imported inside an ``if TYPE_CHECKING:`` " +"block. This prevents the module from actually being imported at runtime; " +"annotations aren't eagerly evaluated (see :pep:`649`) so using undefined " +"symbols in annotations is harmless--as long as you don't later examine them. " +"Your static type analysis tool will set ``TYPE_CHECKING`` to ``True`` during " +"static type analysis, which means the module will be imported and the types " +"will be checked properly during such analysis." msgstr "" msgid "" "if TYPE_CHECKING:\n" " import expensive_mod\n" "\n" -"def fun(arg: 'expensive_mod.SomeType') -> None:\n" +"def fun(arg: expensive_mod.SomeType) -> None:\n" " local_var: expensive_mod.AnotherType = other_fun()" msgstr "" msgid "" -"The first type annotation must be enclosed in quotes, making it a \"forward " -"reference\", to hide the ``expensive_mod`` reference from the interpreter " -"runtime. Type annotations for local variables are not evaluated, so the " -"second annotation does not need to be enclosed in quotes." -msgstr "" - -msgid "" -"If ``from __future__ import annotations`` is used, annotations are not " -"evaluated at function definition time. Instead, they are stored as strings " -"in ``__annotations__``. This makes it unnecessary to use quotes around the " -"annotation (see :pep:`563`)." +"If you occasionally need to examine type annotations at runtime which may " +"contain undefined symbols, use :meth:`annotationlib.get_annotations` with a " +"``format`` parameter of :attr:`annotationlib.Format.STRING` or :attr:" +"`annotationlib.Format.FORWARDREF` to safely retrieve the annotations without " +"raising :exc:`NameError`." msgstr "" msgid "Deprecated aliases" @@ -4423,6 +4433,30 @@ msgid "" "`585` and :ref:`types-genericalias`." msgstr "" +msgid "Deprecated alias to :class:`collections.abc.ByteString`." +msgstr "" + +msgid "" +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`~collections.abc.Buffer` or a union " +"that explicitly specifies the types your code supports (e.g., ``bytes | " +"bytearray | memoryview``)." +msgstr "" + +msgid "" +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." +msgstr "" + +msgid "See :pep:`PEP 688 <688#current-options>` for more details." +msgstr "" + msgid "Deprecated alias to :class:`collections.abc.Collection`." msgstr "" @@ -4709,6 +4743,15 @@ msgstr "" msgid ":pep:`585`" msgstr ":pep:`585`" +msgid ":class:`typing.ByteString`" +msgstr ":class:`typing.ByteString`" + +msgid "3.17" +msgstr "" + +msgid ":gh:`91896`" +msgstr ":gh:`91896`" + msgid ":data:`typing.Text`" msgstr ":data:`typing.Text`" @@ -4737,7 +4780,7 @@ msgid ":pep:`695`" msgstr ":pep:`695`" msgid ":func:`@typing.no_type_check_decorator `" -msgstr "" +msgstr ":func:`@typing.no_type_check_decorator `" msgid "3.13" msgstr "" @@ -4756,3 +4799,9 @@ msgstr "" msgid ":gh:`105578`" msgstr ":gh:`105578`" + +msgid "..." +msgstr "..." + +msgid "ellipsis literal" +msgstr "Literalny zapis wielokropka" diff --git a/library/unicodedata.po b/library/unicodedata.po index aa3380c83b..884d67d124 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -40,9 +39,30 @@ msgid "" "tr44/>`_. It defines the following functions:" msgstr "" +msgid "" +"The :ref:`unicode-howto` for more information about Unicode and how to use " +"this module." +msgstr "" + msgid "" "Look up character by name. If a character with the given name is found, " -"return the corresponding character. If not found, :exc:`KeyError` is raised." +"return the corresponding character. If not found, :exc:`KeyError` is " +"raised. For example::" +msgstr "" + +msgid "" +">>> unicodedata.lookup('LEFT CURLY BRACKET')\n" +"'{'" +msgstr "" + +msgid "" +"The characters returned by this function are the same as those produced by " +"``\\N`` escape sequence in string literals. For example::" +msgstr "" + +msgid "" +">>> unicodedata.lookup('MIDDLE DOT') == '\\N{MIDDLE DOT}'\n" +"True" msgstr "" msgid "Support for name aliases [#]_ and named sequences [#]_ has been added." @@ -51,52 +71,112 @@ msgstr "" msgid "" "Returns the name assigned to the character *chr* as a string. If no name is " "defined, *default* is returned, or, if not given, :exc:`ValueError` is " -"raised." +"raised. For example::" +msgstr "" + +msgid "" +">>> unicodedata.name('½')\n" +"'VULGAR FRACTION ONE HALF'\n" +">>> unicodedata.name('\\uFFFF', 'fallback')\n" +"'fallback'" msgstr "" msgid "" "Returns the decimal value assigned to the character *chr* as integer. If no " "such value is defined, *default* is returned, or, if not given, :exc:" -"`ValueError` is raised." +"`ValueError` is raised. For example::" +msgstr "" + +msgid "" +">>> unicodedata.decimal('\\N{ARABIC-INDIC DIGIT NINE}')\n" +"9\n" +">>> unicodedata.decimal('\\N{SUPERSCRIPT NINE}', -1)\n" +"-1" msgstr "" msgid "" "Returns the digit value assigned to the character *chr* as integer. If no " "such value is defined, *default* is returned, or, if not given, :exc:" -"`ValueError` is raised." +"`ValueError` is raised::" +msgstr "" + +msgid "" +">>> unicodedata.digit('\\N{SUPERSCRIPT NINE}')\n" +"9" msgstr "" msgid "" "Returns the numeric value assigned to the character *chr* as float. If no " "such value is defined, *default* is returned, or, if not given, :exc:" -"`ValueError` is raised." +"`ValueError` is raised::" +msgstr "" + +msgid "" +">>> unicodedata.numeric('½')\n" +"0.5" +msgstr "" + +msgid "" +"Returns the general category assigned to the character *chr* as string. " +"General category names consist of two letters. See the `General Category " +"Values section of the Unicode Character Database documentation `_ for a list " +"of category codes. For example::" msgstr "" -msgid "Returns the general category assigned to the character *chr* as string." +msgid "" +">>> unicodedata.category('A') # 'L'etter, 'u'ppercase\n" +"'Lu'" msgstr "" msgid "" "Returns the bidirectional class assigned to the character *chr* as string. " -"If no such value is defined, an empty string is returned." +"If no such value is defined, an empty string is returned. See the " +"`Bidirectional Class Values section of the Unicode Character Database " +"`_ " +"documentation for a list of bidirectional codes. For example::" +msgstr "" + +msgid "" +">>> unicodedata.bidirectional('\\N{ARABIC-INDIC DIGIT SEVEN}') # 'A'rabic, " +"'N'umber\n" +"'AN'" msgstr "" msgid "" "Returns the canonical combining class assigned to the character *chr* as " -"integer. Returns ``0`` if no combining class is defined." +"integer. Returns ``0`` if no combining class is defined. See the `Canonical " +"Combining Class Values section of the Unicode Character Database `_ for more information." msgstr "" -msgid "Returns the east asian width assigned to the character *chr* as string." +msgid "" +"Returns the east asian width assigned to the character *chr* as string. For " +"a list of widths and or more information, see the `Unicode Standard Annex " +"#11 `_." msgstr "" msgid "" "Returns the mirrored property assigned to the character *chr* as integer. " "Returns ``1`` if the character has been identified as a \"mirrored\" " -"character in bidirectional text, ``0`` otherwise." +"character in bidirectional text, ``0`` otherwise. For example::" +msgstr "" + +msgid "" +">>> unicodedata.mirrored('>')\n" +"1" msgstr "" msgid "" "Returns the character decomposition mapping assigned to the character *chr* " -"as string. An empty string is returned in case no such mapping is defined." +"as string. An empty string is returned in case no such mapping is defined. " +"For example::" +msgstr "" + +msgid "" +">>> unicodedata.decomposition('Ã')\n" +"'0041 0303'" msgstr "" msgid "" @@ -127,14 +207,14 @@ msgid "" "which normally would be unified with other characters. For example, U+2160 " "(ROMAN NUMERAL ONE) is really the same thing as U+0049 (LATIN CAPITAL LETTER " "I). However, it is supported in Unicode for compatibility with existing " -"character sets (e.g. gb2312)." +"character sets (for example, gb2312)." msgstr "" msgid "" -"The normal form KD (NFKD) will apply the compatibility decomposition, i.e. " -"replace all compatibility characters with their equivalents. The normal form " -"KC (NFKC) first applies the compatibility decomposition, followed by the " -"canonical composition." +"The normal form KD (NFKD) will apply the compatibility decomposition, that " +"is, replace all compatibility characters with their equivalents. The normal " +"form KC (NFKC) first applies the compatibility decomposition, followed by " +"the canonical composition." msgstr "" msgid "" @@ -160,14 +240,11 @@ msgid "" "specific version of the Unicode database (such as IDNA)." msgstr "" -msgid "Examples:" -msgstr "Przykłady:" - msgid "Footnotes" msgstr "Przypisy" msgid "https://www.unicode.org/Public/16.0.0/ucd/NameAliases.txt" -msgstr "" +msgstr "https://www.unicode.org/Public/16.0.0/ucd/NameAliases.txt" msgid "https://www.unicode.org/Public/16.0.0/ucd/NamedSequences.txt" msgstr "" diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index a9cfe67338..a372ac60f8 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +29,7 @@ msgstr "" msgid "Using Mock" msgstr "" -msgid "Mock Patching Methods" +msgid "Mock patching methods" msgstr "" msgid "Common uses for :class:`Mock` objects include:" @@ -69,7 +69,7 @@ msgid "" "call to the ``something`` method:" msgstr "" -msgid "Mock for Method Calls on an Object" +msgid "Mock for method calls on an object" msgstr "" msgid "" @@ -96,7 +96,7 @@ msgid "" "assert_called_with` will raise a failure exception." msgstr "" -msgid "Mocking Classes" +msgid "Mocking classes" msgstr "" msgid "" @@ -135,7 +135,7 @@ msgid "" "The name is also propagated to attributes or methods of the mock:" msgstr "" -msgid "Tracking all Calls" +msgid "Tracking all calls" msgstr "" msgid "" @@ -162,7 +162,7 @@ msgid "" "ancestors are important:" msgstr "" -msgid "Setting Return Values and Attributes" +msgid "Setting return values and attributes" msgstr "" msgid "Setting the return values on a mock object is trivially easy:" @@ -240,7 +240,7 @@ msgid "" "return an async function." msgstr "" -msgid "Creating a Mock from an Existing Object" +msgid "Creating a mock from an existing object" msgstr "" msgid "" @@ -315,7 +315,7 @@ msgid "" " assert file2.read() == \"default\"" msgstr "" -msgid "Patch Decorators" +msgid "Patch decorators" msgstr "" msgid "" @@ -432,7 +432,7 @@ msgid "" "decorator individually to every method whose name starts with \"test\"." msgstr "" -msgid "Further Examples" +msgid "Further examples" msgstr "" msgid "Here are some more examples for some slightly more advanced scenarios." @@ -532,17 +532,17 @@ msgid "Partial mocking" msgstr "" msgid "" -"In some tests I wanted to mock out a call to :meth:`datetime.date.today` to " -"return a known date, but I didn't want to prevent the code under test from " -"creating new date objects. Unfortunately :class:`datetime.date` is written " -"in C, and so I couldn't just monkey-patch out the static :meth:`datetime." +"For some tests, you may want to mock out a call to :meth:`datetime.date." +"today` to return a known date, but don't want to prevent the code under test " +"from creating new date objects. Unfortunately :class:`datetime.date` is " +"written in C, so you cannot just monkey-patch out the static :meth:`datetime." "date.today` method." msgstr "" msgid "" -"I found a simple way of doing this that involved effectively wrapping the " -"date class with a mock, but passing through calls to the constructor to the " -"real class (and returning real instances)." +"Instead, you can effectively wrap the date class with a mock, while passing " +"through calls to the constructor to the real class (and returning real " +"instances)." msgstr "" msgid "" @@ -554,13 +554,13 @@ msgid "" msgstr "" msgid "" -">>> from datetime import date\n" +">>> import datetime as dt\n" ">>> with patch('mymodule.date') as mock_date:\n" -"... mock_date.today.return_value = date(2010, 10, 8)\n" -"... mock_date.side_effect = lambda *args, **kw: date(*args, **kw)\n" +"... mock_date.today.return_value = dt.date(2010, 10, 8)\n" +"... mock_date.side_effect = lambda *args, **kw: dt.date(*args, **kw)\n" "...\n" -"... assert mymodule.date.today() == date(2010, 10, 8)\n" -"... assert mymodule.date(2009, 6, 8) == date(2009, 6, 8)" +"... assert mymodule.date.today() == dt.date(2010, 10, 8)\n" +"... assert mymodule.date(2009, 6, 8) == dt.date(2009, 6, 8)" msgstr "" msgid "" @@ -586,7 +586,7 @@ msgid "" "unit-testing-in-django-with-mocking-and-patching/>`_." msgstr "" -msgid "Mocking a Generator Method" +msgid "Mocking a generator method" msgstr "" msgid "" @@ -694,20 +694,20 @@ msgid "" ">>> MyTest('test_foo').run()" msgstr "" -msgid "Mocking Unbound Methods" +msgid "Mocking unbound methods" msgstr "" msgid "" -"Whilst writing tests today I needed to patch an *unbound method* (patching " -"the method on the class rather than on the instance). I needed self to be " -"passed in as the first argument because I want to make asserts about which " -"objects were calling this particular method. The issue is that you can't " -"patch with a mock for this, because if you replace an unbound method with a " -"mock it doesn't become a bound method when fetched from the instance, and so " -"it doesn't get self passed in. The workaround is to patch the unbound method " -"with a real function instead. The :func:`patch` decorator makes it so simple " -"to patch out methods with a mock that having to create a real function " -"becomes a nuisance." +"Sometimes a test needs to patch an *unbound method*, which means patching " +"the method on the class rather than on the instance. In order to make " +"assertions about which objects were calling this particular method, you need " +"to pass ``self`` as the first argument. The issue is that you can't patch " +"with a mock for this, because if you replace an unbound method with a mock " +"it doesn't become a bound method when fetched from the instance, and so it " +"doesn't get ``self`` passed in. The workaround is to patch the unbound " +"method with a real function instead. The :func:`patch` decorator makes it so " +"simple to patch out methods with a mock that having to create a real " +"function becomes a nuisance." msgstr "" msgid "" @@ -718,7 +718,7 @@ msgid "" "though, is that if you use it to patch out an unbound method on a class the " "mocked function will be turned into a bound method if it is fetched from an " "instance. It will have ``self`` passed in as the first argument, which is " -"exactly what I wanted:" +"exactly what was needed:" msgstr "" msgid "" @@ -863,7 +863,7 @@ msgid "" "``CopyingMock``." msgstr "" -msgid "Nesting Patches" +msgid "Nesting patches" msgstr "" msgid "" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 7b3954ae01..1efd3012a1 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,16 +27,16 @@ msgid ":mod:`!unittest.mock` --- mock object library" msgstr "" msgid "**Source code:** :source:`Lib/unittest/mock.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/unittest/mock.py`" msgid "" -":mod:`unittest.mock` is a library for testing in Python. It allows you to " +":mod:`!unittest.mock` is a library for testing in Python. It allows you to " "replace parts of your system under test with mock objects and make " "assertions about how they have been used." msgstr "" msgid "" -":mod:`unittest.mock` provides a core :class:`Mock` class removing the need " +":mod:`!unittest.mock` provides a core :class:`Mock` class removing the need " "to create a host of stubs throughout your test suite. After performing an " "action, you can make assertions about which methods / attributes were used " "and arguments they were called with. You can also specify return values and " @@ -60,7 +58,7 @@ msgid "" msgstr "" msgid "" -"There is a backport of :mod:`unittest.mock` for earlier versions of Python, " +"There is a backport of :mod:`!unittest.mock` for earlier versions of Python, " "available as :pypi:`mock` on PyPI." msgstr "" @@ -505,9 +503,9 @@ msgid "" "This is either ``None`` (if the mock hasn't been called), or the arguments " "that the mock was last called with. This will be in the form of a tuple: the " "first member, which can also be accessed through the ``args`` property, is " -"any ordered arguments the mock was called with (or an empty tuple) and the " -"second member, which can also be accessed through the ``kwargs`` property, " -"is any keyword arguments (or an empty dictionary)." +"any positional arguments the mock was called with (or an empty tuple) and " +"the second member, which can also be accessed through the ``kwargs`` " +"property, is any keyword arguments (or an empty dictionary)." msgstr "" msgid "" @@ -2375,7 +2373,7 @@ msgid "" msgstr "" msgid "" -":mod:`unittest.mock` already provides a feature to help with this, called " +":mod:`!unittest.mock` already provides a feature to help with this, called " "speccing. If you use a class or instance as the :attr:`!spec` for a mock " "then you can only access attributes on the mock that exist on the real class:" msgstr "" diff --git a/library/unittest.po b/library/unittest.po index 2c52b3bebc..ac8606f7f2 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!unittest` --- Unit testing framework" msgstr "" msgid "**Source code:** :source:`Lib/unittest/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/unittest/__init__.py`" msgid "" "(If you are already familiar with the basic concepts of testing, you might " @@ -37,7 +35,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`unittest` unit testing framework was originally inspired by JUnit " +"The :mod:`!unittest` unit testing framework was originally inspired by JUnit " "and has a similar flavor as major unit testing frameworks in other " "languages. It supports test automation, sharing of setup and shutdown code " "for tests, aggregation of tests into collections, and independence of the " @@ -45,7 +43,7 @@ msgid "" msgstr "" msgid "" -"To achieve this, :mod:`unittest` supports some important concepts in an " +"To achieve this, :mod:`!unittest` supports some important concepts in an " "object-oriented way:" msgstr "" @@ -64,8 +62,8 @@ msgstr "" msgid "" "A :dfn:`test case` is the individual unit of testing. It checks for a " -"specific response to a particular set of inputs. :mod:`unittest` provides a " -"base class, :class:`TestCase`, which may be used to create new test cases." +"specific response to a particular set of inputs. :mod:`!unittest` provides " +"a base class, :class:`TestCase`, which may be used to create new test cases." msgstr "" msgid "test suite" @@ -99,7 +97,7 @@ msgstr "" msgid "" "Kent Beck's original paper on testing frameworks using the pattern shared " -"by :mod:`unittest`." +"by :mod:`!unittest`." msgstr "" msgid "`pytest `_" @@ -144,9 +142,9 @@ msgid "Basic example" msgstr "" msgid "" -"The :mod:`unittest` module provides a rich set of tools for constructing and " -"running tests. This section demonstrates that a small subset of the tools " -"suffice to meet the needs of most users." +"The :mod:`!unittest` module provides a rich set of tools for constructing " +"and running tests. This section demonstrates that a small subset of the " +"tools suffice to meet the needs of most users." msgstr "" msgid "Here is a short script to test three string methods::" @@ -176,7 +174,7 @@ msgid "" msgstr "" msgid "" -"A testcase is created by subclassing :class:`unittest.TestCase`. The three " +"A test case is created by subclassing :class:`unittest.TestCase`. The three " "individual tests are defined with methods whose names start with the letters " "``test``. This naming convention informs the test runner about which " "methods represent tests." @@ -230,7 +228,7 @@ msgid "" msgstr "" msgid "" -"The above examples show the most commonly used :mod:`unittest` features " +"The above examples show the most commonly used :mod:`!unittest` features " "which are sufficient to meet many everyday testing needs. The remainder of " "the documentation explores the full feature set from first principles." msgstr "" @@ -485,8 +483,8 @@ msgstr "" msgid "" "The basic building blocks of unit testing are :dfn:`test cases` --- single " -"scenarios that must be set up and checked for correctness. In :mod:" -"`unittest`, test cases are represented by :class:`unittest.TestCase` " +"scenarios that must be set up and checked for correctness. In :mod:`!" +"unittest`, test cases are represented by :class:`unittest.TestCase` " "instances. To make your own test cases you must write subclasses of :class:" "`TestCase` or use :class:`FunctionTestCase`." msgstr "" @@ -516,7 +514,7 @@ msgid "" "Note that in order to test something, we use one of the :ref:`assert\\* " "methods ` provided by the :class:`TestCase` base class. If " "the test fails, an exception will be raised with an explanatory message, " -"and :mod:`unittest` will identify the test case as a :dfn:`failure`. Any " +"and :mod:`!unittest` will identify the test case as a :dfn:`failure`. Any " "other exceptions will be treated as :dfn:`errors`." msgstr "" @@ -580,17 +578,17 @@ msgid "" "Such a working environment for the testing code is called a :dfn:`test " "fixture`. A new TestCase instance is created as a unique test fixture used " "to execute each individual test method. Thus :meth:`~TestCase.setUp`, :meth:" -"`~TestCase.tearDown`, and :meth:`~TestCase.__init__` will be called once per " +"`~TestCase.tearDown`, and :meth:`!TestCase.__init__` will be called once per " "test." msgstr "" msgid "" "It is recommended that you use TestCase implementations to group tests " -"together according to the features they test. :mod:`unittest` provides a " -"mechanism for this: the :dfn:`test suite`, represented by :mod:`unittest`'s :" -"class:`TestSuite` class. In most cases, calling :func:`unittest.main` will " -"do the right thing and collect all the module's test cases for you and " -"execute them." +"together according to the features they test. :mod:`!unittest` provides a " +"mechanism for this: the :dfn:`test suite`, represented by :mod:`!" +"unittest`'s :class:`TestSuite` class. In most cases, calling :func:" +"`unittest.main` will do the right thing and collect all the module's test " +"cases for you and execute them." msgstr "" msgid "" @@ -649,14 +647,14 @@ msgstr "" msgid "" "Some users will find that they have existing test code that they would like " -"to run from :mod:`unittest`, without converting every old test function to " +"to run from :mod:`!unittest`, without converting every old test function to " "a :class:`TestCase` subclass." msgstr "" msgid "" -"For this reason, :mod:`unittest` provides a :class:`FunctionTestCase` class. " -"This subclass of :class:`TestCase` can be used to wrap an existing test " -"function. Set-up and tear-down functions can also be provided." +"For this reason, :mod:`!unittest` provides a :class:`FunctionTestCase` " +"class. This subclass of :class:`TestCase` can be used to wrap an existing " +"test function. Set-up and tear-down functions can also be provided." msgstr "" msgid "Given the following test function::" @@ -682,16 +680,16 @@ msgstr "" msgid "" "Even though :class:`FunctionTestCase` can be used to quickly convert an " -"existing test base over to a :mod:`unittest`\\ -based system, this approach " +"existing test base over to a :mod:`!unittest`\\ -based system, this approach " "is not recommended. Taking the time to set up proper :class:`TestCase` " "subclasses will make future test refactorings infinitely easier." msgstr "" msgid "" "In some cases, the existing tests may have been written using the :mod:" -"`doctest` module. If so, :mod:`doctest` provides a :class:`DocTestSuite` " -"class that can automatically build :class:`unittest.TestSuite` instances " -"from the existing :mod:`doctest`\\ -based tests." +"`doctest` module. If so, :mod:`doctest` provides a :class:`~doctest." +"DocTestSuite` class that can automatically build :class:`unittest.TestSuite` " +"instances from the existing :mod:`doctest`\\ -based tests." msgstr "" msgid "Skipping tests and expected failures" @@ -913,7 +911,7 @@ msgstr "" msgid "Classes and functions" msgstr "" -msgid "This section describes in depth the API of :mod:`unittest`." +msgid "This section describes in depth the API of :mod:`!unittest`." msgstr "" msgid "Test cases" @@ -921,7 +919,7 @@ msgstr "" msgid "" "Instances of the :class:`TestCase` class represent the logical test units in " -"the :mod:`unittest` universe. This class is intended to be used as a base " +"the :mod:`!unittest` universe. This class is intended to be used as a base " "class, with specific tests being implemented by concrete subclasses. This " "class implements the interface needed by the test runner to allow it to " "drive the tests, and methods that the test code can use to check for and " @@ -1065,16 +1063,16 @@ msgid "``a != b``" msgstr "``a != b``" msgid ":meth:`assertTrue(x) `" -msgstr "" +msgstr ":meth:`assertTrue(x) `" msgid "``bool(x) is True``" msgstr "``bool(x) is True``" msgid ":meth:`assertFalse(x) `" -msgstr "" +msgstr ":meth:`assertFalse(x) `" msgid "``bool(x) is False``" -msgstr "" +msgstr "``bool(x) is False``" msgid ":meth:`assertIs(a, b) `" msgstr "" @@ -1092,13 +1090,13 @@ msgid "``a is not b``" msgstr "" msgid ":meth:`assertIsNone(x) `" -msgstr "" +msgstr ":meth:`assertIsNone(x) `" msgid "``x is None``" msgstr "``x is None``" msgid ":meth:`assertIsNotNone(x) `" -msgstr "" +msgstr ":meth:`assertIsNotNone(x) `" msgid "``x is not None``" msgstr "" @@ -1128,13 +1126,13 @@ msgid ":meth:`assertNotIsInstance(a, b) `" msgstr "" msgid "``not isinstance(a, b)``" -msgstr "" +msgstr "``not isinstance(a, b)``" msgid ":meth:`assertIsSubclass(a, b) `" msgstr "" msgid "``issubclass(a, b)``" -msgstr "" +msgstr "``issubclass(a, b)``" msgid "3.14" msgstr "" @@ -1299,8 +1297,8 @@ msgid "" msgstr "" msgid "" -"The context manager will store the caught exception object in its :attr:" -"`exception` attribute. This can be useful if the intention is to perform " +"The context manager will store the caught exception object in its :attr:`!" +"exception` attribute. This can be useful if the intention is to perform " "additional checks on the exception raised::" msgstr "" @@ -1315,7 +1313,7 @@ msgstr "" msgid "Added the ability to use :meth:`assertRaises` as a context manager." msgstr "" -msgid "Added the :attr:`exception` attribute." +msgid "Added the :attr:`!exception` attribute." msgstr "" msgid "Added the *msg* keyword argument when used as a context manager." @@ -1372,10 +1370,10 @@ msgid "" msgstr "" msgid "" -"The context manager will store the caught warning object in its :attr:" -"`warning` attribute, and the source line which triggered the warnings in " -"the :attr:`filename` and :attr:`lineno` attributes. This can be useful if " -"the intention is to perform additional checks on the warning caught::" +"The context manager will store the caught warning object in its :attr:`!" +"warning` attribute, and the source line which triggered the warnings in the :" +"attr:`!filename` and :attr:`!lineno` attributes. This can be useful if the " +"intention is to perform additional checks on the warning caught::" msgstr "" msgid "" @@ -1516,7 +1514,7 @@ msgid ":meth:`assertRegex(s, r) `" msgstr "" msgid "``r.search(s)``" -msgstr "" +msgstr "``r.search(s)``" msgid ":meth:`assertNotRegex(s, r) `" msgstr "" @@ -1536,7 +1534,7 @@ msgid ":meth:`assertStartsWith(a, b) `" msgstr "" msgid "``a.startswith(b)``" -msgstr "" +msgstr "``a.startswith(b)``" msgid ":meth:`assertNotStartsWith(a, b) `" msgstr "" @@ -1548,7 +1546,7 @@ msgid ":meth:`assertEndsWith(a, b) `" msgstr "" msgid "``a.endswith(b)``" -msgstr "" +msgstr "``a.endswith(b)``" msgid ":meth:`assertNotEndsWith(a, b) `" msgstr "" @@ -1560,7 +1558,7 @@ msgid ":meth:`assertHasAttr(a, b) `" msgstr "" msgid "``hastattr(a, b)``" -msgstr "" +msgstr "``hastattr(a, b)``" msgid ":meth:`assertNotHasAttr(a, b) `" msgstr "" @@ -1747,7 +1745,7 @@ msgid "" msgstr "" msgid "" -"Fails if either of *first* or *second* does not have a :meth:`set." +"Fails if either of *first* or *second* does not have a :meth:`~frozenset." "difference` method." msgstr "" @@ -1927,16 +1925,16 @@ msgstr "" msgid "" "Method called to prepare the test fixture. This is called after :meth:" -"`setUp`. This is called immediately before calling the test method; other " -"than :exc:`AssertionError` or :exc:`SkipTest`, any exception raised by this " -"method will be considered an error rather than a test failure. The default " -"implementation does nothing." +"`TestCase.setUp`. This is called immediately before calling the test method; " +"other than :exc:`AssertionError` or :exc:`SkipTest`, any exception raised by " +"this method will be considered an error rather than a test failure. The " +"default implementation does nothing." msgstr "" msgid "" "Method called immediately after the test method has been called and the " -"result recorded. This is called before :meth:`tearDown`. This is called " -"even if the test method raised an exception, so the implementation in " +"result recorded. This is called before :meth:`~TestCase.tearDown`. This is " +"called even if the test method raised an exception, so the implementation in " "subclasses may need to be particularly careful about checking internal " "state. Any exception, other than :exc:`AssertionError` or :exc:`SkipTest`, " "raised by this method will be considered an additional error rather than a " @@ -1959,9 +1957,9 @@ msgid "" "Sets up a new event loop to run the test, collecting the result into the :" "class:`TestResult` object passed as *result*. If *result* is omitted or " "``None``, a temporary result object is created (by calling the :meth:" -"`defaultTestResult` method) and used. The result object is returned to :meth:" -"`run`'s caller. At the end of the test all the tasks in the event loop are " -"cancelled." +"`~TestCase.defaultTestResult` method) and used. The result object is " +"returned to :meth:`run`'s caller. At the end of the test all the tasks in " +"the event loop are cancelled." msgstr "" msgid "An example illustrating the order::" @@ -2015,7 +2013,7 @@ msgid "" "allows the test runner to drive the test, but does not provide the methods " "which test code can use to check and report errors. This is used to create " "test cases using legacy test code, allowing it to be integrated into a :mod:" -"`unittest`-based test framework." +"`!unittest`-based test framework." msgstr "" msgid "Grouping tests" @@ -2083,7 +2081,7 @@ msgid "" "repeated iterations before :meth:`TestSuite.run` must be the same for each " "call iteration. After :meth:`TestSuite.run`, callers should not rely on the " "tests returned by this method unless the caller uses a subclass that " -"overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." +"overrides :meth:`!TestSuite._removeTestAtIndex` to preserve test references." msgstr "" msgid "" @@ -2095,12 +2093,13 @@ msgstr "" msgid "" "In earlier versions the :class:`TestSuite` held references to each :class:" "`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " -"by overriding :meth:`TestSuite._removeTestAtIndex`." +"by overriding :meth:`!TestSuite._removeTestAtIndex`." msgstr "" msgid "" "In the typical usage of a :class:`TestSuite` object, the :meth:`run` method " -"is invoked by a :class:`TestRunner` rather than by the end-user test harness." +"is invoked by a :class:`!TestRunner` rather than by the end-user test " +"harness." msgstr "" msgid "Loading and running tests" @@ -2109,7 +2108,7 @@ msgstr "" msgid "" "The :class:`TestLoader` class is used to create test suites from classes and " "modules. Normally, there is no need to create an instance of this class; " -"the :mod:`unittest` module provides an instance that can be shared as :data:" +"the :mod:`!unittest` module provides an instance that can be shared as :data:" "`unittest.defaultTestLoader`. Using a subclass or instance, however, allows " "customization of some configurable properties." msgstr "" @@ -2129,14 +2128,14 @@ msgstr "" msgid "" "Return a suite of all test cases contained in the :class:`TestCase`\\ -" -"derived :class:`testCaseClass`." +"derived :class:`!testCaseClass`." msgstr "" msgid "" "A test case instance is created for each method named by :meth:" "`getTestCaseNames`. By default these are the method names beginning with " -"``test``. If :meth:`getTestCaseNames` returns no methods, but the :meth:" -"`runTest` method is implemented, a single test case is created for that " +"``test``. If :meth:`getTestCaseNames` returns no methods, but the :meth:`!" +"runTest` method is implemented, a single test case is created for that " "method instead." msgstr "" @@ -2185,15 +2184,15 @@ msgid "" msgstr "" msgid "" -"For example, if you have a module :mod:`SampleTests` containing a :class:" -"`TestCase`\\ -derived class :class:`SampleTestCase` with three test methods " -"(:meth:`test_one`, :meth:`test_two`, and :meth:`test_three`), the specifier " -"``'SampleTests.SampleTestCase'`` would cause this method to return a suite " -"which will run all three test methods. Using the specifier ``'SampleTests." -"SampleTestCase.test_two'`` would cause it to return a test suite which will " -"run only the :meth:`test_two` test method. The specifier can refer to " -"modules and packages which have not been imported; they will be imported as " -"a side-effect." +"For example, if you have a module :mod:`!SampleTests` containing a :class:" +"`TestCase`\\ -derived class :class:`!SampleTestCase` with three test methods " +"(:meth:`!test_one`, :meth:`!test_two`, and :meth:`!test_three`), the " +"specifier ``'SampleTests.SampleTestCase'`` would cause this method to return " +"a suite which will run all three test methods. Using the specifier " +"``'SampleTests.SampleTestCase.test_two'`` would cause it to return a test " +"suite which will run only the :meth:`!test_two` test method. The specifier " +"can refer to modules and packages which have not been imported; they will be " +"imported as a side-effect." msgstr "" msgid "The method optionally resolves *name* relative to the given *module*." @@ -2349,10 +2348,10 @@ msgid "" msgstr "" msgid "" -"Testing frameworks built on top of :mod:`unittest` may want access to the :" +"Testing frameworks built on top of :mod:`!unittest` may want access to the :" "class:`TestResult` object generated by running a set of tests for reporting " -"purposes; a :class:`TestResult` instance is returned by the :meth:" -"`TestRunner.run` method for this purpose." +"purposes; a :class:`TestResult` instance is returned by the :meth:`!" +"TestRunner.run` method for this purpose." msgstr "" msgid "" @@ -2428,15 +2427,15 @@ msgstr "" msgid "" "This method can be called to signal that the set of tests being run should " -"be aborted by setting the :attr:`shouldStop` attribute to ``True``. :class:" -"`TestRunner` objects should respect this flag and return without running any " +"be aborted by setting the :attr:`shouldStop` attribute to ``True``. :class:`!" +"TestRunner` objects should respect this flag and return without running any " "additional tests." msgstr "" msgid "" "For example, this feature is used by the :class:`TextTestRunner` class to " "stop the test framework when the user signals an interrupt from the " -"keyboard. Interactive tools which provide :class:`TestRunner` " +"keyboard. Interactive tools which provide :class:`!TestRunner` " "implementations can use this in a similar manner." msgstr "" @@ -2798,9 +2797,9 @@ msgstr "" msgid "" "Class and module level fixtures are implemented in :class:`TestSuite`. When " -"the test suite encounters a test from a new class then :meth:`tearDownClass` " -"from the previous class (if there is one) is called, followed by :meth:" -"`setUpClass` from the new class." +"the test suite encounters a test from a new class then :meth:`~TestCase." +"tearDownClass` from the previous class (if there is one) is called, followed " +"by :meth:`~TestCase.setUpClass` from the new class." msgstr "" msgid "" diff --git a/library/unix.po b/library/unix.po index f6d4b249a8..1dc9131104 100644 --- a/library/unix.po +++ b/library/unix.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2025-05-08 02:53-0300\n" +"PO-Revision-Date: 2025-08-02 17:35+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index ffbc62419d..d4c17780ad 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!urllib.parse` --- Parse URLs into components" msgstr "" msgid "**Source code:** :source:`Lib/urllib/parse.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/urllib/parse.py`" msgid "" "This module defines a standard interface to break Uniform Resource Locator " @@ -56,7 +54,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`urllib.parse` module defines functions that fall into two broad " +"The :mod:`!urllib.parse` module defines functions that fall into two broad " "categories: URL parsing and URL quoting. These are covered in detail in the " "following sections." msgstr "" @@ -77,26 +75,26 @@ msgid "" msgstr "" msgid "" -"Parse a URL into six components, returning a 6-item :term:`named tuple`. " -"This corresponds to the general structure of a URL: ``scheme://netloc/path;" -"parameters?query#fragment``. Each tuple item is a string, possibly empty. " -"The components are not broken up into smaller parts (for example, the " -"network location is a single string), and % escapes are not expanded. The " -"delimiters as shown above are not part of the result, except for a leading " -"slash in the *path* component, which is retained if present. For example:" +"Parse a URL into five components, returning a 5-item :term:`named tuple` :" +"class:`SplitResult` or :class:`SplitResultBytes`. This corresponds to the " +"general structure of a URL: ``scheme://netloc/path?query#fragment``. Each " +"tuple item is a string, possibly empty. The components are not broken up " +"into smaller parts (for example, the network location is a single string), " +"and % escapes are not expanded. The delimiters as shown above are not part " +"of the result, except for a leading slash in the *path* component, which is " +"retained if present. For example:" msgstr "" msgid "" -">>> from urllib.parse import urlparse\n" -">>> urlparse(\"scheme://netloc/path;parameters?query#fragment\")\n" -"ParseResult(scheme='scheme', netloc='netloc', path='/path;parameters', " -"params='',\n" +">>> from urllib.parse import urlsplit\n" +">>> urlsplit(\"scheme://netloc/path?query#fragment\")\n" +"SplitResult(scheme='scheme', netloc='netloc', path='/path',\n" " query='query', fragment='fragment')\n" -">>> o = urlparse(\"http://docs.python.org:80/3/library/urllib.parse.html?\"\n" +">>> o = urlsplit(\"http://docs.python.org:80/3/library/urllib.parse.html?\"\n" "... \"highlight=params#url-parsing\")\n" ">>> o\n" -"ParseResult(scheme='http', netloc='docs.python.org:80',\n" -" path='/3/library/urllib.parse.html', params='',\n" +"SplitResult(scheme='http', netloc='docs.python.org:80',\n" +" path='/3/library/urllib.parse.html',\n" " query='highlight=params', fragment='url-parsing')\n" ">>> o.scheme\n" "'http'\n" @@ -111,22 +109,23 @@ msgid "" msgstr "" msgid "" -"Following the syntax specifications in :rfc:`1808`, urlparse recognizes a " -"netloc only if it is properly introduced by '//'. Otherwise the input is " -"presumed to be a relative URL and thus to start with a path component." +"Following the syntax specifications in :rfc:`1808`, :func:`!urlsplit` " +"recognizes a netloc only if it is properly introduced by '//'. Otherwise " +"the input is presumed to be a relative URL and thus to start with a path " +"component." msgstr "" msgid "" -">>> from urllib.parse import urlparse\n" -">>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html')\n" -"ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python." +">>> from urllib.parse import urlsplit\n" +">>> urlsplit('//www.cwi.nl:80/%7Eguido/Python.html')\n" +"SplitResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python." "html',\n" -" params='', query='', fragment='')\n" -">>> urlparse('www.cwi.nl/%7Eguido/Python.html')\n" -"ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html',\n" -" params='', query='', fragment='')\n" -">>> urlparse('help/Python.html')\n" -"ParseResult(scheme='', netloc='', path='help/Python.html', params='',\n" +" query='', fragment='')\n" +">>> urlsplit('www.cwi.nl/%7Eguido/Python.html')\n" +"SplitResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html',\n" +" query='', fragment='')\n" +">>> urlsplit('help/Python.html')\n" +"SplitResult(scheme='', netloc='', path='help/Python.html',\n" " query='', fragment='')" msgstr "" @@ -153,7 +152,7 @@ msgid "Attribute" msgstr "atrybut" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Value" msgstr "Wartość" @@ -194,20 +193,11 @@ msgstr "2" msgid "Hierarchical path" msgstr "" -msgid ":attr:`params`" -msgstr ":attr:`params`" - -msgid "3" -msgstr "3" - -msgid "Parameters for last path element" -msgstr "" - msgid ":attr:`query`" msgstr ":attr:`query`" -msgid "4" -msgstr "4" +msgid "3" +msgstr "3" msgid "Query component" msgstr "" @@ -215,8 +205,8 @@ msgstr "" msgid ":attr:`fragment`" msgstr ":attr:`fragment`" -msgid "5" -msgstr "5" +msgid "4" +msgstr "4" msgid "Fragment identifier" msgstr "" @@ -266,28 +256,34 @@ msgid "" "decomposed before parsing, no error will be raised." msgstr "" +msgid "" +"Following some of the `WHATWG spec`_ that updates :rfc:`3986`, leading C0 " +"control and space characters are stripped from the URL. ``\\n``, ``\\r`` and " +"tab ``\\t`` characters are removed from the URL at any position." +msgstr "" + msgid "" "As is the case with all named tuples, the subclass has a few additional " "methods and attributes that are particularly useful. One such method is :" -"meth:`_replace`. The :meth:`_replace` method will return a new ParseResult " -"object replacing specified fields with new values." +"meth:`_replace`. The :meth:`_replace` method will return a new :class:" +"`SplitResult` object replacing specified fields with new values." msgstr "" msgid "" -">>> from urllib.parse import urlparse\n" -">>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html')\n" +">>> from urllib.parse import urlsplit\n" +">>> u = urlsplit('//www.cwi.nl:80/%7Eguido/Python.html')\n" ">>> u\n" -"ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python." +"SplitResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python." "html',\n" -" params='', query='', fragment='')\n" +" query='', fragment='')\n" ">>> u._replace(scheme='http')\n" -"ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python." +"SplitResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python." "html',\n" -" params='', query='', fragment='')" +" query='', fragment='')" msgstr "" msgid "" -":func:`urlparse` does not perform validation. See :ref:`URL parsing " +":func:`urlsplit` does not perform validation. See :ref:`URL parsing " "security ` for details." msgstr "" @@ -310,6 +306,13 @@ msgid "" "raise :exc:`ValueError`." msgstr "" +msgid "ASCII newline and tab characters are stripped from the URL." +msgstr "" + +msgid "" +"Leading WHATWG C0 control and space characters are stripped from the URL." +msgstr "" + msgid "" "Parse a query string given as a string argument (data of type :mimetype:" "`application/x-www-form-urlencoded`). Data are returned as a dictionary. " @@ -383,55 +386,36 @@ msgid "" msgstr "" msgid "" -"Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " -"argument can be any six-item iterable. This may result in a slightly " +"Construct a URL from a tuple as returned by ``urlsplit()``. The *parts* " +"argument can be any five-item iterable. This may result in a slightly " "different, but equivalent URL, if the URL that was parsed originally had " "unnecessary delimiters (for example, a ``?`` with an empty query; the RFC " "states that these are equivalent)." msgstr "" msgid "" -"This is similar to :func:`urlparse`, but does not split the params from the " -"URL. This should generally be used instead of :func:`urlparse` if the more " -"recent URL syntax allowing parameters to be applied to each segment of the " -"*path* portion of the URL (see :rfc:`2396`) is wanted. A separate function " -"is needed to separate the path segments and parameters. This function " -"returns a 5-item :term:`named tuple`::" +"This is similar to :func:`urlsplit`, but additionally splits the *path* " +"component on *path* and *params*. This function returns a 6-item :term:" +"`named tuple` :class:`ParseResult` or :class:`ParseResultBytes`. Its items " +"are the same as for the :func:`!urlsplit` result, except that *params* is " +"inserted at index 3, between *path* and *query*." msgstr "" msgid "" -"(addressing scheme, network location, path, query, fragment identifier)." +"This function is based on obsoleted :rfc:`1738` and :rfc:`1808`, which " +"listed *params* as the main URL component. The more recent URL syntax allows " +"parameters to be applied to each segment of the *path* portion of the URL " +"(see :rfc:`3986`). :func:`urlsplit` should generally be used instead of :" +"func:`urlparse`. A separate function is needed to separate the path segments " +"and parameters." msgstr "" msgid "" -"The return value is a :term:`named tuple`, its items can be accessed by " -"index or as named attributes:" -msgstr "" - -msgid "" -"Following some of the `WHATWG spec`_ that updates RFC 3986, leading C0 " -"control and space characters are stripped from the URL. ``\\n``, ``\\r`` and " -"tab ``\\t`` characters are removed from the URL at any position." -msgstr "" - -msgid "" -":func:`urlsplit` does not perform validation. See :ref:`URL parsing " -"security ` for details." -msgstr "" - -msgid "ASCII newline and tab characters are stripped from the URL." -msgstr "" - -msgid "" -"Leading WHATWG C0 control and space characters are stripped from the URL." -msgstr "" - -msgid "" -"Combine the elements of a tuple as returned by :func:`urlsplit` into a " -"complete URL as a string. The *parts* argument can be any five-item " -"iterable. This may result in a slightly different, but equivalent URL, if " -"the URL that was parsed originally had unnecessary delimiters (for example, " -"a ? with an empty query; the RFC states that these are equivalent)." +"Combine the elements of a tuple as returned by :func:`urlparse` into a " +"complete URL as a string. The *parts* argument can be any six-item iterable. " +"This may result in a slightly different, but equivalent URL, if the URL that " +"was parsed originally had unnecessary delimiters (for example, a ? with an " +"empty query; the RFC states that these are equivalent)." msgstr "" msgid "" @@ -443,7 +427,7 @@ msgstr "" msgid "" "The *allow_fragments* argument has the same meaning and default as for :func:" -"`urlparse`." +"`urlsplit`." msgstr "" msgid "" @@ -484,6 +468,11 @@ msgid "" "unmodified and an empty string." msgstr "" +msgid "" +"The return value is a :term:`named tuple`, its items can be accessed by " +"index or as named attributes:" +msgstr "" + msgid ":attr:`url`" msgstr ":attr:`url`" @@ -597,7 +586,7 @@ msgid "Structured Parse Results" msgstr "" msgid "" -"The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" +"The result objects from the :func:`urlsplit`, :func:`urlparse` and :func:" "`urldefrag` functions are subclasses of the :class:`tuple` type. These " "subclasses add the attributes listed in the documentation for those " "functions, the encoding and decoding support described in the previous " diff --git a/library/urllib.request.po b/library/urllib.request.po index fb9965eaf5..819bc4f637 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,11 +27,11 @@ msgid ":mod:`!urllib.request` --- Extensible library for opening URLs" msgstr "" msgid "**Source code:** :source:`Lib/urllib/request.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/urllib/request.py`" msgid "" -"The :mod:`urllib.request` module defines functions and classes which help in " -"opening URLs (mostly HTTP) in a complex world --- basic and digest " +"The :mod:`!urllib.request` module defines functions and classes which help " +"in opening URLs (mostly HTTP) in a complex world --- basic and digest " "authentication, redirections, cookies and more." msgstr "" @@ -56,7 +55,7 @@ msgid "" "availability` for more information." msgstr "" -msgid "The :mod:`urllib.request` module defines the following functions:" +msgid "The :mod:`!urllib.request` module defines the following functions:" msgstr "" msgid "" @@ -267,6 +266,9 @@ msgid "" "is raised." msgstr "" +msgid "The URL query and fragment components are discarded if present." +msgstr "" + msgid "The *require_scheme* and *resolve_host* parameters were added." msgstr "" @@ -861,10 +863,22 @@ msgid "" msgstr "" msgid "" -"*req* will be a :class:`Request` object, *fp* will be a file-like object " -"with the HTTP error body, *code* will be the three-digit code of the error, " -"*msg* will be the user-visible explanation of the code and *hdrs* will be a " -"mapping object with the headers of the error." +":class:`OpenerDirector` will call this method with five positional arguments:" +msgstr "" + +msgid "a :class:`Request` object," +msgstr "" + +msgid "a file-like object with the HTTP error body," +msgstr "" + +msgid "the three-digit code of the error, as a string," +msgstr "" + +msgid "the user-visible explanation of the code, as a string, and" +msgstr "" + +msgid "the headers of the error, as a mapping object." msgstr "" msgid "" @@ -1505,7 +1519,7 @@ msgid "" "to :func:`urlretrieve`." msgstr "" -msgid ":mod:`urllib.request` Restrictions" +msgid ":mod:`!urllib.request` Restrictions" msgstr "" msgid "" @@ -1563,15 +1577,15 @@ msgid "" "module." msgstr "" -msgid ":mod:`urllib.response` --- Response classes used by urllib" +msgid ":mod:`!urllib.response` --- Response classes used by urllib" msgstr "" msgid "" -"The :mod:`urllib.response` module defines functions and classes which define " -"a minimal file-like interface, including ``read()`` and ``readline()``. " -"Functions defined by this module are used internally by the :mod:`urllib." -"request` module. The typical response object is a :class:`urllib.response." -"addinfourl` instance:" +"The :mod:`!urllib.response` module defines functions and classes which " +"define a minimal file-like interface, including ``read()`` and " +"``readline()``. Functions defined by this module are used internally by the :" +"mod:`!urllib.request` module. The typical response object is a :class:" +"`urllib.response.addinfourl` instance:" msgstr "" msgid "" diff --git a/library/urllib.robotparser.po b/library/urllib.robotparser.po index cdd35a8246..dc44943a1e 100644 --- a/library/urllib.robotparser.po +++ b/library/urllib.robotparser.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,14 +27,14 @@ msgid ":mod:`!urllib.robotparser` --- Parser for robots.txt" msgstr "" msgid "**Source code:** :source:`Lib/urllib/robotparser.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/urllib/robotparser.py`" msgid "" "This module provides a single class, :class:`RobotFileParser`, which answers " "questions about whether or not a particular user agent can fetch a URL on " -"the web site that published the :file:`robots.txt` file. For more details " -"on the structure of :file:`robots.txt` files, see http://www.robotstxt.org/" -"orig.html." +"the website that published the :file:`robots.txt` file. For more details on " +"the structure of :file:`robots.txt` files, see http://www.robotstxt.org/orig." +"html." msgstr "" msgid "" @@ -95,20 +94,19 @@ msgstr "" msgid "" ">>> import urllib.robotparser\n" ">>> rp = urllib.robotparser.RobotFileParser()\n" -">>> rp.set_url(\"http://www.musi-cal.com/robots.txt\")\n" +">>> rp.set_url(\"http://www.pythontest.net/robots.txt\")\n" ">>> rp.read()\n" ">>> rrate = rp.request_rate(\"*\")\n" ">>> rrate.requests\n" -"3\n" +"1\n" ">>> rrate.seconds\n" -"20\n" +"1\n" ">>> rp.crawl_delay(\"*\")\n" "6\n" -">>> rp.can_fetch(\"*\", \"http://www.musi-cal.com/cgi-bin/search?" -"city=San+Francisco\")\n" -"False\n" -">>> rp.can_fetch(\"*\", \"http://www.musi-cal.com/\")\n" -"True" +">>> rp.can_fetch(\"*\", \"http://www.pythontest.net/\")\n" +"True\n" +">>> rp.can_fetch(\"*\", \"http://www.pythontest.net/no-robots-here/\")\n" +"False" msgstr "" msgid "WWW" diff --git a/library/uuid.po b/library/uuid.po index c4881882b2..43d3951975 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!uuid` --- UUID objects according to :rfc:`9562`" msgstr "" msgid "**Source code:** :source:`Lib/uuid.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/uuid.py`" msgid "" "This module provides immutable :class:`UUID` objects (the :class:`UUID` " @@ -181,7 +179,7 @@ msgid "" "generated the UUID in a multiprocessing-safe way." msgstr "" -msgid "The :mod:`uuid` module defines the following functions:" +msgid "The :mod:`!uuid` module defines the following functions:" msgstr "" msgid "" @@ -203,42 +201,45 @@ msgid "" msgstr "" msgid "" -"Generate a UUID from a host ID, sequence number, and the current time. If " -"*node* is not given, :func:`getnode` is used to obtain the hardware address. " -"If *clock_seq* is given, it is used as the sequence number; otherwise a " -"random 14-bit sequence number is chosen." +"Generate a UUID from a host ID, sequence number, and the current time " +"according to :rfc:`RFC 9562, §5.1 <9562#section-5.1>`." +msgstr "" + +msgid "" +"When *node* is not specified, :func:`getnode` is used to obtain the hardware " +"address as a 48-bit positive integer. When a sequence number *clock_seq* is " +"not specified, a pseudo-random 14-bit positive integer is generated." +msgstr "" + +msgid "" +"If *node* or *clock_seq* exceed their expected bit count, only their least " +"significant bits are kept." msgstr "" msgid "" "Generate a UUID based on the MD5 hash of a namespace identifier (which is a " "UUID) and a name (which is a :class:`bytes` object or a string that will be " -"encoded using UTF-8)." +"encoded using UTF-8) according to :rfc:`RFC 9562, §5.3 <9562#section-5.3>`." msgstr "" -msgid "Generate a random UUID." +msgid "" +"Generate a random UUID in a cryptographically-secure method according to :" +"rfc:`RFC 9562, §5.4 <9562#section-5.4>`." msgstr "" msgid "" "Generate a UUID based on the SHA-1 hash of a namespace identifier (which is " "a UUID) and a name (which is a :class:`bytes` object or a string that will " -"be encoded using UTF-8)." +"be encoded using UTF-8) according to :rfc:`RFC 9562, §5.5 " +"<9562#section-5.5>`." msgstr "" msgid "" "Generate a UUID from a sequence number and the current time according to :" -"rfc:`9562`. This is an alternative to :func:`uuid1` to improve database " -"locality." -msgstr "" - -msgid "" -"When *node* is not specified, :func:`getnode` is used to obtain the hardware " -"address as a 48-bit positive integer. When a sequence number *clock_seq* is " -"not specified, a pseudo-random 14-bit positive integer is generated." +"rfc:`RFC 9562, §5.6 <9562#section-5.6>`." msgstr "" -msgid "" -"If *node* or *clock_seq* exceed their expected bit count, only their least " -"significant bits are kept." +msgid "This is an alternative to :func:`uuid1` to improve database locality." msgstr "" msgid "" @@ -265,7 +266,13 @@ msgid "" msgstr "" msgid "" -"The :mod:`uuid` module defines the following namespace identifiers for use " +"By default, *a*, *b* and *c* are not generated by a cryptographically secure " +"pseudo-random number generator (CSPRNG). Use :func:`uuid4` when a UUID needs " +"to be used in a security-sensitive context." +msgstr "" + +msgid "" +"The :mod:`!uuid` module defines the following namespace identifiers for use " "with :func:`uuid3` or :func:`uuid5`." msgstr "" @@ -286,7 +293,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`uuid` module defines the following constants for the possible " +"The :mod:`!uuid` module defines the following constants for the possible " "values of the :attr:`~UUID.variant` attribute:" msgstr "" @@ -305,7 +312,7 @@ msgstr "" msgid "Reserved for future definition." msgstr "" -msgid "The :mod:`uuid` module defines the special Nil and Max UUID values:" +msgid "The :mod:`!uuid` module defines the special Nil and Max UUID values:" msgstr "" msgid "" @@ -330,7 +337,7 @@ msgid "Command-Line Usage" msgstr "" msgid "" -"The :mod:`uuid` module can be executed as a script from the command line." +"The :mod:`!uuid` module can be executed as a script from the command line." msgstr "" msgid "" @@ -370,7 +377,7 @@ msgstr "" msgid "Example" msgstr "Przykład" -msgid "Here are some examples of typical usage of the :mod:`uuid` module::" +msgid "Here are some examples of typical usage of the :mod:`!uuid` module::" msgstr "" msgid "" @@ -415,21 +422,30 @@ msgid "" ">>> uuid.MAX\n" "UUID('ffffffff-ffff-ffff-ffff-ffffffffffff')\n" "\n" +">>> # same as UUIDv1 but with fields reordered to improve DB locality\n" +">>> uuid.uuid6()\n" +"UUID('1f0799c0-98b9-62db-92c6-a0d365b91053')\n" +"\n" ">>> # get UUIDv7 creation (local) time as a timestamp in milliseconds\n" ">>> u = uuid.uuid7()\n" ">>> u.time\n" "1743936859822\n" +"\n" ">>> # get UUIDv7 creation (local) time as a datetime object\n" ">>> import datetime as dt\n" ">>> dt.datetime.fromtimestamp(u.time / 1000)\n" -"datetime.datetime(...)" +"datetime.datetime(...)\n" +"\n" +">>> # make a UUID with custom blocks\n" +">>> uuid.uuid8(0x12345678, 0x9abcdef0, 0x11223344)\n" +"UUID('00001234-5678-8ef0-8000-000011223344')" msgstr "" msgid "Command-Line Example" msgstr "" msgid "" -"Here are some examples of typical usage of the :mod:`uuid` command-line " +"Here are some examples of typical usage of the :mod:`!uuid` command-line " "interface:" msgstr "" diff --git a/library/venv.po b/library/venv.po index e148b4a05f..b9437990ef 100644 --- a/library/venv.po +++ b/library/venv.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,8 +34,8 @@ msgid "" "environments\", each with their own independent set of Python packages " "installed in their :mod:`site` directories. A virtual environment is created " "on top of an existing Python installation, known as the virtual " -"environment's \"base\" Python, and may optionally be isolated from the " -"packages in the base environment, so only those explicitly installed in the " +"environment's \"base\" Python, and by default is isolated from the packages " +"in the base environment, so that only those explicitly installed in the " "virtual environment are available. See :ref:`sys-path-init-virtual-" "environments` and :mod:`site`'s :ref:`virtual environments documentation " "` for more information." @@ -112,8 +111,8 @@ msgid "" "file:`bin` (or :file:`Scripts` on Windows) subdirectory containing a copy or " "symlink of the Python executable (as appropriate for the platform or " "arguments used at environment creation time). It also creates a :file:`lib/" -"pythonX.Y/site-packages` subdirectory (on Windows, this is :file:`Lib\\site-" -"packages`). If an existing directory is specified, it will be re-used." +"pythonX.Y/site-packages` subdirectory (on Windows, this is :file:`Lib\\" +"\\site-packages`). If an existing directory is specified, it will be re-used." msgstr "" msgid "" @@ -144,37 +143,54 @@ msgid "" "\n" "Creates virtual Python environments in one or more target directories.\n" "\n" -"positional arguments:\n" -" ENV_DIR A directory to create the environment in.\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --system-site-packages\n" -" Give the virtual environment access to the system\n" -" site-packages dir.\n" -" --symlinks Try to use symlinks rather than copies, when\n" -" symlinks are not the default for the platform.\n" -" --copies Try to use copies rather than symlinks, even when\n" -" symlinks are the default for the platform.\n" -" --clear Delete the contents of the environment directory\n" -" if it already exists, before environment creation.\n" -" --upgrade Upgrade the environment directory to use this\n" -" version of Python, assuming Python has been\n" -" upgraded in-place.\n" -" --without-pip Skips installing or upgrading pip in the virtual\n" -" environment (pip is bootstrapped by default)\n" -" --prompt PROMPT Provides an alternative prompt prefix for this\n" -" environment.\n" -" --upgrade-deps Upgrade core dependencies (pip) to the latest\n" -" version in PyPI\n" -" --without-scm-ignore-files\n" -" Skips adding SCM ignore files to the environment\n" -" directory (Git is supported by default).\n" -"\n" "Once an environment has been created, you may wish to activate it, e.g. by\n" "sourcing an activate script in its bin directory." msgstr "" +msgid "" +"A required argument specifying the directory to create the environment in." +msgstr "" + +msgid "" +"Give the virtual environment access to the system site-packages directory." +msgstr "" + +msgid "" +"Try to use symlinks rather than copies, when symlinks are not the default " +"for the platform." +msgstr "" + +msgid "" +"Try to use copies rather than symlinks, even when symlinks are the default " +"for the platform." +msgstr "" + +msgid "" +"Delete the contents of the environment directory if it already exists, " +"before environment creation." +msgstr "" + +msgid "" +"Upgrade the environment directory to use this version of Python, assuming " +"Python has been upgraded in-place." +msgstr "" + +msgid "" +"Skips installing or upgrading pip in the virtual environment (pip is " +"bootstrapped by default)." +msgstr "" + +msgid "Provides an alternative prompt prefix for this environment." +msgstr "" + +msgid "Upgrade core dependencies (pip) to the latest version in PyPI." +msgstr "" + +msgid "" +"Skips adding SCM ignore files to the environment directory (Git is supported " +"by default)." +msgstr "" + msgid "" "Installs pip by default, added the ``--without-pip`` and ``--copies`` " "options." @@ -672,7 +688,7 @@ msgid "" "from subprocess import Popen, PIPE\n" "import sys\n" "from threading import Thread\n" -"from urllib.parse import urlparse\n" +"from urllib.parse import urlsplit\n" "from urllib.request import urlretrieve\n" "import venv\n" "\n" @@ -747,7 +763,7 @@ msgid "" " stream.close()\n" "\n" " def install_script(self, context, name, url):\n" -" _, _, path, _, _, _ = urlparse(url)\n" +" _, _, path, _, _ = urlsplit(url)\n" " fn = os.path.split(path)[-1]\n" " binpath = context.bin_path\n" " distpath = os.path.join(binpath, fn)\n" diff --git a/library/warnings.po b/library/warnings.po index 8f9309e793..2802296a96 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!warnings` --- Warning control" msgstr "" msgid "**Source code:** :source:`Lib/warnings.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/warnings.py`" msgid "" "Warning messages are typically issued in situations where it is useful to " @@ -135,7 +134,10 @@ msgstr "" msgid ":exc:`SyntaxWarning`" msgstr ":exc:`SyntaxWarning`" -msgid "Base category for warnings about dubious syntactic features." +msgid "" +"Base category for warnings about dubious syntactic features (typically " +"emitted when compiling Python source code, and hence may not be suppressed " +"by runtime filters)" msgstr "" msgid ":exc:`RuntimeWarning`" @@ -333,7 +335,7 @@ msgid "" "The warnings filter is initialized by :option:`-W` options passed to the " "Python interpreter command line and the :envvar:`PYTHONWARNINGS` environment " "variable. The interpreter saves the arguments for all supplied entries " -"without interpretation in :data:`sys.warnoptions`; the :mod:`warnings` " +"without interpretation in :data:`sys.warnoptions`; the :mod:`!warnings` " "module parses these when it is first imported (invalid options are ignored, " "after printing a message to :data:`sys.stderr`)." msgstr "" @@ -638,7 +640,7 @@ msgstr "" msgid "" "This makes the warning refer to both the ``example.lower.one_way()`` and " -"``package.higher.another_way()`` call sites only from calling code living " +"``example.higher.another_way()`` call sites only from calling code living " "outside of ``example`` package." msgstr "" @@ -656,12 +658,21 @@ msgstr "" msgid "" "This is a low-level interface to the functionality of :func:`warn`, passing " "in explicitly the message, category, filename and line number, and " -"optionally the module name and the registry (which should be the " -"``__warningregistry__`` dictionary of the module). The module name defaults " -"to the filename with ``.py`` stripped; if no registry is passed, the warning " -"is never suppressed. *message* must be a string and *category* a subclass " -"of :exc:`Warning` or *message* may be a :exc:`Warning` instance, in which " -"case *category* will be ignored." +"optionally other arguments. *message* must be a string and *category* a " +"subclass of :exc:`Warning` or *message* may be a :exc:`Warning` instance, in " +"which case *category* will be ignored." +msgstr "" + +msgid "" +"*module*, if supplied, should be the module name. If no module is passed, " +"the filename with ``.py`` stripped is used." +msgstr "" + +msgid "" +"*registry*, if supplied, should be the ``__warningregistry__`` dictionary of " +"the module. If no registry is passed, each warning is treated as the first " +"occurrence, that is, filter actions ``\"default\"``, ``\"module\"`` and " +"``\"once\"`` are handled as ``\"always\"``." msgstr "" msgid "" @@ -763,9 +774,9 @@ msgstr "" msgid "" "The deprecation message passed to the decorator is saved in the " "``__deprecated__`` attribute on the decorated object. If applied to an " -"overload, the decorator must be after the :func:`@overload ` decorator for the attribute to exist on the overload as returned " -"by :func:`typing.get_overloads`." +"overload, the decorator must be after the :deco:`~typing.overload` decorator " +"for the attribute to exist on the overload as returned by :func:`typing." +"get_overloads`." msgstr "" msgid "See :pep:`702`." @@ -786,8 +797,9 @@ msgstr "" msgid "" "The *module* argument takes a module that will be used instead of the module " -"returned when you import :mod:`warnings` whose filter will be protected. " -"This argument exists primarily for testing the :mod:`warnings` module itself." +"returned when you import :mod:`!warnings` whose filter will be protected. " +"This argument exists primarily for testing the :mod:`!warnings` module " +"itself." msgstr "" msgid "" @@ -819,7 +831,7 @@ msgstr "" msgid "" "If the :data:`~sys.flags.context_aware_warnings` flag is false, then :class:" -"`catch_warnings` will modify the global attributes of the :mod:`warnings` " +"`catch_warnings` will modify the global attributes of the :mod:`!warnings` " "module. This is not safe if used within a concurrent program (using " "multiple threads or using asyncio coroutines). For example, if two or more " "threads use the :class:`catch_warnings` class at the same time, the behavior " diff --git a/library/wave.po b/library/wave.po index 941a6ba0bc..5966d8a611 100644 --- a/library/wave.po +++ b/library/wave.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,12 +27,12 @@ msgid ":mod:`!wave` --- Read and write WAV files" msgstr "" msgid "**Source code:** :source:`Lib/wave.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/wave.py`" msgid "" -"The :mod:`wave` module provides a convenient interface to the Waveform Audio " -"\"WAVE\" (or \"WAV\") file format. Only uncompressed PCM encoded wave files " -"are supported." +"The :mod:`!wave` module provides a convenient interface to the Waveform " +"Audio \"WAVE\" (or \"WAV\") file format. Only uncompressed PCM encoded wave " +"files are supported." msgstr "" msgid "" @@ -40,7 +40,7 @@ msgid "" "extended format is ``KSDATAFORMAT_SUBTYPE_PCM``." msgstr "" -msgid "The :mod:`wave` module defines the following function and exception:" +msgid "The :mod:`!wave` module defines the following function and exception:" msgstr "" msgid "" @@ -49,13 +49,13 @@ msgid "" msgstr "" msgid "``'rb'``" -msgstr "" +msgstr "``'rb'``" msgid "Read only mode." msgstr "" msgid "``'wb'``" -msgstr "" +msgstr "``'wb'``" msgid "Write only mode." msgstr "" @@ -101,7 +101,7 @@ msgid "" msgstr "" msgid "" -"Close the stream if it was opened by :mod:`wave`, and make the instance " +"Close the stream if it was opened by :mod:`!wave`, and make the instance " "unusable. This is called automatically on object collection." msgstr "" @@ -192,7 +192,7 @@ msgstr "" msgid "" "Make sure *nframes* is correct, and close the file if it was opened by :mod:" -"`wave`. This method is called upon object collection. It will raise an " +"`!wave`. This method is called upon object collection. It will raise an " "exception if the output stream is not seekable and *nframes* does not match " "the number of frames actually written." msgstr "" @@ -200,32 +200,55 @@ msgstr "" msgid "Set the number of channels." msgstr "" +msgid "Return the number of channels." +msgstr "" + msgid "Set the sample width to *n* bytes." msgstr "" +msgid "Return the sample width in bytes." +msgstr "" + msgid "Set the frame rate to *n*." msgstr "" msgid "A non-integral input to this method is rounded to the nearest integer." msgstr "" +msgid "Return the frame rate." +msgstr "" + msgid "" "Set the number of frames to *n*. This will be changed later if the number " "of frames actually written is different (this update attempt will raise an " "error if the output stream is not seekable)." msgstr "" +msgid "Return the number of audio frames written so far." +msgstr "" + msgid "" "Set the compression type and description. At the moment, only compression " "type ``NONE`` is supported, meaning no compression." msgstr "" +msgid "Return the compression type (``'NONE'``)." +msgstr "" + +msgid "Return the human-readable compression type name." +msgstr "" + msgid "" "The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " "compname)``, with values valid for the ``set*()`` methods. Sets all " "parameters." msgstr "" +msgid "" +"Return a :func:`~collections.namedtuple` ``(nchannels, sampwidth, framerate, " +"nframes, comptype, compname)`` containing the current output parameters." +msgstr "" + msgid "" "Return current position in the file, with the same disclaimer for the :meth:" "`Wave_read.tell` and :meth:`Wave_read.setpos` methods." diff --git a/library/weakref.po b/library/weakref.po index 7ffaf2228d..ee729dec94 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,14 +23,14 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`weakref` --- Weak references" +msgid ":mod:`!weakref` --- Weak references" msgstr "" msgid "**Source code:** :source:`Lib/weakref.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/weakref.py`" msgid "" -"The :mod:`weakref` module allows the Python programmer to create :dfn:`weak " +"The :mod:`!weakref` module allows the Python programmer to create :dfn:`weak " "references` to objects." msgstr "" @@ -60,7 +60,7 @@ msgid "" "names to images, or images to names, the image objects would remain alive " "just because they appeared as values or keys in the dictionaries. The :" "class:`WeakKeyDictionary` and :class:`WeakValueDictionary` classes supplied " -"by the :mod:`weakref` module are an alternative, using weak references to " +"by the :mod:`!weakref` module are an alternative, using weak references to " "construct mappings that don't keep objects alive solely because they appear " "in the mapping objects. If, for example, an image object is a value in a :" "class:`WeakValueDictionary`, then when the last remaining references to that " @@ -90,7 +90,7 @@ msgid "" "Most programs should find that using one of these weak container types or :" "class:`finalize` is all they need -- it's not usually necessary to create " "your own weak references directly. The low-level machinery is exposed by " -"the :mod:`weakref` module for the benefit of advanced uses." +"the :mod:`!weakref` module for the benefit of advanced uses." msgstr "" msgid "" diff --git a/library/webbrowser.po b/library/webbrowser.po index 2723867859..3763e90466 100644 --- a/library/webbrowser.po +++ b/library/webbrowser.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!webbrowser` --- Convenient web-browser controller" msgstr "" msgid "**Source code:** :source:`Lib/webbrowser.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/webbrowser.py`" msgid "" -"The :mod:`webbrowser` module provides a high-level interface to allow " +"The :mod:`!webbrowser` module provides a high-level interface to allow " "displaying web-based documents to users. Under most circumstances, simply " "calling the :func:`.open` function from this module will do the right thing." msgstr "" @@ -73,10 +72,13 @@ msgid "" "controlling autoraise, browser preference, and new tab/window creation will " "be ignored. Web pages will *always* be opened in the user's preferred " "browser, in a new tab, with the browser being brought to the foreground. The " -"use of the :mod:`webbrowser` module on iOS requires the :mod:`ctypes` " +"use of the :mod:`!webbrowser` module on iOS requires the :mod:`ctypes` " "module. If :mod:`ctypes` isn't available, calls to :func:`.open` will fail." msgstr "" +msgid "Command-line interface" +msgstr "" + msgid "" "The script :program:`webbrowser` can be used as a command-line interface for " "the module. It accepts a URL as the argument. It accepts the following " @@ -233,19 +235,19 @@ msgid "``'lynx'``" msgstr "" msgid "``GenericBrowser('lynx')``" -msgstr "" +msgstr "``GenericBrowser('lynx')``" msgid "``'w3m'``" msgstr "``'w3m'``" msgid "``GenericBrowser('w3m')``" -msgstr "" +msgstr "``GenericBrowser('w3m')``" msgid "``'windows-default'``" -msgstr "" +msgstr "``'windows-default'``" msgid "``WindowsDefault``" -msgstr "" +msgstr "``WindowsDefault``" msgid "\\(2)" msgstr "\\(2)" @@ -254,7 +256,7 @@ msgid "``'macosx'``" msgstr "``'macosx'``" msgid "``MacOSXOSAScript('default')``" -msgstr "" +msgstr "``MacOSXOSAScript('default')``" msgid "\\(3)" msgstr "\\(3)" @@ -263,19 +265,19 @@ msgid "``'safari'``" msgstr "" msgid "``MacOSXOSAScript('safari')``" -msgstr "" +msgstr "``MacOSXOSAScript('safari')``" msgid "``'google-chrome'``" msgstr "``'google-chrome'``" msgid "``Chrome('google-chrome')``" -msgstr "" +msgstr "``Chrome('google-chrome')``" msgid "``'chrome'``" msgstr "``'chrome'``" msgid "``Chrome('chrome')``" -msgstr "" +msgstr "``Chrome('chrome')``" msgid "``'chromium'``" msgstr "``'chromium'``" @@ -350,7 +352,7 @@ msgid "" "webbrowser.open_new(url)" msgstr "" -msgid "Browser Controller Objects" +msgid "Browser controller objects" msgstr "" msgid "" diff --git a/library/winreg.po b/library/winreg.po index ee40457d9b..8dd0625002 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Michał Biliński , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,6 +33,9 @@ msgid "" "neglects to explicitly close them." msgstr "" +msgid "Availability" +msgstr "Dostępność" + msgid "" "Several functions in this module used to raise a :exc:`WindowsError`, which " "is now an alias of :exc:`OSError`." @@ -206,7 +207,7 @@ msgid "The result is a tuple of 3 items:" msgstr "" msgid "Index" -msgstr "" +msgstr "Indeks" msgid "Meaning" msgstr "Znaczenie" @@ -538,7 +539,7 @@ msgid "Constants" msgstr "Stały" msgid "" -"The following constants are defined for use in many :mod:`winreg` functions." +"The following constants are defined for use in many :mod:`!winreg` functions." msgstr "" msgid "HKEY_* Constants" @@ -736,11 +737,6 @@ msgid "" "detached)." msgstr "" -msgid "" -"The object also support comparison semantics, so handle objects will compare " -"true if they both reference the same underlying Windows handle value." -msgstr "" - msgid "" "Handle objects can be converted to an integer (e.g., using the built-in :" "func:`int` function), in which case the underlying Windows handle value is " diff --git a/library/winsound.po b/library/winsound.po index d4ba88079c..55743de12a 100644 --- a/library/winsound.po +++ b/library/winsound.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,11 +27,14 @@ msgid ":mod:`!winsound` --- Sound-playing interface for Windows" msgstr "" msgid "" -"The :mod:`winsound` module provides access to the basic sound-playing " +"The :mod:`!winsound` module provides access to the basic sound-playing " "machinery provided by Windows platforms. It includes functions and several " "constants." msgstr "" +msgid "Availability" +msgstr "Dostępność" + msgid "" "Beep the PC's speaker. The *frequency* parameter specifies frequency, in " "hertz, of the sound, and must be in the range 37 through 32,767. The " @@ -85,31 +88,31 @@ msgid "Corresponding Control Panel Sound name" msgstr "" msgid "``'SystemAsterisk'``" -msgstr "" +msgstr "``'SystemAsterisk'``" msgid "Asterisk" msgstr "" msgid "``'SystemExclamation'``" -msgstr "" +msgstr "``'SystemExclamation'``" msgid "Exclamation" msgstr "" msgid "``'SystemExit'``" -msgstr "" +msgstr "``'SystemExit'``" msgid "Exit Windows" msgstr "" msgid "``'SystemHand'``" -msgstr "" +msgstr "``'SystemHand'``" msgid "Critical Stop" msgstr "" msgid "``'SystemQuestion'``" -msgstr "" +msgstr "``'SystemQuestion'``" msgid "Question" msgstr "" diff --git a/library/wsgiref.po b/library/wsgiref.po index 8f560a4925..5738b7c4e1 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Transifex Bot <>, 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.11\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-19 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Transifex Bot <>, 2023\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,10 +23,15 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" +msgid ":mod:`!wsgiref` --- WSGI Utilities and Reference Implementation" msgstr "" msgid "**Source code:** :source:`Lib/wsgiref`" +msgstr "**Kod źródłowy:** :source:`Lib/wsgiref`" + +msgid "" +":mod:`!wsgiref` is a reference implementation and is not recommended for " +"production. The module only implements basic security checks." msgstr "" msgid "" @@ -45,7 +49,7 @@ msgid "" msgstr "" msgid "" -":mod:`wsgiref` is a reference implementation of the WSGI specification that " +":mod:`!wsgiref` is a reference implementation of the WSGI specification that " "can be used to add WSGI support to a web server or framework. It provides " "utilities for manipulating WSGI environment variables and response headers, " "base classes for implementing WSGI servers, a demo HTTP server that serves " @@ -59,7 +63,7 @@ msgid "" "information about WSGI, and links to tutorials and other resources." msgstr "" -msgid ":mod:`wsgiref.util` -- WSGI environment utilities" +msgid ":mod:`!wsgiref.util` -- WSGI environment utilities" msgstr "" msgid "" @@ -148,11 +152,36 @@ msgid "" "actual WSGI servers or applications, since the data is fake!" msgstr "" -msgid "Example usage::" +msgid "" +"Example usage (see also :func:`~wsgiref.simple_server.demo_app` for another " +"example)::" msgstr "" msgid "" -"In addition to the environment functions above, the :mod:`wsgiref.util` " +"from wsgiref.util import setup_testing_defaults\n" +"from wsgiref.simple_server import make_server\n" +"\n" +"# A relatively simple WSGI application. It's going to print out the\n" +"# environment dictionary after being updated by setup_testing_defaults\n" +"def simple_app(environ, start_response):\n" +" setup_testing_defaults(environ)\n" +"\n" +" status = '200 OK'\n" +" headers = [('Content-type', 'text/plain; charset=utf-8')]\n" +"\n" +" start_response(status, headers)\n" +"\n" +" ret = [(\"%s: %s\\n\" % (key, value)).encode(\"utf-8\")\n" +" for key, value in environ.items()]\n" +" return ret\n" +"\n" +"with make_server('', 8000, simple_app) as httpd:\n" +" print(\"Serving on port 8000...\")\n" +" httpd.serve_forever()" +msgstr "" + +msgid "" +"In addition to the environment functions above, the :mod:`!wsgiref.util` " "module also provides these miscellaneous utilities:" msgstr "" @@ -176,10 +205,25 @@ msgid "" "`close` method when called." msgstr "" -msgid "Support for :meth:`__getitem__` method has been removed." +msgid "Example usage::" msgstr "" -msgid ":mod:`wsgiref.headers` -- WSGI response header tools" +msgid "" +"from io import StringIO\n" +"from wsgiref.util import FileWrapper\n" +"\n" +"# We're using a StringIO-buffer for as the file-like object\n" +"filelike = StringIO(\"This is an example file-like object\"*10)\n" +"wrapper = FileWrapper(filelike, blksize=5)\n" +"\n" +"for chunk in wrapper:\n" +" print(chunk)" +msgstr "" + +msgid "Support for :meth:`~object.__getitem__` method has been removed." +msgstr "" + +msgid ":mod:`!wsgiref.headers` -- WSGI response header tools" msgstr "" msgid "" @@ -195,13 +239,14 @@ msgstr "" msgid "" ":class:`Headers` objects support typical mapping operations including :meth:" -"`__getitem__`, :meth:`get`, :meth:`__setitem__`, :meth:`setdefault`, :meth:" -"`__delitem__` and :meth:`__contains__`. For each of these methods, the key " -"is the header name (treated case-insensitively), and the value is the first " -"value associated with that header name. Setting a header deletes any " -"existing values for that header, then adds a new value at the end of the " -"wrapped header list. Headers' existing order is generally maintained, with " -"new headers added to the end of the wrapped list." +"`~object.__getitem__`, :meth:`~dict.get`, :meth:`~object.__setitem__`, :meth:" +"`~dict.setdefault`, :meth:`~object.__delitem__` and :meth:`~object." +"__contains__`. For each of these methods, the key is the header name " +"(treated case-insensitively), and the value is the first value associated " +"with that header name. Setting a header deletes any existing values for " +"that header, then adds a new value at the end of the wrapped header list. " +"Headers' existing order is generally maintained, with new headers added to " +"the end of the wrapped list." msgstr "" msgid "" @@ -261,13 +306,19 @@ msgid "" "a value.) Example usage::" msgstr "" +msgid "h.add_header('content-disposition', 'attachment', filename='bud.gif')" +msgstr "" + msgid "The above will add a header that looks like this::" msgstr "" +msgid "Content-Disposition: attachment; filename=\"bud.gif\"" +msgstr "" + msgid "*headers* parameter is optional." msgstr "" -msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" +msgid ":mod:`!wsgiref.simple_server` -- a simple WSGI HTTP server" msgstr "" msgid "" @@ -288,14 +339,32 @@ msgid "" "pep:`3333`." msgstr "" +msgid "" +"from wsgiref.simple_server import make_server, demo_app\n" +"\n" +"with make_server('', 8000, demo_app) as httpd:\n" +" print(\"Serving HTTP on port 8000...\")\n" +"\n" +" # Respond to requests until process is killed\n" +" httpd.serve_forever()\n" +"\n" +" # Alternative: serve one request, then exit\n" +" httpd.handle_request()" +msgstr "" + msgid "" "This function is a small but complete WSGI application that returns a text " "page containing the message \"Hello world!\" and a list of the key/value " "pairs provided in the *environ* parameter. It's useful for verifying that a " -"WSGI server (such as :mod:`wsgiref.simple_server`) is able to run a simple " +"WSGI server (such as :mod:`!wsgiref.simple_server`) is able to run a simple " "WSGI application correctly." msgstr "" +msgid "" +"The *start_response* callable should follow the :class:`.StartResponse` " +"protocol." +msgstr "" + msgid "" "Create a :class:`WSGIServer` instance. *server_address* should be a ``(host," "port)`` tuple, and *RequestHandlerClass* should be the subclass of :class:" @@ -361,13 +430,13 @@ msgid "" "application interface." msgstr "" -msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" +msgid ":mod:`!wsgiref.validate` --- WSGI conformance checker" msgstr "" msgid "" "When creating new WSGI application objects, frameworks, servers, or " "middleware, it can be useful to validate the new code's conformance using :" -"mod:`wsgiref.validate`. This module provides a function that creates WSGI " +"mod:`!wsgiref.validate`. This module provides a function that creates WSGI " "application objects that validate communications between a WSGI server or " "gateway and a WSGI application object, to check both sides for protocol " "conformance." @@ -412,7 +481,30 @@ msgid "" "object)." msgstr "" -msgid ":mod:`wsgiref.handlers` -- server/gateway base classes" +msgid "" +"from wsgiref.validate import validator\n" +"from wsgiref.simple_server import make_server\n" +"\n" +"# Our callable object which is intentionally not compliant to the\n" +"# standard, so the validator is going to break\n" +"def simple_app(environ, start_response):\n" +" status = '200 OK' # HTTP Status\n" +" headers = [('Content-type', 'text/plain')] # HTTP Headers\n" +" start_response(status, headers)\n" +"\n" +" # This is going to break because we need to return a list, and\n" +" # the validator is going to inform us\n" +" return b\"Hello World\"\n" +"\n" +"# This is the application wrapped in a validator\n" +"validator_app = validator(simple_app)\n" +"\n" +"with make_server('', 8000, validator_app) as httpd:\n" +" print(\"Listening on port 8000....\")\n" +" httpd.serve_forever()" +msgstr "" + +msgid ":mod:`!wsgiref.handlers` -- server/gateway base classes" msgstr "" msgid "" @@ -488,12 +580,13 @@ msgid "" msgstr "" msgid "" -"This class is a subclass of :class:`BaseHandler`. It overrides the :meth:" -"`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:`add_cgi_vars`, :" -"meth:`_write`, and :meth:`_flush` methods to support explicitly setting the " -"environment and streams via the constructor. The supplied environment and " -"streams are stored in the :attr:`stdin`, :attr:`stdout`, :attr:`stderr`, " -"and :attr:`environ` attributes." +"This class is a subclass of :class:`BaseHandler`. It overrides the :meth:`!" +"__init__`, :meth:`~BaseHandler.get_stdin`, :meth:`~BaseHandler.get_stderr`, :" +"meth:`~BaseHandler.add_cgi_vars`, :meth:`~BaseHandler._write`, and :meth:" +"`~BaseHandler._flush` methods to support explicitly setting the environment " +"and streams via the constructor. The supplied environment and streams are " +"stored in the :attr:`stdin`, :attr:`stdout`, :attr:`stderr`, and :attr:" +"`environ` attributes." msgstr "" msgid "" @@ -585,7 +678,7 @@ msgstr "" msgid "" "The default environment variables to be included in every request's WSGI " "environment. By default, this is a copy of ``os.environ`` at the time that :" -"mod:`wsgiref.handlers` was imported, but subclasses can either create their " +"mod:`!wsgiref.handlers` was imported, but subclasses can either create their " "own at the class or instance level. Note that the dictionary should be " "considered read-only, since the default value is shared between multiple " "classes and instances." @@ -645,7 +738,9 @@ msgstr "" msgid "" "This method can access the current error using ``sys.exception()``, and " "should pass that information to *start_response* when calling it (as " -"described in the \"Error Handling\" section of :pep:`3333`)." +"described in the \"Error Handling\" section of :pep:`3333`). In particular, " +"the *start_response* callable should follow the :class:`.StartResponse` " +"protocol." msgstr "" msgid "" @@ -735,7 +830,7 @@ msgid "" "directly." msgstr "" -msgid ":mod:`wsgiref.types` -- WSGI types for static type checking" +msgid ":mod:`!wsgiref.types` -- WSGI types for static type checking" msgstr "" msgid "" @@ -744,8 +839,8 @@ msgid "" msgstr "" msgid "" -"A :class:`typing.Protocol` describing `start_response() `_ callables (:pep:`3333`)." +"A :class:`typing.Protocol` describing :pep:`start_response() <3333#the-start-" +"response-callable>` callables (:pep:`3333`)." msgstr "" msgid "A type alias describing a WSGI environment dictionary." @@ -755,28 +850,103 @@ msgid "A type alias describing a WSGI application callable." msgstr "" msgid "" -"A :class:`typing.Protocol` describing a `WSGI Input Stream `_." +"A :class:`typing.Protocol` describing a :pep:`WSGI Input Stream <3333#input-" +"and-error-streams>`." msgstr "" msgid "" -"A :class:`typing.Protocol` describing a `WSGI Error Stream `_." +"A :class:`typing.Protocol` describing a :pep:`WSGI Error Stream <3333#input-" +"and-error-streams>`." msgstr "" msgid "" -"A :class:`typing.Protocol` describing a `file wrapper `_. See :class:" -"`wsgiref.util.FileWrapper` for a concrete implementation of this protocol." +"A :class:`typing.Protocol` describing a :pep:`file wrapper <3333#optional-" +"platform-specific-file-handling>`. See :class:`wsgiref.util.FileWrapper` for " +"a concrete implementation of this protocol." msgstr "" msgid "Examples" msgstr "Przykłady" -msgid "This is a working \"Hello World\" WSGI application::" +msgid "" +"This is a working \"Hello World\" WSGI application, where the " +"*start_response* callable should follow the :class:`.StartResponse` " +"protocol::" +msgstr "" + +msgid "" +"\"\"\"\n" +"Every WSGI application must have an application object - a callable\n" +"object that accepts two arguments. For that purpose, we're going to\n" +"use a function (note that you're not limited to a function, you can\n" +"use a class for example). The first argument passed to the function\n" +"is a dictionary containing CGI-style environment variables and the\n" +"second variable is the callable object.\n" +"\"\"\"\n" +"from wsgiref.simple_server import make_server\n" +"\n" +"\n" +"def hello_world_app(environ, start_response):\n" +" status = \"200 OK\" # HTTP Status\n" +" headers = [(\"Content-type\", \"text/plain; charset=utf-8\")] # HTTP " +"Headers\n" +" start_response(status, headers)\n" +"\n" +" # The returned object is going to be printed\n" +" return [b\"Hello World\"]\n" +"\n" +"with make_server(\"\", 8000, hello_world_app) as httpd:\n" +" print(\"Serving on port 8000...\")\n" +"\n" +" # Serve until process is killed\n" +" httpd.serve_forever()" msgstr "" msgid "" "Example of a WSGI application serving the current directory, accept optional " "directory and port number (default: 8000) on the command line::" msgstr "" + +msgid "" +"\"\"\"\n" +"Small wsgiref based web server. Takes a path to serve from and an\n" +"optional port number (defaults to 8000), then tries to serve files.\n" +"MIME types are guessed from the file names, 404 errors are raised\n" +"if the file is not found.\n" +"\"\"\"\n" +"import mimetypes\n" +"import os\n" +"import sys\n" +"from wsgiref import simple_server, util\n" +"\n" +"\n" +"def app(environ, respond):\n" +" # Get the file name and MIME type\n" +" fn = os.path.join(path, environ[\"PATH_INFO\"][1:])\n" +" if \".\" not in fn.split(os.path.sep)[-1]:\n" +" fn = os.path.join(fn, \"index.html\")\n" +" mime_type = mimetypes.guess_file_type(fn)[0]\n" +"\n" +" # Return 200 OK if file exists, otherwise 404 Not Found\n" +" if os.path.exists(fn):\n" +" respond(\"200 OK\", [(\"Content-Type\", mime_type)])\n" +" return util.FileWrapper(open(fn, \"rb\"))\n" +" else:\n" +" respond(\"404 Not Found\", [(\"Content-Type\", \"text/plain\")])\n" +" return [b\"not found\"]\n" +"\n" +"\n" +"if __name__ == \"__main__\":\n" +" # Get the path and port from command-line arguments\n" +" path = sys.argv[1] if len(sys.argv) > 1 else os.getcwd()\n" +" port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000\n" +"\n" +" # Make and start the server until control-c\n" +" httpd = simple_server.make_server(\"\", port, app)\n" +" print(f\"Serving {path} on port {port}, control-C to stop\")\n" +" try:\n" +" httpd.serve_forever()\n" +" except KeyboardInterrupt:\n" +" print(\"Shutting down.\")\n" +" httpd.server_close()" +msgstr "" diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index 9127f4fefb..1b17073949 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +27,10 @@ msgid ":mod:`!xml.dom.minidom` --- Minimal DOM implementation" msgstr "" msgid "**Source code:** :source:`Lib/xml/dom/minidom.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/xml/dom/minidom.py`" msgid "" -":mod:`xml.dom.minidom` is a minimal implementation of the Document Object " +":mod:`!xml.dom.minidom` is a minimal implementation of the Document Object " "Model interface, with an API similar to that in other languages. It is " "intended to be simpler than the full DOM and also significantly smaller. " "Users who are not already proficient with the DOM should consider using the :" @@ -39,14 +38,13 @@ msgid "" msgstr "" msgid "" -"The :mod:`xml.dom.minidom` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." +"If you need to parse untrusted or unauthenticated data, see :ref:`xml-" +"security`." msgstr "" msgid "" "DOM applications typically start by parsing some XML into a DOM. With :mod:" -"`xml.dom.minidom`, this is done through the parse functions::" +"`!xml.dom.minidom`, this is done through the parse functions::" msgstr "" msgid "" @@ -91,7 +89,7 @@ msgstr "" msgid "" "What the :func:`parse` and :func:`parseString` functions do is connect an " "XML parser with a \"DOM builder\" that can accept parse events from any SAX " -"parser and convert them into a DOM tree. The name of the functions are " +"parser and convert them into a DOM tree. The names of the functions are " "perhaps misleading, but are easy to grasp when learning the interfaces. The " "parsing of the document will be completed before these functions return; " "it's simply that these functions do not provide a parser implementation " @@ -102,7 +100,7 @@ msgid "" "You can also create a :class:`Document` by calling a method on a \"DOM " "Implementation\" object. You can get this object either by calling the :" "func:`getDOMImplementation` function in the :mod:`xml.dom` package or the :" -"mod:`xml.dom.minidom` module. Once you have a :class:`Document`, you can " +"mod:`!xml.dom.minidom` module. Once you have a :class:`Document`, you can " "add child nodes to it to populate the DOM::" msgstr "" @@ -133,7 +131,7 @@ msgstr "" msgid "" "When you are finished with a DOM tree, you may optionally call the :meth:" "`unlink` method to encourage early cleanup of the now-unneeded objects. :" -"meth:`unlink` is an :mod:`xml.dom.minidom`\\ -specific extension to the DOM " +"meth:`unlink` is an :mod:`!xml.dom.minidom`\\ -specific extension to the DOM " "API that renders the node and its descendants essentially useless. " "Otherwise, Python's garbage collector will eventually take care of the " "objects in the tree." @@ -144,7 +142,8 @@ msgid "" "REC-DOM-Level-1/>`_" msgstr "" -msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`." +msgid "" +"The W3C recommendation for the DOM supported by :mod:`!xml.dom.minidom`." msgstr "" msgid "DOM Objects" @@ -153,7 +152,7 @@ msgstr "" msgid "" "The definition of the DOM API for Python is given as part of the :mod:`xml." "dom` module documentation. This section lists the differences between the " -"API and :mod:`xml.dom.minidom`." +"API and :mod:`!xml.dom.minidom`." msgstr "" msgid "" @@ -323,7 +322,7 @@ msgid "minidom and the DOM standard" msgstr "" msgid "" -"The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM " +"The :mod:`!xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM " "with some DOM 2 features (primarily namespace features)." msgstr "" @@ -359,7 +358,7 @@ msgid "" msgstr "" msgid "" -"The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` " +"The type ``DOMString`` maps to Python strings. :mod:`!xml.dom.minidom` " "supports either bytes or strings, but will normally produce strings. Values " "of type ``DOMString`` may also be ``None`` where allowed to have the IDL " "``null`` value by the DOM specification from the W3C." @@ -372,9 +371,9 @@ msgid "" msgstr "" msgid "" -"``DOMException`` is currently not supported in :mod:`xml.dom.minidom`. " -"Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such as :exc:" -"`TypeError` and :exc:`AttributeError`." +"``DOMException`` is currently not supported in :mod:`!xml.dom.minidom`. " +"Instead, :mod:`!xml.dom.minidom` uses standard Python exceptions such as :" +"exc:`TypeError` and :exc:`AttributeError`." msgstr "" msgid "" @@ -386,7 +385,7 @@ msgid "" msgstr "" msgid "" -"The following interfaces have no implementation in :mod:`xml.dom.minidom`:" +"The following interfaces have no implementation in :mod:`!xml.dom.minidom`:" msgstr "" msgid ":class:`DOMTimeStamp`" diff --git a/library/xml.dom.po b/library/xml.dom.po index 789292fd7c..19ef12d393 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!xml.dom` --- The Document Object Model API" msgstr "" msgid "**Source code:** :source:`Lib/xml/dom/__init__.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/xml/dom/__init__.py`" msgid "" "The Document Object Model, or \"DOM,\" is a cross-language API from the " @@ -118,7 +116,7 @@ msgstr "" msgid "Module Contents" msgstr "" -msgid "The :mod:`xml.dom` contains the following functions:" +msgid "The :mod:`!xml.dom` contains the following functions:" msgstr "" msgid "" @@ -172,7 +170,7 @@ msgid "" msgstr "" msgid "" -"In addition, :mod:`xml.dom` contains a base :class:`Node` class and the DOM " +"In addition, :mod:`!xml.dom` contains a base :class:`Node` class and the DOM " "exception classes. The :class:`Node` class provided by this module does not " "implement any of the methods or attributes defined by the DOM specification; " "concrete DOM implementations must provide those. The :class:`Node` class " @@ -1065,7 +1063,7 @@ msgid "``unsigned int``" msgstr "``unsigned int``" msgid "``DOMString``" -msgstr "" +msgstr "``DOMString``" msgid "``str`` or ``bytes``" msgstr "``str`` or ``bytes``" diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index 70feb5d462..cb3159f674 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,10 +27,10 @@ msgid ":mod:`!xml.dom.pulldom` --- Support for building partial DOM trees" msgstr "" msgid "**Source code:** :source:`Lib/xml/dom/pulldom.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/xml/dom/pulldom.py`" msgid "" -"The :mod:`xml.dom.pulldom` module provides a \"pull parser\" which can also " +"The :mod:`!xml.dom.pulldom` module provides a \"pull parser\" which can also " "be asked to produce DOM-accessible fragments of the document where " "necessary. The basic concept involves pulling \"events\" from a stream of " "incoming XML and processing them. In contrast to SAX which also employs an " @@ -41,9 +41,8 @@ msgid "" msgstr "" msgid "" -"The :mod:`xml.dom.pulldom` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." +"If you need to parse untrusted or unauthenticated data, see :ref:`xml-" +"security`." msgstr "" msgid "" diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 5f110fe8c0..ec27bacb9c 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Igor Zubrycki , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +27,10 @@ msgid ":mod:`!xml.etree.ElementTree` --- The ElementTree XML API" msgstr "" msgid "**Source code:** :source:`Lib/xml/etree/ElementTree.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/xml/etree/ElementTree.py`" msgid "" -"The :mod:`xml.etree.ElementTree` module implements a simple and efficient " +"The :mod:`!xml.etree.ElementTree` module implements a simple and efficient " "API for parsing and creating XML data." msgstr "" @@ -43,16 +41,15 @@ msgid "The :mod:`!xml.etree.cElementTree` module is deprecated." msgstr "" msgid "" -"The :mod:`xml.etree.ElementTree` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." +"If you need to parse untrusted or unauthenticated data, see :ref:`xml-" +"security`." msgstr "" msgid "Tutorial" msgstr "Tutorial" msgid "" -"This is a short tutorial for using :mod:`xml.etree.ElementTree` (``ET`` in " +"This is a short tutorial for using :mod:`!xml.etree.ElementTree` (``ET`` in " "short). The goal is to demonstrate some of the building blocks and basic " "concepts of the module." msgstr "" @@ -964,7 +961,7 @@ msgstr "" msgid "" "To process this file, load it as usual, and pass the root element to the :" -"mod:`xml.etree.ElementTree` module:" +"mod:`!xml.etree.ElementTree` module:" msgstr "" msgid "" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 53304b1aaf..eb830c3ac9 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!xmlrpc.client` --- XML-RPC client access" msgstr "" msgid "**Source code:** :source:`Lib/xmlrpc/client.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/xmlrpc/client.py`" msgid "" "XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP(S) " @@ -39,13 +38,13 @@ msgid "" msgstr "" msgid "" -"The :mod:`xmlrpc.client` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." +"The :mod:`!xmlrpc.client` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data, " +"see :ref:`xml-security`." msgstr "" msgid "" -"For HTTPS URIs, :mod:`xmlrpc.client` now performs all the necessary " +"For HTTPS URIs, :mod:`!xmlrpc.client` now performs all the necessary " "certificate and hostname checks by default." msgstr "" @@ -364,12 +363,12 @@ msgid "" msgstr "" msgid "" -"import datetime\n" +"import datetime as dt\n" "from xmlrpc.server import SimpleXMLRPCServer\n" "import xmlrpc.client\n" "\n" "def today():\n" -" today = datetime.datetime.today()\n" +" today = dt.datetime.today()\n" " return xmlrpc.client.DateTime(today)\n" "\n" "server = SimpleXMLRPCServer((\"localhost\", 8000))\n" @@ -380,14 +379,14 @@ msgstr "" msgid "" "import xmlrpc.client\n" -"import datetime\n" +"import datetime as dt\n" "\n" "proxy = xmlrpc.client.ServerProxy(\"http://localhost:8000/\")\n" "\n" "today = proxy.today()\n" -"# convert the ISO8601 string to a datetime object\n" -"converted = datetime.datetime.strptime(today.value, \"%Y%m%dT%H:%M:%S\")\n" -"print(\"Today: %s\" % converted.strftime(\"%d.%m.%Y, %H:%M\"))" +"# convert the ISO 8601 string to a datetime object\n" +"converted = dt.datetime.strptime(today.value, \"%Y%m%dT%H:%M:%S\")\n" +"print(f\"Today: {converted.strftime('%d.%m.%Y, %H:%M')}\")" msgstr "" msgid "Binary Objects" @@ -616,7 +615,7 @@ msgid "Convenience Functions" msgstr "" msgid "" -"Convert *params* into an XML-RPC request. or into a response if " +"Convert *params* into an XML-RPC request, or into a response if " "*methodresponse* is true. *params* can be either a tuple of arguments or an " "instance of the :exc:`Fault` exception class. If *methodresponse* is true, " "only a single value can be returned, meaning that *params* must be of length " diff --git a/library/xmlrpc.po b/library/xmlrpc.po index f3cc5bb7fa..a03c0f49f4 100644 --- a/library/xmlrpc.po +++ b/library/xmlrpc.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index fe87ad4d64..b1d47f3043 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,19 +27,19 @@ msgid ":mod:`!xmlrpc.server` --- Basic XML-RPC servers" msgstr "" msgid "**Source code:** :source:`Lib/xmlrpc/server.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/xmlrpc/server.py`" msgid "" -"The :mod:`xmlrpc.server` module provides a basic server framework for XML-" +"The :mod:`!xmlrpc.server` module provides a basic server framework for XML-" "RPC servers written in Python. Servers can either be free standing, using :" "class:`SimpleXMLRPCServer`, or embedded in a CGI environment, using :class:" "`CGIXMLRPCRequestHandler`." msgstr "" msgid "" -"The :mod:`xmlrpc.server` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." +"The :mod:`!xmlrpc.server` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data, " +"see :ref:`xml-security`." msgstr "" msgid "Availability" @@ -87,7 +87,7 @@ msgid "" "to the :class:`SimpleXMLRPCServer` constructor parameter is honored." msgstr "" -msgid "SimpleXMLRPCServer Objects" +msgid "SimpleXMLRPCServer objects" msgstr "" msgid "" @@ -156,7 +156,7 @@ msgid "" "paths will be considered valid. The default value is ``('/', '/RPC2')``." msgstr "" -msgid "SimpleXMLRPCServer Example" +msgid "SimpleXMLRPCServer example" msgstr "" msgid "Server code::" @@ -256,11 +256,11 @@ msgstr "" msgid "" "Enabling the *allow_dotted_names* option allows intruders to access your " "module's global variables and may allow intruders to execute arbitrary code " -"on your machine. Only use this example only within a secure, closed network." +"on your machine. Only use this example within a secure, closed network." msgstr "" msgid "" -"import datetime\n" +"import datetime as dt\n" "\n" "class ExampleService:\n" " def getData(self):\n" @@ -269,7 +269,7 @@ msgid "" " class currentTime:\n" " @staticmethod\n" " def getCurrentTime():\n" -" return datetime.datetime.now()\n" +" return dt.datetime.now()\n" "\n" "with SimpleXMLRPCServer((\"localhost\", 8000)) as server:\n" " server.register_function(pow)\n" @@ -400,7 +400,7 @@ msgid "" "parameter is honored." msgstr "" -msgid "DocXMLRPCServer Objects" +msgid "DocXMLRPCServer objects" msgstr "" msgid "" diff --git a/library/zipapp.po b/library/zipapp.po index 36a4eea555..2aa4db91de 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,7 +27,7 @@ msgid ":mod:`!zipapp` --- Manage executable Python zip archives" msgstr "" msgid "**Source code:** :source:`Lib/zipapp.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/zipapp.py`" msgid "" "This module provides tools to manage the creation of zip files containing " @@ -333,7 +332,7 @@ msgid "Creating Standalone Applications with zipapp" msgstr "" msgid "" -"Using the :mod:`zipapp` module, it is possible to create self-contained " +"Using the :mod:`!zipapp` module, it is possible to create self-contained " "Python programs, which can be distributed to end users who only need to have " "a suitable version of Python installed on their system. The key to doing " "this is to bundle all of the application's dependencies into the archive, " diff --git a/library/zipfile.po b/library/zipfile.po index f2303097f3..44704e1e42 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Waldemar Stoczkowski, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,7 +27,7 @@ msgid ":mod:`!zipfile` --- Work with ZIP archives" msgstr "" msgid "**Source code:** :source:`Lib/zipfile/`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/zipfile/`" msgid "" "The ZIP file format is a common archive and compression standard. This " @@ -39,11 +37,19 @@ msgid "" msgstr "" msgid "" -"This module does not currently handle multi-disk ZIP files. It can handle " -"ZIP files that use the ZIP64 extensions (that is ZIP files that are more " -"than 4 GiB in size). It supports decryption of encrypted files in ZIP " -"archives, but it currently cannot create an encrypted file. Decryption is " -"extremely slow as it is implemented in native Python rather than C." +"This module does not handle multipart ZIP files. It can handle ZIP files " +"that use the ZIP64 extensions (that is ZIP files that are more than 4 GiB in " +"size). It supports decryption of encrypted files in ZIP archives, but it " +"cannot create an encrypted file. Decryption is extremely slow as it is " +"implemented in native Python rather than C." +msgstr "" + +msgid "" +"Handling compressed archives requires :term:`optional modules ` such as :mod:`zlib`, :mod:`bz2`, :mod:`lzma`, and :mod:`compression." +"zstd`. If any of them are missing from your copy of CPython, look for " +"documentation from your distributor (that is, whoever provided Python to " +"you). If you are the distributor, see :ref:`optional-module-requirements`." msgstr "" msgid "The module defines the following items:" @@ -78,7 +84,7 @@ msgstr "" msgid "" "Class used to represent information about a member of an archive. Instances " "of this class are returned by the :meth:`.getinfo` and :meth:`.infolist` " -"methods of :class:`ZipFile` objects. Most users of the :mod:`zipfile` " +"methods of :class:`ZipFile` objects. Most users of the :mod:`!zipfile` " "module will not need to create these, but only use those created by this " "module. *filename* should be the full name of the archive member, and " "*date_time* should be a tuple containing six fields which describe the time " @@ -127,12 +133,25 @@ msgid "" "mod:`lzma` module." msgstr "" +msgid "" +"The numeric constant for Zstandard compression. This requires the :mod:" +"`compression.zstd` module." +msgstr "" + +msgid "" +"In APPNOTE 6.3.7, the method ID ``20`` was assigned to Zstandard " +"compression. This was changed in APPNOTE 6.3.8 to method ID ``93`` to avoid " +"conflicts, with method ID ``20`` being deprecated. For compatibility, the :" +"mod:`!zipfile` module reads both method IDs but will only write data with " +"method ID ``93``." +msgstr "" + msgid "" "The ZIP file format specification has included support for bzip2 compression " -"since 2001, and for LZMA compression since 2006. However, some tools " -"(including older Python releases) do not support these compression methods, " -"and may either refuse to process the ZIP file altogether, or fail to extract " -"individual files." +"since 2001, for LZMA compression since 2006, and Zstandard compression since " +"2020. However, some tools (including older Python releases) do not support " +"these compression methods, and may either refuse to process the ZIP file " +"altogether, or fail to extract individual files." msgstr "" msgid "`PKZIP Application Note`_" @@ -151,7 +170,7 @@ msgid "" "development libraries." msgstr "" -msgid "ZipFile Objects" +msgid "ZipFile objects" msgstr "" msgid "" @@ -174,18 +193,19 @@ msgstr "" msgid "" "*compression* is the ZIP compression method to use when writing the archive, " -"and should be :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " -"or :const:`ZIP_LZMA`; unrecognized values will cause :exc:" -"`NotImplementedError` to be raised. If :const:`ZIP_DEFLATED`, :const:" -"`ZIP_BZIP2` or :const:`ZIP_LZMA` is specified but the corresponding module (:" -"mod:`zlib`, :mod:`bz2` or :mod:`lzma`) is not available, :exc:`RuntimeError` " -"is raised. The default is :const:`ZIP_STORED`." +"and should be :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:" +"`ZIP_BZIP2`, :const:`ZIP_LZMA`, or :const:`ZIP_ZSTANDARD`; unrecognized " +"values will cause :exc:`NotImplementedError` to be raised. If :const:" +"`ZIP_DEFLATED`, :const:`ZIP_BZIP2`, :const:`ZIP_LZMA`, or :const:" +"`ZIP_ZSTANDARD` is specified but the corresponding module (:mod:`zlib`, :mod:" +"`bz2`, :mod:`lzma`, or :mod:`compression.zstd`) is not available, :exc:" +"`RuntimeError` is raised. The default is :const:`ZIP_STORED`." msgstr "" msgid "" "If *allowZip64* is ``True`` (the default) zipfile will create ZIP files that " "use the ZIP64 extensions when the zipfile is larger than 4 GiB. If it is " -"``false`` :mod:`zipfile` will raise an exception when the ZIP file would " +"``false`` :mod:`!zipfile` will raise an exception when the ZIP file would " "require ZIP64 extensions." msgstr "" @@ -195,7 +215,11 @@ msgid "" "`ZIP_LZMA` it has no effect. When using :const:`ZIP_DEFLATED` integers ``0`` " "through ``9`` are accepted (see :class:`zlib ` for more " "information). When using :const:`ZIP_BZIP2` integers ``1`` through ``9`` are " -"accepted (see :class:`bz2 ` for more information)." +"accepted (see :class:`bz2 ` for more information). When using :" +"const:`ZIP_ZSTANDARD` integers ``-131072`` through ``22`` are commonly " +"accepted (see :attr:`CompressionParameter.compression_level ` for more on retrieving valid " +"values and their meaning)." msgstr "" msgid "" @@ -230,7 +254,7 @@ msgstr "" msgid "" "*metadata_encoding* is an instance-wide setting for the ZipFile. It is not " -"currently possible to set this on a per-member basis." +"possible to set this on a per-member basis." msgstr "" msgid "" @@ -433,9 +457,9 @@ msgid "" "a :class:`bytes` object and, if specified, overrides the default password " "set with :meth:`setpassword`. Calling :meth:`read` on a ZipFile that uses a " "compression method other than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :" -"const:`ZIP_BZIP2` or :const:`ZIP_LZMA` will raise a :exc:" -"`NotImplementedError`. An error will also be raised if the corresponding " -"compression module is not available." +"const:`ZIP_BZIP2`, :const:`ZIP_LZMA`, or :const:`ZIP_ZSTANDARD` will raise " +"a :exc:`NotImplementedError`. An error will also be raised if the " +"corresponding compression module is not available." msgstr "" msgid "" @@ -527,6 +551,12 @@ msgid "" "was raised." msgstr "" +msgid "" +"Now respects the :envvar:`SOURCE_DATE_EPOCH` environment variable. If set, " +"it uses this value as the modification timestamp for the file written into " +"the ZIP archive, instead of using the current time." +msgstr "" + msgid "" "Create a directory inside the archive. If *zinfo_or_directory* is a string, " "a directory is created inside the archive with the mode that is specified in " @@ -556,14 +586,7 @@ msgid "" "Comments longer than this will be truncated." msgstr "" -msgid "" -"The offset to the start of ZIP data from the beginning of the file. When " -"the :class:`ZipFile` is opened in either mode ``'w'`` or ``'x'`` and the " -"underlying file does not support ``tell()``, the value will be ``None`` " -"instead." -msgstr "" - -msgid "Path Objects" +msgid "Path objects" msgstr "" msgid "" @@ -690,7 +713,7 @@ msgid "" "Path`` for early access to changes." msgstr "" -msgid "PyZipFile Objects" +msgid "PyZipFile objects" msgstr "" msgid "" @@ -775,7 +798,7 @@ msgstr "" msgid "Recursion sorts directory entries." msgstr "" -msgid "ZipInfo Objects" +msgid "ZipInfo objects" msgstr "" msgid "" @@ -823,12 +846,16 @@ msgstr "" msgid "" "The time and date of the last modification to the archive member. This is a " -"tuple of six values:" +"tuple of six values representing the \"last [modified] file time\" and " +"\"last [modified] file date\" fields from the ZIP file's central directory." msgstr "" -msgid "Index" +msgid "The tuple contains:" msgstr "" +msgid "Index" +msgstr "Indeks" + msgid "Value" msgstr "Wartość" @@ -868,7 +895,19 @@ msgstr "``5``" msgid "Seconds (zero-based)" msgstr "" -msgid "The ZIP file format does not support timestamps before 1980." +msgid "" +"The ZIP format supports multiple timestamp fields in different locations " +"(central directory, extra fields for NTFS/UNIX systems, etc.). This " +"attribute specifically returns the timestamp from the central directory. The " +"central directory timestamp format in ZIP files does not support timestamps " +"before 1980. While some extra field formats (such as UNIX timestamps) can " +"represent earlier dates, this attribute only returns the central directory " +"timestamp." +msgstr "" + +msgid "" +"The central directory timestamp is interpreted as representing local time, " +"rather than UTC time, to match the behavior of other zip tools." msgstr "" msgid "Type of compression for the archive member." @@ -919,11 +958,11 @@ msgstr "" msgid "Size of the uncompressed file." msgstr "" -msgid "Command-Line Interface" +msgid "Command-line interface" msgstr "" msgid "" -"The :mod:`zipfile` module provides a simple command-line interface to " +"The :mod:`!zipfile` module provides a simple command-line interface to " "interact with ZIP archives." msgstr "" @@ -991,7 +1030,7 @@ msgid "" "or unsupported compression method / decryption." msgstr "" -msgid "File System limitations" +msgid "File system limitations" msgstr "" msgid "" diff --git a/library/zipimport.po b/library/zipimport.po index f67005de01..71a224143c 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,12 +27,12 @@ msgid ":mod:`!zipimport` --- Import modules from Zip archives" msgstr "" msgid "**Source code:** :source:`Lib/zipimport.py`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/zipimport.py`" msgid "" "This module adds the ability to import Python modules (:file:`\\*.py`, :file:" "`\\*.pyc`) and packages from ZIP-format archives. It is usually not needed " -"to use the :mod:`zipimport` module explicitly; it is automatically used by " +"to use the :mod:`!zipimport` module explicitly; it is automatically used by " "the built-in :keyword:`import` mechanism for :data:`sys.path` items that are " "paths to ZIP archives." msgstr "" @@ -197,22 +196,24 @@ msgstr "Przykłady" msgid "" "Here is an example that imports a module from a ZIP archive - note that the :" -"mod:`zipimport` module is not explicitly used." +"mod:`!zipimport` module is not explicitly used." msgstr "" msgid "" -"$ unzip -l example.zip\n" -"Archive: example.zip\n" +"$ unzip -l example_archive.zip\n" +"Archive: example_archive.zip\n" " Length Date Time Name\n" " -------- ---- ---- ----\n" -" 8467 11-26-02 22:30 jwzthreading.py\n" +" 8467 01-01-00 12:30 example.py\n" " -------- -------\n" -" 8467 1 file\n" -"$ ./python\n" -"Python 2.3 (#1, Aug 1 2003, 19:54:32)\n" +" 8467 1 file" +msgstr "" + +msgid "" ">>> import sys\n" -">>> sys.path.insert(0, 'example.zip') # Add .zip file to front of path\n" -">>> import jwzthreading\n" -">>> jwzthreading.__file__\n" -"'example.zip/jwzthreading.py'" +">>> # Add the archive to the front of the module search path\n" +">>> sys.path.insert(0, 'example_archive.zip')\n" +">>> import example\n" +">>> example.__file__\n" +"'example_archive.zip/example.py'" msgstr "" diff --git a/library/zlib.po b/library/zlib.po index ca42d3422a..d95c8d9fe5 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,18 +28,26 @@ msgstr "" msgid "" "For applications that require data compression, the functions in this module " -"allow compression and decompression, using the zlib library. The zlib " -"library has its own home page at https://www.zlib.net. There are known " -"incompatibilities between the Python module and versions of the zlib library " -"earlier than 1.1.3; 1.1.3 has a `security vulnerability `_, so we recommend using 1.1.4 or later." +"allow compression and decompression, using the `zlib library `_." msgstr "" +msgid "" +"This is an :term:`optional module`. If it is missing from your copy of " +"CPython, look for documentation from your distributor (that is, whoever " +"provided Python to you). If you are the distributor, see :ref:`optional-" +"module-requirements`." +msgstr "" +"To jest :term:`moduł opcjonalny `. Jeśli brakuje go w " +"twojej kopii CPythona, poszukaj dokumentacji od dystrybutora (czyli tego, " +"kto dostarczył ci Pythona). Jeśli jesteś dystrybutorem, zobacz :ref:" +"`optional-module-requirements`." + msgid "" "zlib's functions have many options and often need to be used in a particular " "order. This documentation doesn't attempt to cover all of the permutations; " -"consult the zlib manual at http://www.zlib.net/manual.html for authoritative " -"information." +"consult the `zlib manual `_ for " +"authoritative information." msgstr "" msgid "For reading and writing ``.gz`` files see the :mod:`gzip` module." @@ -69,19 +77,17 @@ msgstr "" msgid "" "Compresses the bytes in *data*, returning a bytes object containing " "compressed data. *level* is an integer from ``0`` to ``9`` or ``-1`` " -"controlling the level of compression; ``1`` (Z_BEST_SPEED) is fastest and " -"produces the least compression, ``9`` (Z_BEST_COMPRESSION) is slowest and " -"produces the most. ``0`` (Z_NO_COMPRESSION) is no compression. The default " -"value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a " -"default compromise between speed and compression (currently equivalent to " -"level 6)." +"controlling the level of compression; See :const:`Z_BEST_SPEED` (``1``), :" +"const:`Z_BEST_COMPRESSION` (``9``), :const:`Z_NO_COMPRESSION` (``0``), and " +"the default, :const:`Z_DEFAULT_COMPRESSION` (``-1``) for more information " +"about these values." msgstr "" msgid "" "The *wbits* argument controls the size of the history buffer (or the " "\"window size\") used when compressing data, and whether a header and " "trailer is included in the output. It can take several ranges of values, " -"defaulting to ``15`` (MAX_WBITS):" +"defaulting to ``15`` (:const:`MAX_WBITS`):" msgstr "" msgid "" @@ -120,12 +126,9 @@ msgstr "" msgid "" "*level* is the compression level -- an integer from ``0`` to ``9`` or " -"``-1``. A value of ``1`` (Z_BEST_SPEED) is fastest and produces the least " -"compression, while a value of ``9`` (Z_BEST_COMPRESSION) is slowest and " -"produces the most. ``0`` (Z_NO_COMPRESSION) is no compression. The default " -"value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a " -"default compromise between speed and compression (currently equivalent to " -"level 6)." +"``-1``. See :const:`Z_BEST_SPEED` (``1``), :const:`Z_BEST_COMPRESSION` " +"(``9``), :const:`Z_NO_COMPRESSION` (``0``), and the default, :const:" +"`Z_DEFAULT_COMPRESSION` (``-1``) for more information about these values." msgstr "" msgid "" @@ -148,7 +151,7 @@ msgstr "" msgid "" "*strategy* is used to tune the compression algorithm. Possible values are :" "const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :" -"const:`Z_RLE` (zlib 1.2.0.1) and :const:`Z_FIXED` (zlib 1.2.2.2)." +"const:`Z_RLE` and :const:`Z_FIXED`." msgstr "" msgid "" @@ -269,13 +272,12 @@ msgid "" "All pending input is processed, and a bytes object containing the remaining " "compressed output is returned. *mode* can be selected from the constants :" "const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :const:`Z_SYNC_FLUSH`, :const:" -"`Z_FULL_FLUSH`, :const:`Z_BLOCK` (zlib 1.2.3.4), or :const:`Z_FINISH`, " -"defaulting to :const:`Z_FINISH`. Except :const:`Z_FINISH`, all constants " -"allow compressing further bytestrings of data, while :const:`Z_FINISH` " -"finishes the compressed stream and prevents compressing any more data. " -"After calling :meth:`flush` with *mode* set to :const:`Z_FINISH`, the :meth:" -"`compress` method cannot be called again; the only realistic action is to " -"delete the object." +"`Z_FULL_FLUSH`, :const:`Z_BLOCK`, or :const:`Z_FINISH`, defaulting to :const:" +"`Z_FINISH`. Except :const:`Z_FINISH`, all constants allow compressing " +"further bytestrings of data, while :const:`Z_FINISH` finishes the compressed " +"stream and prevents compressing any more data. After calling :meth:`flush` " +"with *mode* set to :const:`Z_FINISH`, the :meth:`compress` method cannot be " +"called again; the only realistic action is to delete the object." msgstr "" msgid "" @@ -359,6 +361,98 @@ msgid "" "objects." msgstr "" +msgid "" +"The following constants are available to configure compression and " +"decompression behavior:" +msgstr "" + +msgid "The deflate compression method." +msgstr "" + +msgid "" +"The maximum window size, expressed as a power of 2. For example, if :const:`!" +"MAX_WBITS` is ``15`` it results in a window size of ``32 KiB``." +msgstr "" + +msgid "The default memory level for compression objects." +msgstr "" + +msgid "The default buffer size for decompression operations." +msgstr "" + +msgid "Compression level ``0``; no compression." +msgstr "" + +msgid "Compression level ``1``; fastest and produces the least compression." +msgstr "" + +msgid "Compression level ``9``; slowest and produces the most compression." +msgstr "" + +msgid "" +"Default compression level (``-1``); a compromise between speed and " +"compression. Currently equivalent to compression level ``6``." +msgstr "" + +msgid "Default compression strategy, for normal data." +msgstr "" + +msgid "Compression strategy for data produced by a filter (or predictor)." +msgstr "" + +msgid "Compression strategy that forces Huffman coding only." +msgstr "" + +msgid "" +"Compression strategy that limits match distances to one (run-length " +"encoding)." +msgstr "" + +msgid "" +"This constant is only available if Python was compiled with zlib 1.2.0.1 or " +"greater." +msgstr "" + +msgid "Compression strategy that prevents the use of dynamic Huffman codes." +msgstr "" + +msgid "" +"This constant is only available if Python was compiled with zlib 1.2.2.2 or " +"greater." +msgstr "" + +msgid "Flush mode ``0``. No special flushing behavior." +msgstr "" + +msgid "Flush mode ``1``. Flush as much output as possible." +msgstr "" + +msgid "" +"Flush mode ``2``. All output is flushed and the output is aligned to a byte " +"boundary." +msgstr "" + +msgid "" +"Flush mode ``3``. All output is flushed and the compression state is reset." +msgstr "" + +msgid "" +"Flush mode ``4``. All pending input is processed, no more input is expected." +msgstr "" + +msgid "Flush mode ``5``. A deflate block is completed and emitted." +msgstr "" + +msgid "" +"Flush mode ``6``, for inflate operations. Instructs inflate to return when " +"it gets to the next deflate block boundary." +msgstr "" + +msgid "" +"This constant is only available if Python was compiled with zlib 1.2.3.4 or " +"greater." +msgstr "" + msgid "" "Information about the version of the zlib library in use is available " "through the following constants:" @@ -391,14 +485,14 @@ msgstr "" msgid "Reading and writing :program:`gzip`\\ -format files." msgstr "" -msgid "http://www.zlib.net" -msgstr "http://www.zlib.net" +msgid "https://www.zlib.net" +msgstr "" msgid "The zlib library home page." msgstr "" -msgid "http://www.zlib.net/manual.html" -msgstr "http://www.zlib.net/manual.html" +msgid "https://www.zlib.net/manual.html" +msgstr "" msgid "" "The zlib manual explains the semantics and usage of the library's many " diff --git a/library/zoneinfo.po b/library/zoneinfo.po index 621c4ce0b7..1a9910475c 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,12 +27,12 @@ msgid ":mod:`!zoneinfo` --- IANA time zone support" msgstr "" msgid "**Source code:** :source:`Lib/zoneinfo`" -msgstr "" +msgstr "**Kod źródłowy:** :source:`Lib/zoneinfo`" msgid "" -"The :mod:`zoneinfo` module provides a concrete time zone implementation to " +"The :mod:`!zoneinfo` module provides a concrete time zone implementation to " "support the IANA time zone database as originally specified in :pep:`615`. " -"By default, :mod:`zoneinfo` uses the system's time zone data if available; " +"By default, :mod:`!zoneinfo` uses the system's time zone data if available; " "if no system time zone data is available, the library will fall back to " "using the first-party :pypi:`tzdata` package available on PyPI." msgstr "" @@ -75,14 +74,14 @@ msgstr "" msgid "" ">>> from zoneinfo import ZoneInfo\n" -">>> from datetime import datetime, timedelta\n" +">>> import datetime as dt\n" "\n" -">>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo(\"America/" +">>> when = dt.datetime(2020, 10, 31, 12, tzinfo=ZoneInfo(\"America/" "Los_Angeles\"))\n" -">>> print(dt)\n" +">>> print(when)\n" "2020-10-31 12:00:00-07:00\n" "\n" -">>> dt.tzname()\n" +">>> when.tzname()\n" "'PDT'" msgstr "" @@ -92,21 +91,14 @@ msgid "" msgstr "" msgid "" -">>> dt_add = dt + timedelta(days=1)\n" +">>> when_add = when + dt.timedelta(days=1)\n" "\n" -">>> print(dt_add)\n" +">>> print(when_add)\n" "2020-11-01 12:00:00-08:00\n" "\n" -">>> dt_add.tzname()\n" +">>> when_add.tzname()\n" "'PST'" msgstr "" -">>> dt_add = dt + timedelta(days=1)\n" -"\n" -">>> print(dt_add)\n" -"2020-11-01 12:00:00-08:00\n" -"\n" -">>> dt_add.tzname()\n" -"'PST'" msgid "" "These time zones also support the :attr:`~datetime.datetime.fold` attribute " @@ -117,11 +109,12 @@ msgid "" msgstr "" msgid "" -">>> dt = datetime(2020, 11, 1, 1, tzinfo=ZoneInfo(\"America/Los_Angeles\"))\n" -">>> print(dt)\n" +">>> when = dt.datetime(2020, 11, 1, 1, tzinfo=ZoneInfo(\"America/" +"Los_Angeles\"))\n" +">>> print(when)\n" "2020-11-01 01:00:00-07:00\n" "\n" -">>> print(dt.replace(fold=1))\n" +">>> print(when.replace(fold=1))\n" "2020-11-01 01:00:00-08:00" msgstr "" @@ -131,16 +124,15 @@ msgid "" msgstr "" msgid "" -">>> from datetime import timezone\n" ">>> LOS_ANGELES = ZoneInfo(\"America/Los_Angeles\")\n" -">>> dt_utc = datetime(2020, 11, 1, 8, tzinfo=timezone.utc)\n" +">>> when_utc = dt.datetime(2020, 11, 1, 8, tzinfo=dt.timezone.utc)\n" "\n" ">>> # Before the PDT -> PST transition\n" -">>> print(dt_utc.astimezone(LOS_ANGELES))\n" +">>> print(when_utc.astimezone(LOS_ANGELES))\n" "2020-11-01 01:00:00-07:00\n" "\n" ">>> # After the PDT -> PST transition\n" -">>> print((dt_utc + timedelta(hours=1)).astimezone(LOS_ANGELES))\n" +">>> print((when_utc + dt.timedelta(hours=1)).astimezone(LOS_ANGELES))\n" "2020-11-01 01:00:00-08:00" msgstr "" @@ -284,6 +276,11 @@ msgid "" "Objects created via this constructor cannot be pickled (see `pickling`_)." msgstr "" +msgid "" +":exc:`ValueError` is raised if the data read from *file_obj* is not a valid " +"TZif file." +msgstr "" + msgid "" "An alternate constructor that bypasses the constructor's cache. It is " "identical to the primary constructor, but returns a new object on each call. " @@ -360,8 +357,8 @@ msgid "" ">>> str(zone)\n" "'Pacific/Kwajalein'\n" "\n" -">>> dt = datetime(2020, 4, 1, 3, 15, tzinfo=zone)\n" -">>> f\"{dt.isoformat()} [{dt.tzinfo}]\"\n" +">>> when = dt.datetime(2020, 4, 1, 3, 15, tzinfo=zone)\n" +">>> f\"{when.isoformat()} [{when.tzinfo}]\"\n" "'2020-04-01T03:15:00+12:00 [Pacific/Kwajalein]'" msgstr "" @@ -388,10 +385,9 @@ msgid "" "``ZoneInfo(key)``: When constructed with the primary constructor, a " "``ZoneInfo`` object is serialized by key, and when deserialized, the " "deserializing process uses the primary and thus it is expected that these " -"are expected to be the same object as other references to the same time " -"zone. For example, if ``europe_berlin_pkl`` is a string containing a pickle " -"constructed from ``ZoneInfo(\"Europe/Berlin\")``, one would expect the " -"following behavior:" +"are the same object as other references to the same time zone. For example, " +"if ``europe_berlin_pkl`` is a string containing a pickle constructed from " +"``ZoneInfo(\"Europe/Berlin\")``, one would expect the following behavior:" msgstr "" msgid "" @@ -426,11 +422,12 @@ msgstr "" "False" msgid "" -"``ZoneInfo.from_file(fobj, /, key=None)``: When constructed from a file, the " -"``ZoneInfo`` object raises an exception on pickling. If an end user wants to " -"pickle a ``ZoneInfo`` constructed from a file, it is recommended that they " -"use a wrapper type or a custom serialization function: either serializing by " -"key or storing the contents of the file object and serializing that." +"``ZoneInfo.from_file(file_obj, /, key=None)``: When constructed from a file, " +"the ``ZoneInfo`` object raises an exception on pickling. If an end user " +"wants to pickle a ``ZoneInfo`` constructed from a file, it is recommended " +"that they use a wrapper type or a custom serialization function: either " +"serializing by key or storing the contents of the file object and " +"serializing that." msgstr "" msgid "" diff --git a/license.md b/license.md index b583b1a4cd..a11a3d20b2 100644 --- a/license.md +++ b/license.md @@ -1,4 +1,4 @@ **License** -By inviting you to work on a project on the Transifex platform, we offer a contract for donating your translations to the Python Software Foundation under the CC0 license. +By inviting you to work on a project on the Transifex platform, we offer a contract for donating your translations to the Python Software Foundation under the CC0 license. In return, it will be visible that you are the translator of the part you translated. You signify your acceptance of this agreement by submitting your work for inclusion in the documentation. diff --git a/license.po b/license.po index 8c46f01a07..75709a0566 100644 --- a/license.po +++ b/license.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -205,7 +204,7 @@ msgid "" msgstr "" msgid "PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2" -msgstr "" +msgstr "PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2" msgid "" "1. This LICENSE AGREEMENT is between the Python Software Foundation " @@ -268,12 +267,71 @@ msgid "" "8. By copying, installing or otherwise using Python, Licensee agrees\n" " to be bound by the terms and conditions of this License Agreement." msgstr "" +"1. This LICENSE AGREEMENT is between the Python Software Foundation " +"(\"PSF\"), and\n" +" the Individual or Organization (\"Licensee\") accessing and otherwise " +"using this\n" +" software (\"Python\") in source or binary form and its associated " +"documentation.\n" +"\n" +"2. Subject to the terms and conditions of this License Agreement, PSF " +"hereby\n" +" grants Licensee a nonexclusive, royalty-free, world-wide license to " +"reproduce,\n" +" analyze, test, perform and/or display publicly, prepare derivative " +"works,\n" +" distribute, and otherwise use Python alone or in any derivative\n" +" version, provided, however, that PSF's License Agreement and PSF's notice " +"of\n" +" copyright, i.e., \"Copyright © 2001 Python Software Foundation; All " +"Rights\n" +" Reserved\" are retained in Python alone or in any derivative version\n" +" prepared by Licensee.\n" +"\n" +"3. In the event Licensee prepares a derivative work that is based on or\n" +" incorporates Python or any part thereof, and wants to make the\n" +" derivative work available to others as provided herein, then Licensee " +"hereby\n" +" agrees to include in any such work a brief summary of the changes made to " +"Python.\n" +"\n" +"4. PSF is making Python available to Licensee on an \"AS IS\" basis.\n" +" PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY " +"OF\n" +" EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY " +"REPRESENTATION OR\n" +" WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT " +"THE\n" +" USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" +"\n" +"5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n" +" FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT " +"OF\n" +" MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE\n" +" THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n" +"\n" +"6. This License Agreement will automatically terminate upon a material " +"breach of\n" +" its terms and conditions.\n" +"\n" +"7. Nothing in this License Agreement shall be deemed to create any " +"relationship\n" +" of agency, partnership, or joint venture between PSF and Licensee. This " +"License\n" +" Agreement does not grant permission to use PSF trademarks or trade name " +"in a\n" +" trademark sense to endorse or promote products or services of Licensee, " +"or any\n" +" third party.\n" +"\n" +"8. By copying, installing or otherwise using Python, Licensee agrees\n" +" to be bound by the terms and conditions of this License Agreement." msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" -msgstr "" +msgstr "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" -msgstr "" +msgstr "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" msgid "" "1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an " @@ -339,9 +397,71 @@ msgid "" "to be\n" " bound by the terms and conditions of this License Agreement." msgstr "" +"1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an " +"office at\n" +" 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or " +"Organization\n" +" (\"Licensee\") accessing and otherwise using this software in source or " +"binary\n" +" form and its associated documentation (\"the Software\").\n" +"\n" +"2. Subject to the terms and conditions of this BeOpen Python License " +"Agreement,\n" +" BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide " +"license\n" +" to reproduce, analyze, test, perform and/or display publicly, prepare " +"derivative\n" +" works, distribute, and otherwise use the Software alone or in any " +"derivative\n" +" version, provided, however, that the BeOpen Python License is retained in " +"the\n" +" Software, alone or in any derivative version prepared by Licensee.\n" +"\n" +"3. BeOpen is making the Software available to Licensee on an \"AS IS\" " +"basis.\n" +" BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY " +"WAY OF\n" +" EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY " +"REPRESENTATION OR\n" +" WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT " +"THE\n" +" USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" +"\n" +"4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE " +"FOR\n" +" ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF " +"USING,\n" +" MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN " +"IF\n" +" ADVISED OF THE POSSIBILITY THEREOF.\n" +"\n" +"5. This License Agreement will automatically terminate upon a material " +"breach of\n" +" its terms and conditions.\n" +"\n" +"6. This License Agreement shall be governed by and interpreted in all " +"respects\n" +" by the law of the State of California, excluding conflict of law " +"provisions.\n" +" Nothing in this License Agreement shall be deemed to create any " +"relationship of\n" +" agency, partnership, or joint venture between BeOpen and Licensee. This " +"License\n" +" Agreement does not grant permission to use BeOpen trademarks or trade " +"names in a\n" +" trademark sense to endorse or promote products or services of Licensee, " +"or any\n" +" third party. As an exception, the \"BeOpen Python\" logos available at\n" +" http://www.pythonlabs.com/logos.html may be used according to the " +"permissions\n" +" granted on that web page.\n" +"\n" +"7. By copying, installing or otherwise using the software, Licensee agrees " +"to be\n" +" bound by the terms and conditions of this License Agreement." msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" -msgstr "" +msgstr "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" msgid "" "1. This LICENSE AGREEMENT is between the Corporation for National Research\n" @@ -441,9 +561,105 @@ msgid "" "and\n" " conditions of this License Agreement." msgstr "" +"1. This LICENSE AGREEMENT is between the Corporation for National Research\n" +" Initiatives, having an office at 1895 Preston White Drive, Reston, VA " +"20191\n" +" (\"CNRI\"), and the Individual or Organization (\"Licensee\") accessing " +"and\n" +" otherwise using Python 1.6.1 software in source or binary form and its\n" +" associated documentation.\n" +"\n" +"2. Subject to the terms and conditions of this License Agreement, CNRI " +"hereby\n" +" grants Licensee a nonexclusive, royalty-free, world-wide license to " +"reproduce,\n" +" analyze, test, perform and/or display publicly, prepare derivative " +"works,\n" +" distribute, and otherwise use Python 1.6.1 alone or in any derivative " +"version,\n" +" provided, however, that CNRI's License Agreement and CNRI's notice of " +"copyright,\n" +" i.e., \"Copyright © 1995-2001 Corporation for National Research " +"Initiatives; All\n" +" Rights Reserved\" are retained in Python 1.6.1 alone or in any derivative " +"version\n" +" prepared by Licensee. Alternately, in lieu of CNRI's License Agreement,\n" +" Licensee may substitute the following text (omitting the quotes): " +"\"Python 1.6.1\n" +" is made available subject to the terms and conditions in CNRI's License\n" +" Agreement. This Agreement together with Python 1.6.1 may be located on " +"the\n" +" internet using the following unique, persistent identifier (known as a " +"handle):\n" +" 1895.22/1013. This Agreement may also be obtained from a proxy server on " +"the\n" +" internet using the following URL: http://hdl.handle.net/1895.22/1013\".\n" +"\n" +"3. In the event Licensee prepares a derivative work that is based on or\n" +" incorporates Python 1.6.1 or any part thereof, and wants to make the " +"derivative\n" +" work available to others as provided herein, then Licensee hereby agrees " +"to\n" +" include in any such work a brief summary of the changes made to Python " +"1.6.1.\n" +"\n" +"4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\" basis. " +"CNRI\n" +" MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF " +"EXAMPLE,\n" +" BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR " +"WARRANTY\n" +" OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE " +"OF\n" +" PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" +"\n" +"5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 " +"FOR\n" +" ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF\n" +" MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY " +"DERIVATIVE\n" +" THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n" +"\n" +"6. This License Agreement will automatically terminate upon a material " +"breach of\n" +" its terms and conditions.\n" +"\n" +"7. This License Agreement shall be governed by the federal intellectual " +"property\n" +" law of the United States, including without limitation the federal " +"copyright\n" +" law, and, to the extent such U.S. federal law does not apply, by the law " +"of the\n" +" Commonwealth of Virginia, excluding Virginia's conflict of law " +"provisions.\n" +" Notwithstanding the foregoing, with regard to derivative works based on " +"Python\n" +" 1.6.1 that incorporate non-separable material that was previously " +"distributed\n" +" under the GNU General Public License (GPL), the law of the Commonwealth " +"of\n" +" Virginia shall govern this License Agreement only as to issues arising " +"under or\n" +" with respect to Paragraphs 4, 5, and 7 of this License Agreement. " +"Nothing in\n" +" this License Agreement shall be deemed to create any relationship of " +"agency,\n" +" partnership, or joint venture between CNRI and Licensee. This License " +"Agreement\n" +" does not grant permission to use CNRI trademarks or trade name in a " +"trademark\n" +" sense to endorse or promote products or services of Licensee, or any " +"third\n" +" party.\n" +"\n" +"8. By clicking on the \"ACCEPT\" button where indicated, or by copying, " +"installing\n" +" or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms " +"and\n" +" conditions of this License Agreement." msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" -msgstr "" +msgstr "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" msgid "" "Copyright © 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The\n" @@ -474,9 +690,36 @@ msgid "" "ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS\n" "SOFTWARE." msgstr "" +"Copyright © 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The\n" +"Netherlands. All rights reserved.\n" +"\n" +"Permission to use, copy, modify, and distribute this software and its\n" +"documentation for any purpose and without fee is hereby granted, provided " +"that\n" +"the above copyright notice appear in all copies and that both that " +"copyright\n" +"notice and this permission notice appear in supporting documentation, and " +"that\n" +"the name of Stichting Mathematisch Centrum or CWI not be used in advertising " +"or\n" +"publicity pertaining to distribution of the software without specific, " +"written\n" +"prior permission.\n" +"\n" +"STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n" +"SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, " +"IN NO\n" +"EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, " +"INDIRECT\n" +"OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF " +"USE,\n" +"DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER " +"TORTIOUS\n" +"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS\n" +"SOFTWARE." msgid "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION" -msgstr "" +msgstr "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION" msgid "" "Permission to use, copy, modify, and/or distribute this software for any\n" @@ -493,12 +736,25 @@ msgid "" "OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" "PERFORMANCE OF THIS SOFTWARE." msgstr "" - -msgid "Licenses and Acknowledgements for Incorporated Software" -msgstr "" - -msgid "" -"This section is an incomplete, but growing list of licenses and " +"Permission to use, copy, modify, and/or distribute this software for any\n" +"purpose with or without fee is hereby granted.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES " +"WITH\n" +"REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n" +"AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, " +"DIRECT,\n" +"INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n" +"LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE " +"OR\n" +"OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" +"PERFORMANCE OF THIS SOFTWARE." + +msgid "Licenses and Acknowledgements for Incorporated Software" +msgstr "" + +msgid "" +"This section is an incomplete, but growing list of licenses and " "acknowledgements for third-party software incorporated in the Python " "distribution." msgstr "" @@ -556,6 +812,47 @@ msgid "" "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n" "email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)" msgstr "" +"A C-program for MT19937, with initialization improved 2002/1/26.\n" +"Coded by Takuji Nishimura and Makoto Matsumoto.\n" +"\n" +"Before using, initialize the state by using init_genrand(seed)\n" +"or init_by_array(init_key, key_length).\n" +"\n" +"Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +" 1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"\n" +" 2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +" 3. The names of its contributors may not be used to endorse or promote\n" +" products derived from this software without specific prior written\n" +" permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" +"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" +"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER " +"OR\n" +"CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n" +"EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n" +"PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n" +"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n" +"LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n" +"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n" +"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" +"\n" +"\n" +"Any feedback is very welcome.\n" +"http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n" +"email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)" msgid "Sockets" msgstr "" @@ -594,6 +891,32 @@ msgid "" "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" "SUCH DAMAGE." msgstr "" +"Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"3. Neither the name of the project nor the names of its contributors\n" +" may be used to endorse or promote products derived from this software\n" +" without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS \"AS IS\" AND\n" +"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" +"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" +"SUCH DAMAGE." msgid "Asynchronous socket services" msgstr "" @@ -625,6 +948,26 @@ msgid "" "NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN\n" "CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." msgstr "" +"Copyright 1996 by Sam Rushing\n" +"\n" +" All Rights Reserved\n" +"\n" +"Permission to use, copy, modify, and distribute this software and\n" +"its documentation for any purpose and without fee is hereby\n" +"granted, provided that the above copyright notice appear in all\n" +"copies and that both that copyright notice and this permission\n" +"notice appear in supporting documentation, and that the name of Sam\n" +"Rushing not be used in advertising or publicity pertaining to\n" +"distribution of the software without specific, written prior\n" +"permission.\n" +"\n" +"SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,\n" +"INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN\n" +"NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR\n" +"CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n" +"OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\n" +"NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN\n" +"CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." msgid "Cookie management" msgstr "" @@ -655,6 +998,27 @@ msgid "" "ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" "PERFORMANCE OF THIS SOFTWARE." msgstr "" +"Copyright 2000 by Timothy O'Malley \n" +"\n" +" All Rights Reserved\n" +"\n" +"Permission to use, copy, modify, and distribute this software\n" +"and its documentation for any purpose and without fee is hereby\n" +"granted, provided that the above copyright notice appear in all\n" +"copies and that both that copyright notice and this permission\n" +"notice appear in supporting documentation, and that the name of\n" +"Timothy O'Malley not be used in advertising or publicity\n" +"pertaining to distribution of the software without specific, written\n" +"prior permission.\n" +"\n" +"Timothy O'Malley DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n" +"SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n" +"AND FITNESS, IN NO EVENT SHALL Timothy O'Malley BE LIABLE FOR\n" +"ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n" +"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" +"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" +"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" +"PERFORMANCE OF THIS SOFTWARE." msgid "Execution tracing" msgstr "" @@ -722,6 +1086,29 @@ msgid "" " version is still 5 times faster, though.\n" "- Arguments more compliant with Python standard" msgstr "" +"Copyright 1994 by Lance Ellinghouse\n" +"Cathedral City, California Republic, United States of America.\n" +" All Rights Reserved\n" +"Permission to use, copy, modify, and distribute this software and its\n" +"documentation for any purpose and without fee is hereby granted,\n" +"provided that the above copyright notice appear in all copies and that\n" +"both that copyright notice and this permission notice appear in\n" +"supporting documentation, and that the name of Lance Ellinghouse\n" +"not be used in advertising or publicity pertaining to distribution\n" +"of the software without specific, written prior permission.\n" +"LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO\n" +"THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n" +"FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE CENTRUM BE LIABLE\n" +"FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n" +"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n" +"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\n" +"OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n" +"\n" +"Modified by Jack Jansen, CWI, July 1995:\n" +"- Use binascii module to do the actual line-by-line conversion\n" +" between ascii and binary. This results in a 1000-fold speedup. The C\n" +" version is still 5 times faster, though.\n" +"- Arguments more compliant with Python standard" msgid "XML Remote Procedure Calls" msgstr "" @@ -757,6 +1144,32 @@ msgid "" "ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE\n" "OF THIS SOFTWARE." msgstr "" +" The XML-RPC client interface is\n" +"\n" +"Copyright (c) 1999-2002 by Secret Labs AB\n" +"Copyright (c) 1999-2002 by Fredrik Lundh\n" +"\n" +"By obtaining, using, and/or copying this software and/or its\n" +"associated documentation, you agree that you have read, understood,\n" +"and will comply with the following terms and conditions:\n" +"\n" +"Permission to use, copy, modify, and distribute this software and\n" +"its associated documentation for any purpose and without fee is\n" +"hereby granted, provided that the above copyright notice appears in\n" +"all copies, and that both that copyright notice and this permission\n" +"notice appear in supporting documentation, and that the name of\n" +"Secret Labs AB or the author not be used in advertising or publicity\n" +"pertaining to distribution of the software without specific, written\n" +"prior permission.\n" +"\n" +"SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD\n" +"TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT-\n" +"ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR\n" +"BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY\n" +"DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" +"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" +"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE\n" +"OF THIS SOFTWARE." msgid "test_epoll" msgstr "test_epoll" @@ -786,6 +1199,26 @@ msgid "" "OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" "WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." msgstr "" +"Copyright (c) 2001-2006 Twisted Matrix Laboratories.\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be\n" +"included in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n" +"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n" +"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" +"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." msgid "Select kqueue" msgstr "" @@ -820,6 +1253,29 @@ msgid "" "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" "SUCH DAMAGE." msgstr "" +"Copyright (c) 2000 Doug White, 2006 James Knight, 2007 Christian Heimes\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS \"AS IS\" AND\n" +"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" +"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" +"SUCH DAMAGE." msgid "SipHash24" msgstr "SipHash24" @@ -855,6 +1311,30 @@ msgid "" " djb (supercop/crypto_auth/siphash24/little2)\n" " Jean-Philippe Aumasson (https://131002.net/siphash/siphash24.c)" msgstr "" +"\n" +"Copyright (c) 2013 Marek Majkowski \n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining a " +"copy\n" +"of this software and associated documentation files (the \"Software\"), to " +"deal\n" +"in the Software without restriction, including without limitation the " +"rights\n" +"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n" +"copies of the Software, and to permit persons to whom the Software is\n" +"furnished to do so, subject to the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included in\n" +"all copies or substantial portions of the Software.\n" +"\n" +"\n" +"Original location:\n" +" https://github.com/majek/csiphash/\n" +"\n" +"Solution inspired by code from:\n" +" Samuel Neves (supercop/crypto_auth/siphash24/little)\n" +" djb (supercop/crypto_auth/siphash24/little2)\n" +" Jean-Philippe Aumasson (https://131002.net/siphash/siphash24.c)" msgid "strtod and dtoa" msgstr "" @@ -889,6 +1369,25 @@ msgid "" " *\n" " ***************************************************************/" msgstr "" +"/****************************************************************\n" +" *\n" +" * The author of this software is David M. Gay.\n" +" *\n" +" * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.\n" +" *\n" +" * Permission to use, copy, modify, and distribute this software for any\n" +" * purpose without fee is hereby granted, provided that this entire notice\n" +" * is included in all copies of any software which is or includes a copy\n" +" * or modification of this software and in all copies of the supporting\n" +" * documentation for such software.\n" +" *\n" +" * THIS SOFTWARE IS BEING PROVIDED \"AS IS\", WITHOUT ANY EXPRESS OR " +"IMPLIED\n" +" * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY\n" +" * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY\n" +" * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.\n" +" *\n" +" ***************************************************************/" msgid "OpenSSL" msgstr "OpenSSL" @@ -901,8 +1400,185 @@ msgid "" "For the OpenSSL 3.0 release, and later releases derived from that, the " "Apache License v2 applies::" msgstr "" - -msgid "" + +msgid "" +" Apache License\n" +" Version 2.0, January 2004\n" +" https://www.apache.org/licenses/\n" +"\n" +"TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n" +"\n" +"1. Definitions.\n" +"\n" +" \"License\" shall mean the terms and conditions for use, reproduction,\n" +" and distribution as defined by Sections 1 through 9 of this document.\n" +"\n" +" \"Licensor\" shall mean the copyright owner or entity authorized by\n" +" the copyright owner that is granting the License.\n" +"\n" +" \"Legal Entity\" shall mean the union of the acting entity and all\n" +" other entities that control, are controlled by, or are under common\n" +" control with that entity. For the purposes of this definition,\n" +" \"control\" means (i) the power, direct or indirect, to cause the\n" +" direction or management of such entity, whether by contract or\n" +" otherwise, or (ii) ownership of fifty percent (50%) or more of the\n" +" outstanding shares, or (iii) beneficial ownership of such entity.\n" +"\n" +" \"You\" (or \"Your\") shall mean an individual or Legal Entity\n" +" exercising permissions granted by this License.\n" +"\n" +" \"Source\" form shall mean the preferred form for making modifications,\n" +" including but not limited to software source code, documentation\n" +" source, and configuration files.\n" +"\n" +" \"Object\" form shall mean any form resulting from mechanical\n" +" transformation or translation of a Source form, including but\n" +" not limited to compiled object code, generated documentation,\n" +" and conversions to other media types.\n" +"\n" +" \"Work\" shall mean the work of authorship, whether in Source or\n" +" Object form, made available under the License, as indicated by a\n" +" copyright notice that is included in or attached to the work\n" +" (an example is provided in the Appendix below).\n" +"\n" +" \"Derivative Works\" shall mean any work, whether in Source or Object\n" +" form, that is based on (or derived from) the Work and for which the\n" +" editorial revisions, annotations, elaborations, or other modifications\n" +" represent, as a whole, an original work of authorship. For the purposes\n" +" of this License, Derivative Works shall not include works that remain\n" +" separable from, or merely link (or bind by name) to the interfaces of,\n" +" the Work and Derivative Works thereof.\n" +"\n" +" \"Contribution\" shall mean any work of authorship, including\n" +" the original version of the Work and any modifications or additions\n" +" to that Work or Derivative Works thereof, that is intentionally\n" +" submitted to Licensor for inclusion in the Work by the copyright owner\n" +" or by an individual or Legal Entity authorized to submit on behalf of\n" +" the copyright owner. For the purposes of this definition, \"submitted\"\n" +" means any form of electronic, verbal, or written communication sent\n" +" to the Licensor or its representatives, including but not limited to\n" +" communication on electronic mailing lists, source code control systems,\n" +" and issue tracking systems that are managed by, or on behalf of, the\n" +" Licensor for the purpose of discussing and improving the Work, but\n" +" excluding communication that is conspicuously marked or otherwise\n" +" designated in writing by the copyright owner as \"Not a Contribution.\"\n" +"\n" +" \"Contributor\" shall mean Licensor and any individual or Legal Entity\n" +" on behalf of whom a Contribution has been received by Licensor and\n" +" subsequently incorporated within the Work.\n" +"\n" +"2. Grant of Copyright License. Subject to the terms and conditions of\n" +" this License, each Contributor hereby grants to You a perpetual,\n" +" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n" +" copyright license to reproduce, prepare Derivative Works of,\n" +" publicly display, publicly perform, sublicense, and distribute the\n" +" Work and such Derivative Works in Source or Object form.\n" +"\n" +"3. Grant of Patent License. Subject to the terms and conditions of\n" +" this License, each Contributor hereby grants to You a perpetual,\n" +" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n" +" (except as stated in this section) patent license to make, have made,\n" +" use, offer to sell, sell, import, and otherwise transfer the Work,\n" +" where such license applies only to those patent claims licensable\n" +" by such Contributor that are necessarily infringed by their\n" +" Contribution(s) alone or by combination of their Contribution(s)\n" +" with the Work to which such Contribution(s) was submitted. If You\n" +" institute patent litigation against any entity (including a\n" +" cross-claim or counterclaim in a lawsuit) alleging that the Work\n" +" or a Contribution incorporated within the Work constitutes direct\n" +" or contributory patent infringement, then any patent licenses\n" +" granted to You under this License for that Work shall terminate\n" +" as of the date such litigation is filed.\n" +"\n" +"4. Redistribution. You may reproduce and distribute copies of the\n" +" Work or Derivative Works thereof in any medium, with or without\n" +" modifications, and in Source or Object form, provided that You\n" +" meet the following conditions:\n" +"\n" +" (a) You must give any other recipients of the Work or\n" +" Derivative Works a copy of this License; and\n" +"\n" +" (b) You must cause any modified files to carry prominent notices\n" +" stating that You changed the files; and\n" +"\n" +" (c) You must retain, in the Source form of any Derivative Works\n" +" that You distribute, all copyright, patent, trademark, and\n" +" attribution notices from the Source form of the Work,\n" +" excluding those notices that do not pertain to any part of\n" +" the Derivative Works; and\n" +"\n" +" (d) If the Work includes a \"NOTICE\" text file as part of its\n" +" distribution, then any Derivative Works that You distribute must\n" +" include a readable copy of the attribution notices contained\n" +" within such NOTICE file, excluding those notices that do not\n" +" pertain to any part of the Derivative Works, in at least one\n" +" of the following places: within a NOTICE text file distributed\n" +" as part of the Derivative Works; within the Source form or\n" +" documentation, if provided along with the Derivative Works; or,\n" +" within a display generated by the Derivative Works, if and\n" +" wherever such third-party notices normally appear. The contents\n" +" of the NOTICE file are for informational purposes only and\n" +" do not modify the License. You may add Your own attribution\n" +" notices within Derivative Works that You distribute, alongside\n" +" or as an addendum to the NOTICE text from the Work, provided\n" +" that such additional attribution notices cannot be construed\n" +" as modifying the License.\n" +"\n" +" You may add Your own copyright statement to Your modifications and\n" +" may provide additional or different license terms and conditions\n" +" for use, reproduction, or distribution of Your modifications, or\n" +" for any such Derivative Works as a whole, provided Your use,\n" +" reproduction, and distribution of the Work otherwise complies with\n" +" the conditions stated in this License.\n" +"\n" +"5. Submission of Contributions. Unless You explicitly state otherwise,\n" +" any Contribution intentionally submitted for inclusion in the Work\n" +" by You to the Licensor shall be under the terms and conditions of\n" +" this License, without any additional terms or conditions.\n" +" Notwithstanding the above, nothing herein shall supersede or modify\n" +" the terms of any separate license agreement you may have executed\n" +" with Licensor regarding such Contributions.\n" +"\n" +"6. Trademarks. This License does not grant permission to use the trade\n" +" names, trademarks, service marks, or product names of the Licensor,\n" +" except as required for reasonable and customary use in describing the\n" +" origin of the Work and reproducing the content of the NOTICE file.\n" +"\n" +"7. Disclaimer of Warranty. Unless required by applicable law or\n" +" agreed to in writing, Licensor provides the Work (and each\n" +" Contributor provides its Contributions) on an \"AS IS\" BASIS,\n" +" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n" +" implied, including, without limitation, any warranties or conditions\n" +" of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n" +" PARTICULAR PURPOSE. You are solely responsible for determining the\n" +" appropriateness of using or redistributing the Work and assume any\n" +" risks associated with Your exercise of permissions under this License.\n" +"\n" +"8. Limitation of Liability. In no event and under no legal theory,\n" +" whether in tort (including negligence), contract, or otherwise,\n" +" unless required by applicable law (such as deliberate and grossly\n" +" negligent acts) or agreed to in writing, shall any Contributor be\n" +" liable to You for damages, including any direct, indirect, special,\n" +" incidental, or consequential damages of any character arising as a\n" +" result of this License or out of the use or inability to use the\n" +" Work (including but not limited to damages for loss of goodwill,\n" +" work stoppage, computer failure or malfunction, or any and all\n" +" other commercial damages or losses), even if such Contributor\n" +" has been advised of the possibility of such damages.\n" +"\n" +"9. Accepting Warranty or Additional Liability. While redistributing\n" +" the Work or Derivative Works thereof, You may choose to offer,\n" +" and charge a fee for, acceptance of support, warranty, indemnity,\n" +" or other liability obligations and/or rights consistent with this\n" +" License. However, in accepting such obligations, You may act only\n" +" on Your own behalf and on Your sole responsibility, not on behalf\n" +" of any other Contributor, and only if You agree to indemnify,\n" +" defend, and hold each Contributor harmless for any liability\n" +" incurred by, or claims asserted against, such Contributor by reason\n" +" of your accepting any such warranty or additional liability.\n" +"\n" +"END OF TERMS AND CONDITIONS" +msgstr "" " Apache License\n" " Version 2.0, January 2004\n" " https://www.apache.org/licenses/\n" @@ -1079,7 +1755,6 @@ msgid "" " of your accepting any such warranty or additional liability.\n" "\n" "END OF TERMS AND CONDITIONS" -msgstr "" msgid "expat" msgstr "" @@ -1113,6 +1788,27 @@ msgid "" "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n" "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." msgstr "" +"Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd\n" +" and Clark Cooper\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included\n" +"in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n" +"IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n" +"CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n" +"TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n" +"SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." msgid "libffi" msgstr "libffi" @@ -1146,6 +1842,27 @@ msgid "" "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n" "DEALINGS IN THE SOFTWARE." msgstr "" +"Copyright (c) 1996-2008 Red Hat, Inc and others.\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included\n" +"in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n" +"HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n" +"WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n" +"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n" +"DEALINGS IN THE SOFTWARE." msgid "zlib" msgstr "zlib" @@ -1180,6 +1897,28 @@ msgid "" "Jean-loup Gailly Mark Adler\n" "jloup@gzip.org madler@alumni.caltech.edu" msgstr "" +"Copyright (C) 1995-2011 Jean-loup Gailly and Mark Adler\n" +"\n" +"This software is provided 'as-is', without any express or implied\n" +"warranty. In no event will the authors be held liable for any damages\n" +"arising from the use of this software.\n" +"\n" +"Permission is granted to anyone to use this software for any purpose,\n" +"including commercial applications, and to alter it and redistribute it\n" +"freely, subject to the following restrictions:\n" +"\n" +"1. The origin of this software must not be misrepresented; you must not\n" +" claim that you wrote the original software. If you use this software\n" +" in a product, an acknowledgment in the product documentation would be\n" +" appreciated but is not required.\n" +"\n" +"2. Altered source versions must be plainly marked as such, and must not be\n" +" misrepresented as being the original software.\n" +"\n" +"3. This notice may not be removed or altered from any source distribution.\n" +"\n" +"Jean-loup Gailly Mark Adler\n" +"jloup@gzip.org madler@alumni.caltech.edu" msgid "cfuhash" msgstr "" @@ -1224,9 +1963,42 @@ msgid "" "ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n" "OF THE POSSIBILITY OF SUCH DAMAGE." msgstr "" +"Copyright (c) 2005 Don Owens\n" +"All rights reserved.\n" +"\n" +"This code is released under the BSD license:\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +" * Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"\n" +" * Redistributions in binary form must reproduce the above\n" +" copyright notice, this list of conditions and the following\n" +" disclaimer in the documentation and/or other materials provided\n" +" with the distribution.\n" +"\n" +" * Neither the name of the author nor the names of its\n" +" contributors may be used to endorse or promote products derived\n" +" from this software without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" +"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n" +"FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n" +"COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n" +"INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n" +"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" +"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n" +"STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n" +"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n" +"OF THE POSSIBILITY OF SUCH DAMAGE." msgid "libmpdec" -msgstr "" +msgstr "libmpdec" msgid "" "The :mod:`!_decimal` C extension underlying the :mod:`decimal` module is " @@ -1260,6 +2032,30 @@ msgid "" "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" "SUCH DAMAGE." msgstr "" +"Copyright (c) 2008-2020 Stefan Krah. All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice, this list of conditions and the following disclaimer.\n" +"\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS \"AS IS\" AND\n" +"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" +"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" +"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" +"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" +"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" +"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" +"SUCH DAMAGE." msgid "W3C C14N test suite" msgstr "" @@ -1299,12 +2095,39 @@ msgid "" "(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" "OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." msgstr "" +"Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang),\n" +"All Rights Reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"\n" +"* Redistributions of works must retain the original copyright notice,\n" +" this list of conditions and the following disclaimer.\n" +"* Redistributions in binary form must reproduce the original copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"* Neither the name of the W3C nor the names of its contributors may be\n" +" used to endorse or promote products derived from this work without\n" +" specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" +"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" +"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" +"OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" +"SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" +"LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" +"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" +"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" +"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" +"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." msgid "mimalloc" msgstr "" msgid "MIT License::" -msgstr "" +msgstr "MIT License::" msgid "" "Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen\n" @@ -1334,6 +2157,32 @@ msgid "" "THE\n" "SOFTWARE." msgstr "" +"Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining a " +"copy\n" +"of this software and associated documentation files (the \"Software\"), to " +"deal\n" +"in the Software without restriction, including without limitation the " +"rights\n" +"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n" +"copies of the Software, and to permit persons to whom the Software is\n" +"furnished to do so, subject to the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be included in " +"all\n" +"copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS " +"OR\n" +"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" +"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n" +"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n" +"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " +"FROM,\n" +"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN " +"THE\n" +"SOFTWARE." msgid "asyncio" msgstr "" @@ -1366,6 +2215,26 @@ msgid "" "OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" "WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." msgstr "" +"Copyright (c) 2015-2021 MagicStack Inc. http://magic.io\n" +"\n" +"Permission is hereby granted, free of charge, to any person obtaining\n" +"a copy of this software and associated documentation files (the\n" +"\"Software\"), to deal in the Software without restriction, including\n" +"without limitation the rights to use, copy, modify, merge, publish,\n" +"distribute, sublicense, and/or sell copies of the Software, and to\n" +"permit persons to whom the Software is furnished to do so, subject to\n" +"the following conditions:\n" +"\n" +"The above copyright notice and this permission notice shall be\n" +"included in all copies or substantial portions of the Software.\n" +"\n" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n" +"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n" +"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" +"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." msgid "Global Unbounded Sequences (GUS)" msgstr "" @@ -1401,6 +2270,28 @@ msgid "" "(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n" "THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." msgstr "" +"Copyright (c) 2019,2020 Jeffrey Roberson \n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions\n" +"are met:\n" +"1. Redistributions of source code must retain the above copyright\n" +" notice unmodified, this list of conditions, and the following\n" +" disclaimer.\n" +"2. Redistributions in binary form must reproduce the above copyright\n" +" notice, this list of conditions and the following disclaimer in the\n" +" documentation and/or other materials provided with the distribution.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR\n" +"IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n" +"OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n" +"IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\n" +"INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n" +"NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" +"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" +"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" +"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n" +"THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." msgid "Zstandard bindings" msgstr "" @@ -1449,3 +2340,38 @@ msgid "" "USE\n" "OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." msgstr "" +"Copyright (c) 2020-present, Ma Lin and contributors.\n" +"All rights reserved.\n" +"\n" +"Redistribution and use in source and binary forms, with or without\n" +"modification, are permitted provided that the following conditions are met:\n" +"\n" +"1. Redistributions of source code must retain the above copyright notice, " +"this\n" +" list of conditions and the following disclaimer.\n" +"\n" +"2. Redistributions in binary form must reproduce the above copyright " +"notice,\n" +" this list of conditions and the following disclaimer in the " +"documentation\n" +" and/or other materials provided with the distribution.\n" +"\n" +"3. Neither the name of the copyright holder nor the names of its\n" +" contributors may be used to endorse or promote products derived from\n" +" this software without specific prior written permission.\n" +"\n" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS " +"IS\"\n" +"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" +"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE " +"ARE\n" +"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE " +"LIABLE\n" +"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" +"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" +"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n" +"CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT " +"LIABILITY,\n" +"OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE " +"USE\n" +"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." diff --git a/manage_translation.py b/manage_translation.py index 86f5fcacd6..0266629e44 100755 --- a/manage_translation.py +++ b/manage_translation.py @@ -11,32 +11,33 @@ # files. # * recreate_tx_config: recreate configuration for all resources. # * warn_about_files_to_delete: lists files that are not available upstream +# * generate_commit_msg: generates commit message with co-authors from argparse import ArgumentParser import os from contextlib import chdir from dataclasses import dataclass -from difflib import SequenceMatcher -from logging import info from pathlib import Path -from subprocess import call +from subprocess import call, run, CalledProcessError import sys from tempfile import TemporaryDirectory -from typing import Self, Generator, Iterable +from typing import Self, Iterable from warnings import warn -from polib import pofile +from polib import pofile, POFile from transifex.api import transifex_api LANGUAGE = 'pl' +PROJECT_SLUG = 'python-newest' +VERSION = '3.14' def fetch(): """ Fetch translations from Transifex, remove source lines. """ - if (code := call("tx --version", shell=True)) != 0: - sys.stderr.write("The Transifex client app is required.\n") + if (code := call('tx --version', shell=True)) != 0: + sys.stderr.write('The Transifex client app is required.\n') exit(code) lang = LANGUAGE _call(f'tx pull -l {lang} --minimum-perc=1 --force --skip') @@ -49,10 +50,6 @@ def _call(command: str): exit(return_code) -PROJECT_SLUG = 'python-newest' -VERSION = '3.14' - - def recreate_tx_config(): """ Regenerate Transifex client config for all resources. @@ -71,12 +68,14 @@ def recreate_tx_config(): file.write(contents) warn_about_files_to_delete() + def warn_about_files_to_delete(): files = list(_get_files_to_delete()) if not files: return warn(f'Found {len(files)} file(s) to delete: {", ".join(files)}.') + def _get_files_to_delete(): with open('.tx/config') as config_file: config = config_file.read() @@ -86,11 +85,13 @@ def _get_files_to_delete(): def _clone_cpython_repo(version: str): - _call(f'git clone -b {version} --single-branch https://github.com/python/cpython.git --depth 1') + _call( + f'git clone -b {version} --single-branch https://github.com/python/cpython.git --depth 1' + ) def _build_gettext(): - _call("make -C cpython/Doc/ gettext") + _call('make -C cpython/Doc/ gettext') def _create_txconfig(): @@ -115,7 +116,9 @@ class ResourceLanguageStatistics: @classmethod def from_api_entry(cls, data: transifex_api.ResourceLanguageStats) -> Self: return cls( - name=data.id.removeprefix(f'o:python-doc:p:{PROJECT_SLUG}:r:').removesuffix(f':l:{LANGUAGE}'), + name=data.id.removeprefix(f'o:python-doc:p:{PROJECT_SLUG}:r:').removesuffix( + f':l:{LANGUAGE}' + ), total_words=data.attributes['total_words'], translated_words=data.attributes['translated_words'], total_strings=data.attributes['total_strings'], @@ -145,50 +148,82 @@ def get_resource_language_stats() -> list[ResourceLanguageStatistics]: return [ResourceLanguageStatistics.from_api_entry(entry) for entry in resources] -def progress_from_resources(resources: Iterable[ResourceLanguageStatistics]) -> float: - pairs = ((e.translated_words, e.total_words) for e in resources) - translated_total, total_total = (sum(counts) for counts in zip(*pairs)) - return translated_total / total_total * 100 - - -def get_number_of_translators(): - translators = set(_fetch_translators()) - _remove_bot(translators) - translators = _eliminate_aliases(translators) - return len(translators) - +def progress_from_resources( + resources: Iterable[ResourceLanguageStatistics], +) -> tuple[float, float]: + word_pairs = ((e.translated_words, e.total_words) for e in resources) + string_pairs = ((e.translated_strings, e.total_strings) for e in resources) + translated_total_words, total_words = (sum(counts) for counts in zip(*word_pairs)) + translated_total_strs, total_strs = (sum(counts) for counts in zip(*string_pairs)) + return ( + translated_total_words / total_words * 100, + translated_total_strs / total_strs * 100, + ) -def _fetch_translators() -> Generator[str, None, None]: - for file in Path().rglob('*.po'): - header = pofile(file).header.splitlines() - for translator_record in header[header.index('Translators:') + 1:]: - translator, _year = translator_record.split(', ') - yield translator +def language_switcher(entry: ResourceLanguageStatistics) -> bool: + language_switcher_resources_prefixes = ('bugs', 'tutorial', 'library--functions') + return any( + entry.name.startswith(prefix) for prefix in language_switcher_resources_prefixes + ) -def _remove_bot(translators: set[str]) -> None: - translators.remove("Transifex Bot <>") +def generate_commit_msg(): + """Generate a commit message + Parses staged files and generates a commit message with Last-Translator's as + co-authors. + """ + translators: set[str] = set() -def _eliminate_aliases(translators: set[str]) -> set[str]: - unique = set() - for name in translators: - for match in unique: - if (ratio := SequenceMatcher(lambda x: x in '<>@', name, match).ratio()) > 0.64: - info(f"{name} and {match} are similar ({ratio:.3f}). Deduplicating.") + result = run( + ['git', 'diff', '--cached', '--name-only', '--diff-filter=ACM'], + capture_output=True, + text=True, + check=True, + ) + staged = [ + filename for filename in result.stdout.splitlines() if filename.endswith('.po') + ] + + for file in staged: + staged_file = run( + ['git', 'show', f':{file}'], capture_output=True, text=True, check=True + ).stdout + try: + old_file = run( + ['git', 'show', f'HEAD:{file}'], + capture_output=True, + text=True, + check=True, + ).stdout + except CalledProcessError: + old_file = '' + + new_po = pofile(staged_file) + old_po = pofile(old_file) if old_file else POFile() + old_entries = {entry.msgid: entry.msgstr for entry in old_po} + + for entry in new_po: + if entry.msgstr and ( + entry.msgid not in old_entries + or old_entries[entry.msgid] != entry.msgstr + ): + translator = new_po.metadata.get('Last-Translator') + translator = translator.split(',')[0].strip() + if translator: + translators.add(f'Co-Authored-By: {translator}') break - else: - unique.add(name) - return unique - -def language_switcher(entry: ResourceLanguageStatistics) -> bool: - language_switcher_resources_prefixes = ('bugs', 'tutorial', 'library--functions') - return any(entry.name.startswith(prefix) for prefix in language_switcher_resources_prefixes) + print('Update translation from Transifex\n\n' + '\n'.join(translators)) -if __name__ == "__main__": - RUNNABLE_SCRIPTS = ('fetch', 'recreate_tx_config', 'warn_about_files_to_delete') +if __name__ == '__main__': + RUNNABLE_SCRIPTS = ( + 'fetch', + 'recreate_tx_config', + 'warn_about_files_to_delete', + 'generate_commit_msg', + ) parser = ArgumentParser() parser.add_argument('cmd', choices=RUNNABLE_SCRIPTS) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 4274fbbf4f..b24a4e8537 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -133,13 +130,13 @@ msgid "" msgstr "" msgid "" -"The ``starred_list`` expression is evaluated once; it should yield an :term:" -"`iterable` object. An :term:`iterator` is created for that iterable. The " -"first item provided by the iterator is then assigned to the target list " -"using the standard rules for assignments (see :ref:`assignment`), and the " -"suite is executed. This repeats for each item provided by the iterator. " -"When the iterator is exhausted, the suite in the :keyword:`!else` clause, if " -"present, is executed, and the loop terminates." +"The :token:`~python-grammar:starred_expression_list` expression is evaluated " +"once; it should yield an :term:`iterable` object. An :term:`iterator` is " +"created for that iterable. The first item provided by the iterator is then " +"assigned to the target list using the standard rules for assignments (see :" +"ref:`assignment`), and the suite is executed. This repeats for each item " +"provided by the iterator. When the iterator is exhausted, the suite in the :" +"keyword:`!else` clause, if present, is executed, and the loop terminates." msgstr "" msgid "" @@ -304,15 +301,34 @@ msgid ":keyword:`!except*` clause" msgstr "" msgid "" -"The :keyword:`!except*` clause(s) are used for handling :exc:" -"`ExceptionGroup`\\s. The exception type for matching is interpreted as in " -"the case of :keyword:`except`, but in the case of exception groups we can " -"have partial matches when the type matches some of the exceptions in the " -"group. This means that multiple :keyword:`!except*` clauses can execute, " -"each handling part of the exception group. Each clause executes at most once " -"and handles an exception group of all matching exceptions. Each exception " -"in the group is handled by at most one :keyword:`!except*` clause, the first " -"that matches it. ::" +"The :keyword:`!except*` clause(s) specify one or more handlers for groups of " +"exceptions (:exc:`BaseExceptionGroup` instances). A :keyword:`try` statement " +"can have either :keyword:`except` or :keyword:`!except*` clauses, but not " +"both. The exception type for matching is mandatory in the case of :keyword:`!" +"except*`, so ``except*:`` is a syntax error. The type is interpreted as in " +"the case of :keyword:`!except`, but matching is performed on the exceptions " +"contained in the group that is being handled. An :exc:`TypeError` is raised " +"if a matching type is a subclass of :exc:`!BaseExceptionGroup`, because that " +"would have ambiguous semantics." +msgstr "" + +msgid "" +"When an exception group is raised in the try block, each :keyword:`!except*` " +"clause splits (see :meth:`~BaseExceptionGroup.split`) it into the subgroups " +"of matching and non-matching exceptions. If the matching subgroup is not " +"empty, it becomes the handled exception (the value returned from :func:`sys." +"exception`) and assigned to the target of the :keyword:`!except*` clause (if " +"there is one). Then, the body of the :keyword:`!except*` clause executes. If " +"the non-matching subgroup is not empty, it is processed by the next :keyword:" +"`!except*` in the same manner. This continues until all exceptions in the " +"group have been matched, or the last :keyword:`!except*` clause has run." +msgstr "" + +msgid "" +"After all :keyword:`!except*` clauses execute, the group of unhandled " +"exceptions is merged with any exceptions that were raised or re-raised from " +"within :keyword:`!except*` clauses. This merged exception group propagates " +"on.::" msgstr "" msgid "" @@ -327,24 +343,21 @@ msgid "" "caught with nested (TypeError(2),)\n" "caught with nested (OSError(3), OSError(4))\n" " + Exception Group Traceback (most recent call last):\n" -" | File \"\", line 2, in \n" -" | ExceptionGroup: eg\n" +" | File \"\", line 2, in \n" +" | raise ExceptionGroup(\"eg\",\n" +" | [ValueError(1), TypeError(2), OSError(3), OSError(4)])\n" +" | ExceptionGroup: eg (1 sub-exception)\n" " +-+---------------- 1 ----------------\n" " | ValueError: 1\n" " +------------------------------------" msgstr "" msgid "" -"Any remaining exceptions that were not handled by any :keyword:`!except*` " -"clause are re-raised at the end, along with all exceptions that were raised " -"from within the :keyword:`!except*` clauses. If this list contains more than " -"one exception to reraise, they are combined into an exception group." -msgstr "" - -msgid "" -"If the raised exception is not an exception group and its type matches one " -"of the :keyword:`!except*` clauses, it is caught and wrapped by an exception " -"group with an empty message string. ::" +"If the exception raised from the :keyword:`try` block is not an exception " +"group and its type matches one of the :keyword:`!except*` clauses, it is " +"caught and wrapped by an exception group with an empty message string. This " +"ensures that the type of the target ``e`` is consistently :exc:" +"`BaseExceptionGroup`::" msgstr "" msgid "" @@ -353,19 +366,12 @@ msgid "" "... except* BlockingIOError as e:\n" "... print(repr(e))\n" "...\n" -"ExceptionGroup('', (BlockingIOError()))" +"ExceptionGroup('', (BlockingIOError(),))" msgstr "" msgid "" -"An :keyword:`!except*` clause must have a matching expression; it cannot be " -"``except*:``. Furthermore, this expression cannot contain exception group " -"types, because that would have ambiguous semantics." -msgstr "" - -msgid "" -"It is not possible to mix :keyword:`except` and :keyword:`!except*` in the " -"same :keyword:`try`. :keyword:`break`, :keyword:`continue` and :keyword:" -"`return` cannot appear in an :keyword:`!except*` clause." +":keyword:`break`, :keyword:`continue` and :keyword:`return` cannot appear in " +"an :keyword:`!except*` clause." msgstr "" msgid ":keyword:`!else` clause" @@ -385,14 +391,14 @@ msgstr "" msgid "" "If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The :" "keyword:`try` clause is executed, including any :keyword:`except` and :" -"keyword:`else` clauses. If an exception occurs in any of the clauses and is " -"not handled, the exception is temporarily saved. The :keyword:`!finally` " -"clause is executed. If there is a saved exception it is re-raised at the " -"end of the :keyword:`!finally` clause. If the :keyword:`!finally` clause " -"raises another exception, the saved exception is set as the context of the " -"new exception. If the :keyword:`!finally` clause executes a :keyword:" -"`return`, :keyword:`break` or :keyword:`continue` statement, the saved " -"exception is discarded. For example, this function returns 42." +"keyword:`else ` clauses. If an exception occurs in any of the " +"clauses and is not handled, the exception is temporarily saved. The :keyword:" +"`!finally` clause is executed. If there is a saved exception it is re-" +"raised at the end of the :keyword:`!finally` clause. If the :keyword:`!" +"finally` clause raises another exception, the saved exception is set as the " +"context of the new exception. If the :keyword:`!finally` clause executes a :" +"keyword:`return`, :keyword:`break` or :keyword:`continue` statement, the " +"saved exception is discarded. For example, this function returns 42." msgstr "" msgid "" @@ -521,9 +527,9 @@ msgstr "" msgid "" "manager = (EXPRESSION)\n" -"enter = type(manager).__enter__\n" -"exit = type(manager).__exit__\n" -"value = enter(manager)\n" +"enter = manager.__enter__\n" +"exit = manager.__exit__\n" +"value = enter()\n" "hit_except = False\n" "\n" "try:\n" @@ -531,11 +537,16 @@ msgid "" " SUITE\n" "except:\n" " hit_except = True\n" -" if not exit(manager, *sys.exc_info()):\n" +" if not exit(*sys.exc_info()):\n" " raise\n" "finally:\n" " if not hit_except:\n" -" exit(manager, None, None, None)" +" exit(None, None, None)" +msgstr "" + +msgid "" +"except that implicit :ref:`special method lookup ` is used " +"for :meth:`~object.__enter__` and :meth:`~object.__exit__`." msgstr "" msgid "" @@ -845,7 +856,7 @@ msgid "" "The rule ``strings`` and the token ``NUMBER`` are defined in the :doc:" "`standard Python grammar <./grammar>`. Triple-quoted strings are " "supported. Raw strings and byte strings are supported. :ref:`f-strings` " -"are not supported." +"and :ref:`t-strings` are not supported." msgstr "" msgid "" @@ -1027,8 +1038,8 @@ msgstr "" msgid "" "The length of the subject sequence is obtained via :func:`len` (i.e. via " -"the :meth:`__len__` protocol). This length may be cached by the interpreter " -"in a similar manner as :ref:`value patterns `." +"the :meth:`~object.__len__` protocol). This length may be cached by the " +"interpreter in a similar manner as :ref:`value patterns `." msgstr "" msgid "" @@ -1095,8 +1106,8 @@ msgstr "" msgid "" "Key-value pairs are matched using the two-argument form of the mapping " "subject's ``get()`` method. Matched key-value pairs must already be present " -"in the mapping, and not created on-the-fly via :meth:`__missing__` or :meth:" -"`~object.__getitem__`." +"in the mapping, and not created on-the-fly via :meth:`~object.__missing__` " +"or :meth:`~object.__getitem__`." msgstr "" msgid "" @@ -1159,7 +1170,7 @@ msgid "" "one:" msgstr "" -msgid "I. The keyword is looked up as an attribute on the subject." +msgid "The keyword is looked up as an attribute on the subject." msgstr "" msgid "" @@ -1176,7 +1187,7 @@ msgid "" "this succeeds, the match proceeds to the next keyword." msgstr "" -msgid "II. If all keyword patterns succeed, the class pattern succeeds." +msgid "If all keyword patterns succeed, the class pattern succeeds." msgstr "" msgid "" @@ -1185,8 +1196,7 @@ msgid "" "``name_or_attr`` before matching:" msgstr "" -msgid "" -"I. The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." +msgid "The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." msgstr "" msgid "If this raises an exception, the exception bubbles up." @@ -1215,10 +1225,8 @@ msgid ":ref:`class-pattern-matching`" msgstr ":ref:`class-pattern-matching`" msgid "" -"II. Once all positional patterns have been converted to keyword patterns," -msgstr "" - -msgid "the match proceeds as if there were only keyword patterns." +"Once all positional patterns have been converted to keyword patterns, the " +"match proceeds as if there were only keyword patterns." msgstr "" msgid "" @@ -1270,7 +1278,7 @@ msgid "" msgstr "" msgid "``isinstance(, CLS)``" -msgstr "" +msgstr "``isinstance(, CLS)``" msgid "convert ``P1`` to a keyword pattern using ``CLS.__match_args__``" msgstr "" @@ -1650,13 +1658,12 @@ msgid "Is semantically equivalent to::" msgstr "" msgid "" -"iter = (ITER)\n" -"iter = type(iter).__aiter__(iter)\n" +"iter = (ITER).__aiter__()\n" "running = True\n" "\n" "while running:\n" " try:\n" -" TARGET = await type(iter).__anext__(iter)\n" +" TARGET = await iter.__anext__()\n" " except StopAsyncIteration:\n" " running = False\n" " else:\n" @@ -1666,7 +1673,8 @@ msgid "" msgstr "" msgid "" -"See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details." +"except that implicit :ref:`special method lookup ` is used " +"for :meth:`~object.__aiter__` and :meth:`~object.__anext__`." msgstr "" msgid "" @@ -1689,9 +1697,9 @@ msgstr "" msgid "" "manager = (EXPRESSION)\n" -"aenter = type(manager).__aenter__\n" -"aexit = type(manager).__aexit__\n" -"value = await aenter(manager)\n" +"aenter = manager.__aenter__\n" +"aexit = manager.__aexit__\n" +"value = await aenter()\n" "hit_except = False\n" "\n" "try:\n" @@ -1699,16 +1707,16 @@ msgid "" " SUITE\n" "except:\n" " hit_except = True\n" -" if not await aexit(manager, *sys.exc_info()):\n" +" if not await aexit(*sys.exc_info()):\n" " raise\n" "finally:\n" " if not hit_except:\n" -" await aexit(manager, None, None, None)" +" await aexit(None, None, None)" msgstr "" msgid "" -"See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " -"details." +"except that implicit :ref:`special method lookup ` is used " +"for :meth:`~object.__aenter__` and :meth:`~object.__aexit__`." msgstr "" msgid "" diff --git a/reference/datamodel.po b/reference/datamodel.po index 277a6b643a..9bbfa7d4ba 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -4,23 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Tomasz Rodzen , 2021 -# Krzysztof Abramowicz, 2023 -# Tadeusz Karpiński , 2023 -# haaritsubaki, 2023 -# Wiktor Matuszewski , 2024 -# Maciej Olko , 2024 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,9 +32,8 @@ msgstr "" msgid "" ":dfn:`Objects` are Python's abstraction for data. All data in a Python " -"program is represented by objects or by relations between objects. (In a " -"sense, and in conformance to Von Neumann's model of a \"stored program " -"computer\", code is also represented by objects.)" +"program is represented by objects or by relations between objects. Even code " +"is represented by objects." msgstr "" msgid "" @@ -285,7 +278,7 @@ msgid "" msgstr "" msgid ":class:`numbers.Real` (:class:`float`)" -msgstr "" +msgstr ":class:`numbers.Real` (:class:`float`)" msgid "" "These represent machine-level double precision floating-point numbers. You " @@ -298,7 +291,7 @@ msgid "" msgstr "" msgid ":class:`numbers.Complex` (:class:`complex`)" -msgstr "" +msgstr ":class:`numbers.Complex` (:class:`complex`)" msgid "" "These represent complex numbers as a pair of machine-level double precision " @@ -321,10 +314,23 @@ msgid "" msgstr "" msgid "" -"Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " -"such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " -"a sequence of the same type. The comment above about negative indexes also " -"applies to negative slice positions." +"The resulting value must be a nonnegative integer less than the number of " +"items in the sequence. If it is not, an :exc:`IndexError` is raised." +msgstr "" + +msgid "" +"Sequences also support slicing: ``a[start:stop]`` selects all items with " +"index *k* such that *start* ``<=`` *k* ``<`` *stop*. When used as an " +"expression, a slice is a sequence of the same type. The comment above about " +"negative subscripts also applies to negative slice positions. Note that no " +"error is raised if a slice position is less than zero or larger than the " +"length of the sequence." +msgstr "" + +msgid "" +"If *start* is missing or :data:`None`, slicing behaves as if *start* was " +"zero. If *stop* is missing or ``None``, slicing behaves as if *stop* was " +"equal to the length of the sequence." msgstr "" msgid "" @@ -353,26 +359,33 @@ msgid "Strings" msgstr "Ciągi znaków" msgid "" -"A string is a sequence of values that represent Unicode code points. All the " -"code points in the range ``U+0000 - U+10FFFF`` can be represented in a " -"string. Python doesn't have a :c:expr:`char` type; instead, every code " -"point in the string is represented as a string object with length ``1``. " +"A string (:class:`str`) is a sequence of values that represent :dfn:" +"`characters`, or more formally, *Unicode code points*. All the code points " +"in the range ``0`` to ``0x10FFFF`` can be represented in a string." +msgstr "" + +msgid "" +"Python doesn't have a dedicated *character* type. Instead, every code point " +"in the string is represented as a string object with length ``1``." +msgstr "" + +msgid "" "The built-in function :func:`ord` converts a code point from its string form " -"to an integer in the range ``0 - 10FFFF``; :func:`chr` converts an integer " -"in the range ``0 - 10FFFF`` to the corresponding length ``1`` string " -"object. :meth:`str.encode` can be used to convert a :class:`str` to :class:" -"`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " -"to achieve the opposite." +"to an integer in the range ``0`` to ``0x10FFFF``; :func:`chr` converts an " +"integer in the range ``0`` to ``0x10FFFF`` to the corresponding length ``1`` " +"string object. :meth:`str.encode` can be used to convert a :class:`str` to :" +"class:`bytes` using the given text encoding, and :meth:`bytes.decode` can be " +"used to achieve the opposite." msgstr "" msgid "Tuples" msgstr "" msgid "" -"The items of a tuple are arbitrary Python objects. Tuples of two or more " -"items are formed by comma-separated lists of expressions. A tuple of one " -"item (a 'singleton') can be formed by affixing a comma to an expression (an " -"expression by itself does not create a tuple, since parentheses must be " +"The items of a :class:`tuple` are arbitrary Python objects. Tuples of two or " +"more items are formed by comma-separated lists of expressions. A tuple of " +"one item (a 'singleton') can be formed by affixing a comma to an expression " +"(an expression by itself does not create a tuple, since parentheses must be " "usable for grouping of expressions). An empty tuple can be formed by an " "empty pair of parentheses." msgstr "" @@ -381,7 +394,7 @@ msgid "Bytes" msgstr "Bajty" msgid "" -"A bytes object is an immutable array. The items are 8-bit bytes, " +"A :class:`bytes` object is an immutable array. The items are 8-bit bytes, " "represented by integers in the range 0 <= x < 256. Bytes literals (like " "``b'abc'``) and the built-in :func:`bytes` constructor can be used to create " "bytes objects. Also, bytes objects can be decoded to strings via the :meth:" @@ -541,6 +554,11 @@ msgstr "atrybut" msgid "Meaning" msgstr "Znaczenie" +msgid "" +"A reference to the :class:`dictionary ` that holds the function's " +"builtins namespace." +msgstr "" + msgid "" "A reference to the :class:`dictionary ` that holds the function's :ref:" "`global variables ` -- the global namespace of the module in which " @@ -1167,6 +1185,12 @@ msgid "" "``(A, B, C)``." msgstr "" +msgid "" +"The single base class in the inheritance chain that is responsible for the " +"memory layout of instances. This attribute corresponds to :c:member:" +"`~PyTypeObject.tp_base` at the C level." +msgstr "" + msgid "" "The class's documentation string, or ``None`` if undefined. Not inherited by " "subclasses." @@ -1180,8 +1204,21 @@ msgstr "" msgid "" "For best practices on working with :attr:`~object.__annotations__`, please " -"see :mod:`annotationlib`. Where possible, use :func:`annotationlib." -"get_annotations` instead of accessing this attribute directly." +"see :mod:`annotationlib`. Use :func:`annotationlib.get_annotations` instead " +"of accessing this attribute directly." +msgstr "" + +msgid "" +"Accessing the :attr:`!__annotations__` attribute directly on a class object " +"may return annotations for the wrong class, specifically in certain cases " +"where the class, its base class, or a metaclass is defined under ``from " +"__future__ import annotations``. See :pep:`749 <749#pep749-metaclasses>` for " +"details." +msgstr "" + +msgid "" +"This attribute does not exist on certain builtin classes. On user-defined " +"classes without ``__annotations__``, it is an empty dictionary." msgstr "" msgid "" @@ -1202,8 +1239,8 @@ msgstr "" msgid "" "The line number of the first line of the class definition, including " -"decorators. Setting the :attr:`__module__` attribute removes the :attr:`!" -"__firstlineno__` item from the type's dictionary." +"decorators. Setting the :attr:`~type.__module__` attribute removes the :attr:" +"`!__firstlineno__` item from the type's dictionary." msgstr "" msgid "" @@ -1293,6 +1330,11 @@ msgid "" "methods provided by extension modules)." msgstr "" +msgid "" +"File objects implement common methods, listed below, to simplify usage in " +"generic code. They are expected to be :ref:`context-managers`." +msgstr "" + msgid "" "The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized " "to file objects corresponding to the interpreter's standard input, output " @@ -1300,6 +1342,17 @@ msgid "" "interface defined by the :class:`io.TextIOBase` abstract class." msgstr "" +msgid "" +"Retrieve up to *size* data from the file. As a convenience if *size* is " +"unspecified or -1 retrieve all data available." +msgstr "" + +msgid "Store *data* to the file." +msgstr "" + +msgid "Flush any buffers and close the underlying file." +msgstr "" + msgid "Internal types" msgstr "" @@ -1589,6 +1642,11 @@ msgid "" "term:`bytecode` string of the :ref:`code object `)" msgstr "" +msgid "" +"The :term:`generator` or :term:`coroutine` object that owns this frame, or " +"``None`` if the frame is a normal function." +msgstr "" + msgid "" "If not ``None``, this is a function called for various events during code " "execution (this is used by debuggers). Normally an event is triggered for " @@ -1782,9 +1840,9 @@ msgid "" "When implementing a class that emulates any built-in type, it is important " "that the emulation only be implemented to the degree that it makes sense for " "the object being modelled. For example, some sequences may work well with " -"retrieval of individual elements, but extracting a slice may not make " -"sense. (One example of this is the :class:`~xml.dom.NodeList` interface in " -"the W3C's Document Object Model.)" +"retrieval of individual elements, but extracting a slice may not make sense. " +"(One example of this is the :ref:`NodeList ` interface " +"in the W3C's Document Object Model.)" msgstr "" msgid "Basic customization" @@ -2120,7 +2178,7 @@ msgstr "" msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " -"insertion, *O*\\ (*n*\\ :sup:`2`) complexity. See http://ocert.org/" +"insertion, *O*\\ (*n*\\ :sup:`2`) complexity. See https://ocert.org/" "advisories/ocert-2011-003.html for details." msgstr "" @@ -2438,11 +2496,11 @@ msgid "" msgstr "" msgid "" -"Python methods (including those decorated with :func:`@staticmethod " -"` and :func:`@classmethod `) are implemented as " -"non-data descriptors. Accordingly, instances can redefine and override " -"methods. This allows individual instances to acquire behaviors that differ " -"from other instances of the same class." +"Python methods (including those decorated with :deco:`staticmethod` and :" +"deco:`classmethod`) are implemented as non-data descriptors. Accordingly, " +"instances can redefine and override methods. This allows individual " +"instances to acquire behaviors that differ from other instances of the same " +"class." msgstr "" msgid "" @@ -2601,7 +2659,7 @@ msgid "" msgstr "" msgid "" -"When a class is created, :meth:`type.__new__` scans the class variables and " +"When a class is created, :meth:`!type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" @@ -2957,8 +3015,8 @@ msgstr "" msgid "" "When defined on a class, ``__class_getitem__()`` is automatically a class " -"method. As such, there is no need for it to be decorated with :func:" -"`@classmethod` when it is defined." +"method. As such, there is no need for it to be decorated with :deco:" +"`classmethod` when it is defined." msgstr "" msgid "The purpose of *__class_getitem__*" @@ -3114,23 +3172,31 @@ msgid "" "The :mod:`collections.abc` module provides a :class:`~collections.abc." "MutableMapping` :term:`abstract base class` to help create those methods " "from a base set of :meth:`~object.__getitem__`, :meth:`~object." -"__setitem__`, :meth:`~object.__delitem__`, and :meth:`!keys`. Mutable " -"sequences should provide methods :meth:`!append`, :meth:`!count`, :meth:`!" -"index`, :meth:`!extend`, :meth:`!insert`, :meth:`!pop`, :meth:`!remove`, :" -"meth:`!reverse` and :meth:`!sort`, like Python standard :class:`list` " -"objects. Finally, sequence types should implement addition (meaning " -"concatenation) and multiplication (meaning repetition) by defining the " -"methods :meth:`~object.__add__`, :meth:`~object.__radd__`, :meth:`~object." -"__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` and :meth:" -"`~object.__imul__` described below; they should not define other numerical " -"operators. It is recommended that both mappings and sequences implement " -"the :meth:`~object.__contains__` method to allow efficient use of the ``in`` " -"operator; for mappings, ``in`` should search the mapping's keys; for " -"sequences, it should search through the values. It is further recommended " -"that both mappings and sequences implement the :meth:`~object.__iter__` " -"method to allow efficient iteration through the container; for mappings, :" -"meth:`!__iter__` should iterate through the object's keys; for sequences, it " -"should iterate through the values." +"__setitem__`, :meth:`~object.__delitem__`, and :meth:`!keys`." +msgstr "" + +msgid "" +"Mutable sequences should provide methods :meth:`~sequence.append`, :meth:" +"`~sequence.clear`, :meth:`~sequence.count`, :meth:`~sequence.extend`, :meth:" +"`~sequence.index`, :meth:`~sequence.insert`, :meth:`~sequence.pop`, :meth:" +"`~sequence.remove`, and :meth:`~sequence.reverse`, like Python standard :" +"class:`list` objects. Finally, sequence types should implement addition " +"(meaning concatenation) and multiplication (meaning repetition) by defining " +"the methods :meth:`~object.__add__`, :meth:`~object.__radd__`, :meth:" +"`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` and :" +"meth:`~object.__imul__` described below; they should not define other " +"numerical operators." +msgstr "" + +msgid "" +"It is recommended that both mappings and sequences implement the :meth:" +"`~object.__contains__` method to allow efficient use of the ``in`` operator; " +"for mappings, ``in`` should search the mapping's keys; for sequences, it " +"should search through the values. It is further recommended that both " +"mappings and sequences implement the :meth:`~object.__iter__` method to " +"allow efficient iteration through the container; for mappings, :meth:`!" +"__iter__` should iterate through the object's keys; for sequences, it should " +"iterate through the values." msgstr "" msgid "" @@ -3158,41 +3224,61 @@ msgid "" msgstr "" msgid "" -"Slicing is done exclusively with the following three methods. A call like ::" +"Called to implement *subscription*, that is, ``self[subscript]``. See :ref:" +"`subscriptions` for details on the syntax." msgstr "" -msgid "a[1:2] = b" +msgid "" +"There are two types of built-in objects that support subscription via :meth:" +"`!__getitem__`:" msgstr "" -msgid "is translated to ::" +msgid "" +"**sequences**, where *subscript* (also called :term:`index`) should be an " +"integer or a :class:`slice` object. See the :ref:`sequence documentation " +"` for the expected behavior, including handling :class:" +"`slice` objects and negative indices." msgstr "" -msgid "a[slice(1, 2, None)] = b" +msgid "" +"**mappings**, where *subscript* is also called the :term:`key`. See :ref:" +"`mapping documentation ` for the expected behavior." msgstr "" -msgid "and so forth. Missing slice items are always filled in with ``None``." +msgid "" +"If *subscript* is of an inappropriate type, :meth:`!__getitem__` should " +"raise :exc:`TypeError`. If *subscript* has an inappropriate value, :meth:`!" +"__getitem__` should raise an :exc:`LookupError` or one of its subclasses (:" +"exc:`IndexError` for sequences; :exc:`KeyError` for mappings)." msgstr "" msgid "" -"Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " -"the accepted keys should be integers. Optionally, they may support :class:" -"`slice` objects as well. Negative index support is also optional. If *key* " -"is of an inappropriate type, :exc:`TypeError` may be raised; if *key* is a " -"value outside the set of indexes for the sequence (after any special " -"interpretation of negative values), :exc:`IndexError` should be raised. For :" -"term:`mapping` types, if *key* is missing (not in the container), :exc:" -"`KeyError` should be raised." +"Slicing is handled by :meth:`!__getitem__`, :meth:`~object.__setitem__`, " +"and :meth:`~object.__delitem__`. A call like ::" +msgstr "" + +msgid "a[1:2] = b" +msgstr "" + +msgid "is translated to ::" +msgstr "" + +msgid "a[slice(1, 2, None)] = b" +msgstr "" + +msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "" msgid "" -":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " -"illegal indexes to allow proper detection of the end of the sequence." +"The sequence iteration protocol (used, for example, in :keyword:`for` " +"loops), expects that an :exc:`IndexError` will be raised for illegal indexes " +"to allow proper detection of the end of a sequence." msgstr "" msgid "" -"When :ref:`subscripting` a *class*, the special class method :" -"meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " -"See :ref:`classgetitem-versus-getitem` for more details." +"When :ref:`subscripting ` a *class*, the special class " +"method :meth:`~object.__class_getitem__` may be called instead of :meth:`!" +"__getitem__`. See :ref:`classgetitem-versus-getitem` for more details." msgstr "" msgid "" @@ -3369,7 +3455,7 @@ msgstr "" msgid "" ":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." -msgstr "" +msgstr ":func:`int` nie deleguje już do metody :meth:`~object.__trunc__`." msgid "With Statement Context Managers" msgstr "" @@ -3483,12 +3569,32 @@ msgid "" "`memoryview` object." msgstr "" +msgid "" +"**Thread safety:** In :term:`free-threaded ` Python, " +"implementations must manage any internal export counter using atomic " +"operations. The method must be safe to call concurrently from multiple " +"threads, and the returned buffer's underlying data must remain valid until " +"the corresponding :meth:`~object.__release_buffer__` call completes. See :" +"ref:`thread-safety-memoryview` for details." +msgstr "" + msgid "" "Called when a buffer is no longer needed. The *buffer* argument is a :class:" "`memoryview` object that was previously returned by :meth:`~object." "__buffer__`. The method must release any resources associated with the " -"buffer. This method should return ``None``. Buffer objects that do not need " -"to perform any cleanup are not required to implement this method." +"buffer. This method should return ``None``." +msgstr "" + +msgid "" +"**Thread safety:** In :term:`free-threaded ` Python, any " +"export counter decrement must use atomic operations. Resource cleanup must " +"be thread-safe, as the final release may race with concurrent releases from " +"other threads." +msgstr "" + +msgid "" +"Buffer objects that do not need to perform any cleanup are not required to " +"implement this method." msgstr "" msgid ":pep:`688` - Making the buffer protocol accessible in Python" @@ -3994,6 +4100,15 @@ msgstr "" msgid "slicing" msgstr "" +msgid "start (slice object attribute)" +msgstr "" + +msgid "stop (slice object attribute)" +msgstr "" + +msgid "step (slice object attribute)" +msgstr "" + msgid "immutable sequence" msgstr "" @@ -4015,6 +4130,9 @@ msgstr "" msgid "character" msgstr "" +msgid "item" +msgstr "" + msgid "Unicode" msgstr "" @@ -4099,6 +4217,9 @@ msgstr "" msgid "user-defined function" msgstr "" +msgid "__builtins__ (function attribute)" +msgstr "" + msgid "__closure__ (function attribute)" msgstr "" @@ -4243,6 +4364,9 @@ msgstr "" msgid "__bases__ (class attribute)" msgstr "" +msgid "__base__ (class attribute)" +msgstr "" + msgid "__doc__ (class attribute)" msgstr "" @@ -4390,6 +4514,9 @@ msgstr "" msgid "f_builtins (frame attribute)" msgstr "" +msgid "f_generator (frame attribute)" +msgstr "" + msgid "f_trace (frame attribute)" msgstr "" @@ -4453,15 +4580,6 @@ msgstr "" msgid "slice" msgstr "" -msgid "start (slice object attribute)" -msgstr "" - -msgid "stop (slice object attribute)" -msgstr "" - -msgid "step (slice object attribute)" -msgstr "" - msgid "operator" msgstr "" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 7488b37137..6e9f64766d 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Maciej Olko , 2023 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -476,6 +474,236 @@ msgid "" "`try` and :keyword:`raise` statement in section :ref:`raise`." msgstr "" +msgid "Runtime Components" +msgstr "" + +msgid "General Computing Model" +msgstr "" + +msgid "" +"Python's execution model does not operate in a vacuum. It runs on a host " +"machine and through that host's runtime environment, including its operating " +"system (OS), if there is one. When a program runs, the conceptual layers of " +"how it runs on the host look something like this:" +msgstr "" + +msgid "**host machine**" +msgstr "" + +msgid "**process** (global resources)" +msgstr "" + +msgid "**thread** (runs machine code)" +msgstr "" + +msgid "" +"Each process represents a program running on the host. Think of each " +"process itself as the data part of its program. Think of the process' " +"threads as the execution part of the program. This distinction will be " +"important to understand the conceptual Python runtime." +msgstr "" + +msgid "" +"The process, as the data part, is the execution context in which the program " +"runs. It mostly consists of the set of resources assigned to the program by " +"the host, including memory, signals, file handles, sockets, and environment " +"variables." +msgstr "" + +msgid "" +"Processes are isolated and independent from one another. (The same is true " +"for hosts.) The host manages the process' access to its assigned resources, " +"in addition to coordinating between processes." +msgstr "" + +msgid "" +"Each thread represents the actual execution of the program's machine code, " +"running relative to the resources assigned to the program's process. It's " +"strictly up to the host how and when that execution takes place." +msgstr "" + +msgid "" +"From the point of view of Python, a program always starts with exactly one " +"thread. However, the program may grow to run in multiple simultaneous " +"threads. Not all hosts support multiple threads per process, but most do. " +"Unlike processes, threads in a process are not isolated and independent from " +"one another. Specifically, all threads in a process share all of the " +"process' resources." +msgstr "" + +msgid "" +"The fundamental point of threads is that each one does *run* independently, " +"at the same time as the others. That may be only conceptually at the same " +"time (\"concurrently\") or physically (\"in parallel\"). Either way, the " +"threads effectively run at a non-synchronized rate." +msgstr "" + +msgid "" +"That non-synchronized rate means none of the process' memory is guaranteed " +"to stay consistent for the code running in any given thread. Thus multi-" +"threaded programs must take care to coordinate access to intentionally " +"shared resources. Likewise, they must take care to be absolutely diligent " +"about not accessing any *other* resources in multiple threads; otherwise two " +"threads running at the same time might accidentally interfere with each " +"other's use of some shared data. All this is true for both Python programs " +"and the Python runtime." +msgstr "" + +msgid "" +"The cost of this broad, unstructured requirement is the tradeoff for the " +"kind of raw concurrency that threads provide. The alternative to the " +"required discipline generally means dealing with non-deterministic bugs and " +"data corruption." +msgstr "" + +msgid "Python Runtime Model" +msgstr "" + +msgid "" +"The same conceptual layers apply to each Python program, with some extra " +"data layers specific to Python:" +msgstr "" + +msgid "Python global runtime (*state*)" +msgstr "" + +msgid "Python interpreter (*state*)" +msgstr "" + +msgid "**thread** (runs Python bytecode and \"C-API\")" +msgstr "" + +msgid "Python thread *state*" +msgstr "" + +msgid "" +"At the conceptual level: when a Python program starts, it looks exactly like " +"that diagram, with one of each. The runtime may grow to include multiple " +"interpreters, and each interpreter may grow to include multiple thread " +"states." +msgstr "" + +msgid "" +"A Python implementation won't necessarily implement the runtime layers " +"distinctly or even concretely. The only exception is places where distinct " +"layers are directly specified or exposed to users, like through the :mod:" +"`threading` module." +msgstr "" + +msgid "" +"The initial interpreter is typically called the \"main\" interpreter. Some " +"Python implementations, like CPython, assign special roles to the main " +"interpreter." +msgstr "" + +msgid "" +"Likewise, the host thread where the runtime was initialized is known as the " +"\"main\" thread. It may be different from the process' initial thread, " +"though they are often the same. In some cases \"main thread\" may be even " +"more specific and refer to the initial thread state. A Python runtime might " +"assign specific responsibilities to the main thread, such as handling " +"signals." +msgstr "" + +msgid "" +"As a whole, the Python runtime consists of the global runtime state, " +"interpreters, and thread states. The runtime ensures all that state stays " +"consistent over its lifetime, particularly when used with multiple host " +"threads." +msgstr "" + +msgid "" +"The global runtime, at the conceptual level, is just a set of interpreters. " +"While those interpreters are otherwise isolated and independent from one " +"another, they may share some data or other resources. The runtime is " +"responsible for managing these global resources safely. The actual nature " +"and management of these resources is implementation-specific. Ultimately, " +"the external utility of the global runtime is limited to managing " +"interpreters." +msgstr "" + +msgid "" +"In contrast, an \"interpreter\" is conceptually what we would normally think " +"of as the (full-featured) \"Python runtime\". When machine code executing " +"in a host thread interacts with the Python runtime, it calls into Python in " +"the context of a specific interpreter." +msgstr "" + +msgid "" +"The term \"interpreter\" here is not the same as the \"bytecode " +"interpreter\", which is what regularly runs in threads, executing compiled " +"Python code." +msgstr "" + +msgid "" +"In an ideal world, \"Python runtime\" would refer to what we currently call " +"\"interpreter\". However, it's been called \"interpreter\" at least since " +"introduced in 1997 (`CPython:a027efa5b`_)." +msgstr "" + +msgid "" +"Each interpreter completely encapsulates all of the non-process-global, non-" +"thread-specific state needed for the Python runtime to work. Notably, the " +"interpreter's state persists between uses. It includes fundamental data " +"like :data:`sys.modules`. The runtime ensures multiple threads using the " +"same interpreter will safely share it between them." +msgstr "" + +msgid "" +"A Python implementation may support using multiple interpreters at the same " +"time in the same process. They are independent and isolated from one " +"another. For example, each interpreter has its own :data:`sys.modules`." +msgstr "" + +msgid "" +"For thread-specific runtime state, each interpreter has a set of thread " +"states, which it manages, in the same way the global runtime contains a set " +"of interpreters. It can have thread states for as many host threads as it " +"needs. It may even have multiple thread states for the same host thread, " +"though that isn't as common." +msgstr "" + +msgid "" +"Each thread state, conceptually, has all the thread-specific runtime data an " +"interpreter needs to operate in one host thread. The thread state includes " +"the current raised exception and the thread's Python call stack. It may " +"include other thread-specific resources." +msgstr "" + +msgid "" +"The term \"Python thread\" can sometimes refer to a thread state, but " +"normally it means a thread created using the :mod:`threading` module." +msgstr "" + +msgid "" +"Each thread state, over its lifetime, is always tied to exactly one " +"interpreter and exactly one host thread. It will only ever be used in that " +"thread and with that interpreter." +msgstr "" + +msgid "" +"Multiple thread states may be tied to the same host thread, whether for " +"different interpreters or even the same interpreter. However, for any given " +"host thread, only one of the thread states tied to it can be used by the " +"thread at a time." +msgstr "" + +msgid "" +"Thread states are isolated and independent from one another and don't share " +"any data, except for possibly sharing an interpreter and objects or other " +"resources belonging to that interpreter." +msgstr "" + +msgid "" +"Once a program is running, new Python threads can be created using the :mod:" +"`threading` module (on platforms and Python implementations that support " +"threads). Additional processes can be created using the :mod:`os`, :mod:" +"`subprocess`, and :mod:`multiprocessing` modules. Interpreters can be " +"created and used with the :mod:`~concurrent.interpreters` module. " +"Coroutines (async) can be run using :mod:`asyncio` in each interpreter, " +"typically only in a single thread (often the main thread)." +msgstr "" + msgid "Footnotes" msgstr "Przypisy" diff --git a/reference/expressions.po b/reference/expressions.po index 5e02145d0e..685cf76a1e 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -4,21 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2023 -# Tadeusz Karpiński , 2023 -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -36,9 +31,11 @@ msgid "" msgstr "" msgid "" -"**Syntax Notes:** In this and the following chapters, extended BNF notation " -"will be used to describe syntax, not lexical analysis. When (one " -"alternative of) a syntax rule has the form" +"**Syntax Notes:** In this and the following chapters, :ref:`grammar notation " +"` will be used to describe syntax, not lexical analysis." +msgstr "" + +msgid "When (one alternative of) a syntax rule has the form:" msgstr "" msgid "" @@ -52,33 +49,52 @@ msgstr "" msgid "" "When a description of an arithmetic operator below uses the phrase \"the " "numeric arguments are converted to a common real type\", this means that the " -"operator implementation for built-in types works as follows:" +"operator implementation for built-in numeric types works as described in " +"the :ref:`Numeric Types ` section of the standard " +"library documentation." +msgstr "" + +msgid "" +"Some additional rules apply for certain operators and non-numeric operands " +"(for example, a string as a left argument to the ``%`` operator). Extensions " +"must define their own conversion behavior." msgstr "" -msgid "If both arguments are complex numbers, no conversion is performed;" +msgid "Atoms" msgstr "" msgid "" -"if either argument is a complex or a floating-point number, the other is " -"converted to a floating-point number;" +"Atoms are the most basic elements of expressions. The simplest atoms are :" +"ref:`names ` or literals. Forms enclosed in parentheses, " +"brackets or braces are also categorized syntactically as atoms." +msgstr "" + +msgid "Formally, the syntax for atoms is:" msgstr "" -msgid "otherwise, both must be integers and no conversion is necessary." +msgid "Built-in constants" msgstr "" msgid "" -"Some additional rules apply for certain operators (e.g., a string as a left " -"argument to the '%' operator). Extensions must define their own conversion " -"behavior." +"The keywords ``True``, ``False``, and ``None`` name :ref:`built-in constants " +"`. The token ``...`` names the :py:data:`Ellipsis` constant." msgstr "" -msgid "Atoms" +msgid "Evaluation of these atoms yields the corresponding value." msgstr "" msgid "" -"Atoms are the most basic elements of expressions. The simplest atoms are " -"identifiers or literals. Forms enclosed in parentheses, brackets or braces " -"are also categorized syntactically as atoms. The syntax for atoms is:" +"Several more built-in constants are available as global variables, but only " +"the ones mentioned here are :ref:`keywords `. In particular, these " +"names cannot be reassigned or used as attributes:" +msgstr "" + +msgid "" +">>> False = 123\n" +" File \"\", line 1\n" +" False = 123\n" +" ^^^^^\n" +"SyntaxError: cannot assign to False" msgstr "" msgid "Identifiers (Names)" @@ -158,14 +174,41 @@ msgstr "" msgid "Literals" msgstr "" -msgid "Python supports string and bytes literals and various numeric literals:" +msgid "" +"A :dfn:`literal` is a textual representation of a value. Python supports " +"numeric, string and bytes literals. :ref:`Format strings ` and :" +"ref:`template strings ` are treated as string literals." +msgstr "" + +msgid "" +"Numeric literals consist of a single :token:`NUMBER ` " +"token, which names an integer, floating-point number, or an imaginary " +"number. See the :ref:`numbers` section in Lexical analysis documentation for " +"details." +msgstr "" + +msgid "" +"String and bytes literals may consist of several tokens. See section :ref:" +"`string-concatenation` for details." +msgstr "" + +msgid "" +"Note that negative and complex numbers, like ``-3`` or ``3+4.2j``, are " +"syntactically not literals, but :ref:`unary ` or :ref:`binary " +"` arithmetic operations involving the ``-`` or ``+`` operator." msgstr "" msgid "" -"Evaluation of a literal yields an object of the given type (string, bytes, " -"integer, floating-point number, complex number) with the given value. The " -"value may be approximated in the case of floating-point and imaginary " -"(complex) literals. See section :ref:`literals` for details." +"Evaluation of a literal yields an object of the given type (:class:`int`, :" +"class:`float`, :class:`complex`, :class:`str`, :class:`bytes`, or :class:" +"`~string.templatelib.Template`) with the given value. The value may be " +"approximated in the case of floating-point and imaginary literals." +msgstr "" + +msgid "The formal grammar for literals is:" +msgstr "" + +msgid "Literals and object identity" msgstr "" msgid "" @@ -176,6 +219,128 @@ msgid "" "the same value." msgstr "" +msgid "CPython implementation detail" +msgstr "" + +msgid "" +"For example, in CPython, *small* integers with the same value evaluate to " +"the same object::" +msgstr "" + +msgid "" +">>> x = 7\n" +">>> y = 7\n" +">>> x is y\n" +"True" +msgstr "" + +msgid "However, large integers evaluate to different objects::" +msgstr "" + +msgid "" +">>> x = 123456789\n" +">>> y = 123456789\n" +">>> x is y\n" +"False" +msgstr "" + +msgid "" +"This behavior may change in future versions of CPython. In particular, the " +"boundary between \"small\" and \"large\" integers has already changed in the " +"past." +msgstr "" + +msgid "" +"CPython will emit a :py:exc:`SyntaxWarning` when you compare literals using " +"``is``::" +msgstr "" + +msgid "" +">>> x = 7\n" +">>> x is 7\n" +":1: SyntaxWarning: \"is\" with 'int' literal. Did you mean \"==\"?\n" +"True" +msgstr "" + +msgid "See :ref:`faq-identity-with-is` for more information." +msgstr "" + +msgid "" +":ref:`Template strings ` are immutable but may reference mutable " +"objects as :class:`~string.templatelib.Interpolation` values. For the " +"purposes of this section, two t-strings have the \"same value\" if both " +"their structure and the *identity* of the values match." +msgstr "" + +msgid "" +"Currently, each evaluation of a template string results in a different " +"object." +msgstr "" + +msgid "String literal concatenation" +msgstr "" + +msgid "" +"Multiple adjacent string or bytes literals, possibly using different quoting " +"conventions, are allowed, and their meaning is the same as their " +"concatenation::" +msgstr "" + +msgid "" +">>> \"hello\" 'world'\n" +"\"helloworld\"" +msgstr "" + +msgid "" +"This feature is defined at the syntactical level, so it only works with " +"literals. To concatenate string expressions at run time, the '+' operator " +"may be used::" +msgstr "" + +msgid "" +">>> greeting = \"Hello\"\n" +">>> space = \" \"\n" +">>> name = \"Blaise\"\n" +">>> print(greeting + space + name) # not: print(greeting space name)\n" +"Hello Blaise" +msgstr "" + +msgid "" +"Literal concatenation can freely mix raw strings, triple-quoted strings, and " +"formatted string literals. For example::" +msgstr "" + +msgid "" +">>> \"Hello\" r', ' f\"{name}!\"\n" +"\"Hello, Blaise!\"" +msgstr "" + +msgid "" +"This feature can be used to reduce the number of backslashes needed, to " +"split long strings conveniently across long lines, or even to add comments " +"to parts of strings. For example::" +msgstr "" + +msgid "" +"re.compile(\"[A-Za-z_]\" # letter or underscore\n" +" \"[A-Za-z0-9_]*\" # letter, digit or underscore\n" +" )" +msgstr "" + +msgid "" +"However, bytes literals may only be combined with other byte literals; not " +"with string literals of any kind. Also, template string literals may only be " +"combined with other template string literals::" +msgstr "" + +msgid "" +">>> t\"Hello\" t\"{name}!\"\n" +"Template(strings=('Hello', '!'), interpolations=(...))" +msgstr "" + +msgid "Formally:" +msgstr "" + msgid "Parenthesized forms" msgstr "" @@ -388,13 +553,14 @@ msgid "" "Variables used in the generator expression are evaluated lazily when the :" "meth:`~generator.__next__` method is called for the generator object (in the " "same fashion as normal generators). However, the iterable expression in the " -"leftmost :keyword:`!for` clause is immediately evaluated, so that an error " -"produced by it will be emitted at the point where the generator expression " -"is defined, rather than at the point where the first value is retrieved. " -"Subsequent :keyword:`!for` clauses and any filter condition in the leftmost :" -"keyword:`!for` clause cannot be evaluated in the enclosing scope as they may " -"depend on the values obtained from the leftmost iterable. For example: " -"``(x*y for x in range(10) for y in range(x, x+10))``." +"leftmost :keyword:`!for` clause is immediately evaluated, and the :term:" +"`iterator` is immediately created for that iterable, so that an error " +"produced while creating the iterator will be emitted at the point where the " +"generator expression is defined, rather than at the point where the first " +"value is retrieved. Subsequent :keyword:`!for` clauses and any filter " +"condition in the leftmost :keyword:`!for` clause cannot be evaluated in the " +"enclosing scope as they may depend on the values obtained from the leftmost " +"iterable. For example: ``(x*y for x in range(10) for y in range(x, x+10))``." msgstr "" msgid "" @@ -625,15 +791,17 @@ msgid "" msgstr "" msgid "" -"Raises a :exc:`GeneratorExit` at the point where the generator function was " -"paused. If the generator function catches the exception and returns a " -"value, this value is returned from :meth:`close`. If the generator function " -"is already closed, or raises :exc:`GeneratorExit` (by not catching the " -"exception), :meth:`close` returns :const:`None`. If the generator yields a " -"value, a :exc:`RuntimeError` is raised. If the generator raises any other " -"exception, it is propagated to the caller. If the generator has already " -"exited due to an exception or normal exit, :meth:`close` returns :const:" -"`None` and has no other effect." +"Raises a :exc:`GeneratorExit` exception at the point where the generator " +"function was paused (equivalent to calling ``throw(GeneratorExit)``). The " +"exception is raised by the yield expression where the generator was paused. " +"If the generator function catches the exception and returns a value, this " +"value is returned from :meth:`close`. If the generator function is already " +"closed, or raises :exc:`GeneratorExit` (by not catching the exception), :" +"meth:`close` returns :const:`None`. If the generator yields a value, a :exc:" +"`RuntimeError` is raised. If the generator raises any other exception, it " +"is propagated to the caller. If the generator has already exited due to an " +"exception or normal exit, :meth:`close` returns :const:`None` and has no " +"other effect." msgstr "" msgid "" @@ -857,108 +1025,213 @@ msgid "" "__getattr__` method, that method is called as a fallback." msgstr "" -msgid "Subscriptions" +msgid "Subscriptions and slicings" +msgstr "" + +msgid "" +"The :dfn:`subscription` syntax is usually used for selecting an element from " +"a :ref:`container ` -- for example, to get a value from a :" +"class:`dict`::" msgstr "" msgid "" -"The subscription of an instance of a :ref:`container class ` " -"will generally select an element from the container. The subscription of a :" -"term:`generic class ` will generally return a :ref:" -"`GenericAlias ` object." +">>> digits_by_name = {'one': 1, 'two': 2}\n" +">>> digits_by_name['two'] # Subscripting a dictionary using the key 'two'\n" +"2" msgstr "" msgid "" -"When an object is subscripted, the interpreter will evaluate the primary and " -"the expression list." +"In the subscription syntax, the object being subscribed -- a :ref:`primary " +"` -- is followed by a :dfn:`subscript` in square brackets. In the " +"simplest case, the subscript is a single expression." msgstr "" msgid "" -"The primary must evaluate to an object that supports subscription. An object " -"may support subscription through defining one or both of :meth:`~object." -"__getitem__` and :meth:`~object.__class_getitem__`. When the primary is " -"subscripted, the evaluated result of the expression list will be passed to " -"one of these methods. For more details on when ``__class_getitem__`` is " -"called instead of ``__getitem__``, see :ref:`classgetitem-versus-getitem`." +"Depending on the type of the object being subscribed, the subscript is " +"sometimes called a :term:`key` (for mappings), :term:`index` (for " +"sequences), or *type argument* (for :term:`generic types `). " +"Syntactically, these are all equivalent::" +msgstr "" + +msgid "" +">>> colors = ['red', 'blue', 'green', 'black']\n" +">>> colors[3] # Subscripting a list using the index 3\n" +"'black'\n" +"\n" +">>> list[str] # Parameterizing the list type using the type argument str\n" +"list[str]" msgstr "" msgid "" -"If the expression list contains at least one comma, or if any of the " -"expressions are starred, the expression list will evaluate to a :class:" -"`tuple` containing the items of the expression list. Otherwise, the " -"expression list will evaluate to the value of the list's sole member." +"At runtime, the interpreter will evaluate the primary and the subscript, and " +"call the primary's :meth:`~object.__getitem__` or :meth:`~object." +"__class_getitem__` :term:`special method` with the subscript as argument. " +"For more details on which of these methods is called, see :ref:`classgetitem-" +"versus-getitem`." msgstr "" -msgid "Expressions in an expression list may be starred. See :pep:`646`." +msgid "" +"To show how subscription works, we can define a custom object that " +"implements :meth:`~object.__getitem__` and prints out the value of the " +"subscript::" msgstr "" msgid "" -"For built-in objects, there are two types of objects that support " -"subscription via :meth:`~object.__getitem__`:" +">>> class SubscriptionDemo:\n" +"... def __getitem__(self, key):\n" +"... print(f'subscripted with: {key!r}')\n" +"...\n" +">>> demo = SubscriptionDemo()\n" +">>> demo[1]\n" +"subscripted with: 1\n" +">>> demo['a' * 3]\n" +"subscripted with: 'aaa'" msgstr "" msgid "" -"Mappings. If the primary is a :term:`mapping`, the expression list must " -"evaluate to an object whose value is one of the keys of the mapping, and the " -"subscription selects the value in the mapping that corresponds to that key. " -"An example of a builtin mapping class is the :class:`dict` class." +"See :meth:`~object.__getitem__` documentation for how built-in types handle " +"subscription." msgstr "" msgid "" -"Sequences. If the primary is a :term:`sequence`, the expression list must " -"evaluate to an :class:`int` or a :class:`slice` (as discussed in the " -"following section). Examples of builtin sequence classes include the :class:" -"`str`, :class:`list` and :class:`tuple` classes." +"Subscriptions may also be used as targets in :ref:`assignment ` " +"or :ref:`deletion ` statements. In these cases, the interpreter will " +"call the subscripted object's :meth:`~object.__setitem__` or :meth:`~object." +"__delitem__` :term:`special method`, respectively, instead of :meth:`~object." +"__getitem__`." msgstr "" msgid "" -"The formal syntax makes no special provision for negative indices in :term:" -"`sequences `. However, built-in sequences all provide a :meth:" -"`~object.__getitem__` method that interprets negative indices by adding the " -"length of the sequence to the index so that, for example, ``x[-1]`` selects " -"the last item of ``x``. The resulting value must be a nonnegative integer " -"less than the number of items in the sequence, and the subscription selects " -"the item whose index is that value (counting from zero). Since the support " -"for negative indices and slicing occurs in the object's :meth:`~object." -"__getitem__` method, subclasses overriding this method will need to " -"explicitly add that support." +">>> colors = ['red', 'blue', 'green', 'black']\n" +">>> colors[3] = 'white' # Setting item at index\n" +">>> colors\n" +"['red', 'blue', 'green', 'white']\n" +">>> del colors[3] # Deleting item at index 3\n" +">>> colors\n" +"['red', 'blue', 'green']" msgstr "" msgid "" -"A :class:`string ` is a special kind of sequence whose items are " -"*characters*. A character is not a separate data type but a string of " -"exactly one character." +"All advanced forms of *subscript* documented in the following sections are " +"also usable for assignment and deletion." msgstr "" msgid "Slicings" msgstr "" msgid "" -"A slicing selects a range of items in a sequence object (e.g., a string, " -"tuple or list). Slicings may be used as expressions or as targets in " -"assignment or :keyword:`del` statements. The syntax for a slicing:" +"A more advanced form of subscription, :dfn:`slicing`, is commonly used to " +"extract a portion of a :ref:`sequence `. In this form, " +"the subscript is a :term:`slice`: up to three expressions separated by " +"colons. Any of the expressions may be omitted, but a slice must contain at " +"least one colon::" +msgstr "" + +msgid "" +">>> number_names = ['zero', 'one', 'two', 'three', 'four', 'five']\n" +">>> number_names[1:3]\n" +"['one', 'two']\n" +">>> number_names[1:]\n" +"['one', 'two', 'three', 'four', 'five']\n" +">>> number_names[:3]\n" +"['zero', 'one', 'two']\n" +">>> number_names[:]\n" +"['zero', 'one', 'two', 'three', 'four', 'five']\n" +">>> number_names[::2]\n" +"['zero', 'two', 'four']\n" +">>> number_names[:-3]\n" +"['zero', 'one', 'two']\n" +">>> del number_names[4:]\n" +">>> number_names\n" +"['zero', 'one', 'two', 'three']" msgstr "" msgid "" -"There is ambiguity in the formal syntax here: anything that looks like an " -"expression list also looks like a slice list, so any subscription can be " -"interpreted as a slicing. Rather than further complicating the syntax, this " -"is disambiguated by defining that in this case the interpretation as a " -"subscription takes priority over the interpretation as a slicing (this is " -"the case if the slice list contains no proper slice)." +"When a slice is evaluated, the interpreter constructs a :class:`slice` " +"object whose :attr:`~slice.start`, :attr:`~slice.stop` and :attr:`~slice." +"step` attributes, respectively, are the results of the expressions between " +"the colons. Any missing expression evaluates to :const:`None`. This :class:`!" +"slice` object is then passed to the :meth:`~object.__getitem__` or :meth:" +"`~object.__class_getitem__` :term:`special method`, as above. ::" msgstr "" msgid "" -"The semantics for a slicing are as follows. The primary is indexed (using " -"the same :meth:`~object.__getitem__` method as normal subscription) with a " -"key that is constructed from the slice list, as follows. If the slice list " -"contains at least one comma, the key is a tuple containing the conversion of " -"the slice items; otherwise, the conversion of the lone slice item is the " -"key. The conversion of a slice item that is an expression is that " -"expression. The conversion of a proper slice is a slice object (see " -"section :ref:`types`) whose :attr:`~slice.start`, :attr:`~slice.stop` and :" -"attr:`~slice.step` attributes are the values of the expressions given as " -"lower bound, upper bound and stride, respectively, substituting ``None`` for " -"missing expressions." +"# continuing with the SubscriptionDemo instance defined above:\n" +">>> demo[2:3]\n" +"subscripted with: slice(2, 3, None)\n" +">>> demo[::'spam']\n" +"subscripted with: slice(None, None, 'spam')" +msgstr "" + +msgid "Comma-separated subscripts" +msgstr "" + +msgid "" +"The subscript can also be given as two or more comma-separated expressions " +"or slices::" +msgstr "" + +msgid "" +"# continuing with the SubscriptionDemo instance defined above:\n" +">>> demo[1, 2, 3]\n" +"subscripted with: (1, 2, 3)\n" +">>> demo[1:2, 3]\n" +"subscripted with: (slice(1, 2, None), 3)" +msgstr "" + +msgid "" +"This form is commonly used with numerical libraries for slicing multi-" +"dimensional data. In this case, the interpreter constructs a :class:`tuple` " +"of the results of the expressions or slices, and passes this tuple to the :" +"meth:`~object.__getitem__` or :meth:`~object.__class_getitem__` :term:" +"`special method`, as above." +msgstr "" + +msgid "" +"The subscript may also be given as a single expression or slice followed by " +"a comma, to specify a one-element tuple::" +msgstr "" + +msgid "" +">>> demo['spam',]\n" +"subscripted with: ('spam',)" +msgstr "" + +msgid "\"Starred\" subscriptions" +msgstr "" + +msgid "Expressions in *tuple_slices* may be starred. See :pep:`646`." +msgstr "" + +msgid "" +"The subscript can also contain a starred expression. In this case, the " +"interpreter unpacks the result into a tuple, and passes this tuple to :meth:" +"`~object.__getitem__` or :meth:`~object.__class_getitem__`::" +msgstr "" + +msgid "" +"# continuing with the SubscriptionDemo instance defined above:\n" +">>> demo[*range(10)]\n" +"subscripted with: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)" +msgstr "" + +msgid "" +"Starred expressions may be combined with comma-separated expressions and " +"slices::" +msgstr "" + +msgid "" +">>> demo['a', 'b', *range(3), 'c']\n" +"subscripted with: ('a', 'b', 0, 1, 2, 'c')" +msgstr "" + +msgid "Formal subscription grammar" +msgstr "" + +msgid "" +"Recall that the ``|`` operator :ref:`denotes ordered choice `. " +"Specifically, in :token:`!subscript`, if both alternatives would match, the " +"first (:token:`!single_subscript`) has priority." msgstr "" msgid "Calls" @@ -1170,8 +1443,9 @@ msgstr "" msgid "" "The power operator has the same semantics as the built-in :func:`pow` " "function, when called with two arguments: it yields its left argument raised " -"to the power of its right argument. The numeric arguments are first " -"converted to a common type, and the result is of that type." +"to the power of its right argument. Numeric arguments are first :ref:" +"`converted to a common type `, and the result is " +"of that type." msgstr "" msgid "" @@ -1235,9 +1509,9 @@ msgid "" "The ``*`` (multiplication) operator yields the product of its arguments. " "The arguments must either both be numbers, or one argument must be an " "integer and the other must be a sequence. In the former case, the numbers " -"are converted to a common real type and then multiplied together. In the " -"latter case, sequence repetition is performed; a negative repetition factor " -"yields an empty sequence." +"are :ref:`converted to a common real type ` and " +"then multiplied together. In the latter case, sequence repetition is " +"performed; a negative repetition factor yields an empty sequence." msgstr "" msgid "" @@ -1262,11 +1536,12 @@ msgstr "" msgid "" "The ``/`` (division) and ``//`` (floor division) operators yield the " -"quotient of their arguments. The numeric arguments are first converted to a " -"common type. Division of integers yields a float, while floor division of " -"integers results in an integer; the result is that of mathematical division " -"with the 'floor' function applied to the result. Division by zero raises " -"the :exc:`ZeroDivisionError` exception." +"quotient of their arguments. The numeric arguments are first :ref:" +"`converted to a common type `. Division of " +"integers yields a float, while floor division of integers results in an " +"integer; the result is that of mathematical division with the 'floor' " +"function applied to the result. Division by zero raises the :exc:" +"`ZeroDivisionError` exception." msgstr "" msgid "" @@ -1278,13 +1553,14 @@ msgstr "" msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " -"first argument by the second. The numeric arguments are first converted to " -"a common type. A zero right argument raises the :exc:`ZeroDivisionError` " -"exception. The arguments may be floating-point numbers, e.g., ``3.14%0.7`` " -"equals ``0.34`` (since ``3.14`` equals ``4*0.7 + 0.34``.) The modulo " -"operator always yields a result with the same sign as its second operand (or " -"zero); the absolute value of the result is strictly smaller than the " -"absolute value of the second operand [#]_." +"first argument by the second. The numeric arguments are first :ref:" +"`converted to a common type `. A zero right " +"argument raises the :exc:`ZeroDivisionError` exception. The arguments may " +"be floating-point numbers, e.g., ``3.14%0.7`` equals ``0.34`` (since " +"``3.14`` equals ``4*0.7 + 0.34``.) The modulo operator always yields a " +"result with the same sign as its second operand (or zero); the absolute " +"value of the result is strictly smaller than the absolute value of the " +"second operand [#]_." msgstr "" msgid "" @@ -1316,8 +1592,9 @@ msgstr "" msgid "" "The ``+`` (addition) operator yields the sum of its arguments. The " "arguments must either both be numbers or both be sequences of the same " -"type. In the former case, the numbers are converted to a common real type " -"and then added together. In the latter case, the sequences are concatenated." +"type. In the former case, the numbers are :ref:`converted to a common real " +"type ` and then added together. In the latter " +"case, the sequences are concatenated." msgstr "" msgid "" @@ -1326,8 +1603,9 @@ msgid "" msgstr "" msgid "" -"The ``-`` (subtraction) operator yields the difference of its arguments. " -"The numeric arguments are first converted to a common real type." +"The ``-`` (subtraction) operator yields the difference of its arguments. The " +"numeric arguments are first :ref:`converted to a common real type `." msgstr "" msgid "" @@ -1786,8 +2064,9 @@ msgid "Conditional expressions" msgstr "" msgid "" -"Conditional expressions (sometimes called a \"ternary operator\") have the " -"lowest priority of all Python operations." +"A conditional expression (sometimes called a \"ternary operator\") is an " +"alternative to the if-else statement. As it is an expression, it returns a " +"value and can appear as a sub-expression." msgstr "" msgid "" @@ -1909,10 +2188,10 @@ msgid "" "display" msgstr "" -msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" +msgid "``x[index]``, ``x[index:index]`` ``x(arguments...)``, ``x.attribute``" msgstr "" -msgid "Subscription, slicing, call, attribute reference" +msgid "Subscription (including slicing), call, attribute reference" msgstr "" msgid ":keyword:`await x `" @@ -2297,24 +2576,12 @@ msgstr "ciąg znaków" msgid "item" msgstr "" -msgid "character" -msgstr "" - msgid "slicing" msgstr "" msgid "slice" msgstr "" -msgid "start (slice object attribute)" -msgstr "" - -msgid "stop (slice object attribute)" -msgstr "" - -msgid "step (slice object attribute)" -msgstr "" - msgid "callable" msgstr "" diff --git a/reference/grammar.po b/reference/grammar.po index ef558fdc44..92ce5f6e04 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,1919 +37,22 @@ msgstr "" "błędów." msgid "" -"The notation is a mixture of `EBNF `_ and `PEG `_. In particular, ``&`` followed by a symbol, " -"token or parenthesized group indicates a positive lookahead (i.e., is " -"required to match but not consumed), while ``!`` indicates a negative " -"lookahead (i.e., is required *not* to match). We use the ``|`` separator to " -"mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG " -"grammars). See :pep:`617` for more details on the grammar's syntax." +"The notation used here is the same as in the preceding docs, and is " +"described in the :ref:`notation ` section, except for an extra " +"complication:" msgstr "" msgid "" -"# PEG grammar for Python\n" -"\n" -"@trailer '''\n" -"void *\n" -"_PyPegen_parse(Parser *p)\n" -"{\n" -" // Initialize keywords\n" -" p->keywords = reserved_keywords;\n" -" p->n_keyword_lists = n_keyword_lists;\n" -" p->soft_keywords = soft_keywords;\n" -"\n" -" // Run parser\n" -" void *result = NULL;\n" -" if (p->start_rule == Py_file_input) {\n" -" result = file_rule(p);\n" -" } else if (p->start_rule == Py_single_input) {\n" -" result = interactive_rule(p);\n" -" } else if (p->start_rule == Py_eval_input) {\n" -" result = eval_rule(p);\n" -" } else if (p->start_rule == Py_func_type_input) {\n" -" result = func_type_rule(p);\n" -" }\n" -"\n" -" return result;\n" -"}\n" -"'''\n" -"\n" -"# ========================= START OF THE GRAMMAR =========================\n" -"\n" -"# General grammatical elements and rules:\n" -"#\n" -"# * Strings with double quotes (\") denote SOFT KEYWORDS\n" -"# * Strings with single quotes (') denote KEYWORDS\n" -"# * Upper case names (NAME) denote tokens in the Grammar/Tokens file\n" -"# * Rule names starting with \"invalid_\" are used for specialized syntax " -"errors\n" -"# - These rules are NOT used in the first pass of the parser.\n" -"# - Only if the first pass fails to parse, a second pass including the " -"invalid\n" -"# rules will be executed.\n" -"# - If the parser fails in the second phase with a generic syntax error, " -"the\n" -"# location of the generic failure of the first pass will be used (this " -"avoids\n" -"# reporting incorrect locations due to the invalid rules).\n" -"# - The order of the alternatives involving invalid rules matter\n" -"# (like any rule in PEG).\n" -"#\n" -"# Grammar Syntax (see PEP 617 for more information):\n" -"#\n" -"# rule_name: expression\n" -"# Optionally, a type can be included right after the rule name, which\n" -"# specifies the return type of the C or Python function corresponding to " -"the\n" -"# rule:\n" -"# rule_name[return_type]: expression\n" -"# If the return type is omitted, then a void * is returned in C and an Any " -"in\n" -"# Python.\n" -"# e1 e2\n" -"# Match e1, then match e2.\n" -"# e1 | e2\n" -"# Match e1 or e2.\n" -"# The first alternative can also appear on the line after the rule name " -"for\n" -"# formatting purposes. In that case, a | must be used before the first\n" -"# alternative, like so:\n" -"# rule_name[return_type]:\n" -"# | first_alt\n" -"# | second_alt\n" -"# ( e )\n" -"# Match e (allows also to use other operators in the group like '(e)*')\n" -"# [ e ] or e?\n" -"# Optionally match e.\n" -"# e*\n" -"# Match zero or more occurrences of e.\n" -"# e+\n" -"# Match one or more occurrences of e.\n" -"# s.e+\n" -"# Match one or more occurrences of e, separated by s. The generated parse " -"tree\n" -"# does not include the separator. This is otherwise identical to (e (s " -"e)*).\n" -"# &e\n" -"# Succeed if e can be parsed, without consuming any input.\n" -"# !e\n" -"# Fail if e can be parsed, without consuming any input.\n" -"# ~\n" -"# Commit to the current alternative, even if it fails to parse.\n" -"# &&e\n" -"# Eager parse e. The parser will not backtrack and will immediately\n" -"# fail with SyntaxError if e cannot be parsed.\n" -"#\n" -"\n" -"# STARTING RULES\n" -"# ==============\n" -"\n" -"file[mod_ty]: a=[statements] ENDMARKER { _PyPegen_make_module(p, a) }\n" -"interactive[mod_ty]: a=statement_newline { _PyAST_Interactive(a, p-" -">arena) }\n" -"eval[mod_ty]: a=expressions NEWLINE* ENDMARKER { _PyAST_Expression(a, p-" -">arena) }\n" -"func_type[mod_ty]: '(' a=[type_expressions] ')' '->' b=expression NEWLINE* " -"ENDMARKER { _PyAST_FunctionType(a, b, p->arena) }\n" -"\n" -"# GENERAL STATEMENTS\n" -"# ==================\n" -"\n" -"statements[asdl_stmt_seq*]: a=statement+ { _PyPegen_register_stmts(p, " -"(asdl_stmt_seq*)_PyPegen_seq_flatten(p, a)) }\n" -"\n" -"statement[asdl_stmt_seq*]:\n" -" | a=compound_stmt { (asdl_stmt_seq*)_PyPegen_singleton_seq(p, a) }\n" -" | a[asdl_stmt_seq*]=simple_stmts { a }\n" -"\n" -"single_compound_stmt[asdl_stmt_seq*]:\n" -" | a=compound_stmt {\n" -" _PyPegen_register_stmts(p, (asdl_stmt_seq*)_PyPegen_singleton_seq(p, " -"a)) }\n" -"\n" -"statement_newline[asdl_stmt_seq*]:\n" -" | a=single_compound_stmt NEWLINE { a }\n" -" | simple_stmts\n" -" | NEWLINE { (asdl_stmt_seq*)_PyPegen_singleton_seq(p, CHECK(stmt_ty, " -"_PyAST_Pass(EXTRA))) }\n" -" | ENDMARKER { _PyPegen_interactive_exit(p) }\n" -"\n" -"simple_stmts[asdl_stmt_seq*]:\n" -" | a=simple_stmt !';' NEWLINE { (asdl_stmt_seq*)_PyPegen_singleton_seq(p, " -"a) } # Not needed, there for speedup\n" -" | a[asdl_stmt_seq*]=';'.simple_stmt+ [';'] NEWLINE { a }\n" -"\n" -"# NOTE: assignment MUST precede expression, else parsing a simple " -"assignment\n" -"# will throw a SyntaxError.\n" -"simple_stmt[stmt_ty] (memo):\n" -" | assignment\n" -" | &\"type\" type_alias\n" -" | e=star_expressions { _PyAST_Expr(e, EXTRA) }\n" -" | &'return' return_stmt\n" -" | &('import' | 'from') import_stmt\n" -" | &'raise' raise_stmt\n" -" | &'pass' pass_stmt\n" -" | &'del' del_stmt\n" -" | &'yield' yield_stmt\n" -" | &'assert' assert_stmt\n" -" | &'break' break_stmt\n" -" | &'continue' continue_stmt\n" -" | &'global' global_stmt\n" -" | &'nonlocal' nonlocal_stmt\n" -"\n" -"compound_stmt[stmt_ty]:\n" -" | &('def' | '@' | 'async') function_def\n" -" | &'if' if_stmt\n" -" | &('class' | '@') class_def\n" -" | &('with' | 'async') with_stmt\n" -" | &('for' | 'async') for_stmt\n" -" | &'try' try_stmt\n" -" | &'while' while_stmt\n" -" | match_stmt\n" -"\n" -"# SIMPLE STATEMENTS\n" -"# =================\n" -"\n" -"# NOTE: annotated_rhs may start with 'yield'; yield_expr must start with " -"'yield'\n" -"assignment[stmt_ty]:\n" -" | a=NAME ':' b=expression c=['=' d=annotated_rhs { d }] {\n" -" CHECK_VERSION(\n" -" stmt_ty,\n" -" 6,\n" -" \"Variable annotation syntax is\",\n" -" _PyAST_AnnAssign(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, " -"Store)), b, c, 1, EXTRA)\n" -" ) }\n" -" | a=('(' b=single_target ')' { b }\n" -" | single_subscript_attribute_target) ':' b=expression c=['=' " -"d=annotated_rhs { d }] {\n" -" CHECK_VERSION(stmt_ty, 6, \"Variable annotations syntax is\", " -"_PyAST_AnnAssign(a, b, c, 0, EXTRA)) }\n" -" | a[asdl_expr_seq*]=(z=star_targets '=' { z })+ b=annotated_rhs !'=' " -"tc=[TYPE_COMMENT] {\n" -" _PyAST_Assign(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | a=single_target b=augassign ~ c=annotated_rhs {\n" -" _PyAST_AugAssign(a, b->kind, c, EXTRA) }\n" -" | invalid_assignment\n" -"\n" -"annotated_rhs[expr_ty]: yield_expr | star_expressions\n" -"\n" -"augassign[AugOperator*]:\n" -" | '+=' { _PyPegen_augoperator(p, Add) }\n" -" | '-=' { _PyPegen_augoperator(p, Sub) }\n" -" | '*=' { _PyPegen_augoperator(p, Mult) }\n" -" | '@=' { CHECK_VERSION(AugOperator*, 5, \"The '@' operator is\", " -"_PyPegen_augoperator(p, MatMult)) }\n" -" | '/=' { _PyPegen_augoperator(p, Div) }\n" -" | '%=' { _PyPegen_augoperator(p, Mod) }\n" -" | '&=' { _PyPegen_augoperator(p, BitAnd) }\n" -" | '|=' { _PyPegen_augoperator(p, BitOr) }\n" -" | '^=' { _PyPegen_augoperator(p, BitXor) }\n" -" | '<<=' { _PyPegen_augoperator(p, LShift) }\n" -" | '>>=' { _PyPegen_augoperator(p, RShift) }\n" -" | '**=' { _PyPegen_augoperator(p, Pow) }\n" -" | '//=' { _PyPegen_augoperator(p, FloorDiv) }\n" -"\n" -"return_stmt[stmt_ty]:\n" -" | 'return' a=[star_expressions] { _PyAST_Return(a, EXTRA) }\n" -"\n" -"raise_stmt[stmt_ty]:\n" -" | 'raise' a=expression b=['from' z=expression { z }] { _PyAST_Raise(a, " -"b, EXTRA) }\n" -" | 'raise' { _PyAST_Raise(NULL, NULL, EXTRA) }\n" -"\n" -"pass_stmt[stmt_ty]:\n" -" | 'pass' { _PyAST_Pass(EXTRA) }\n" -"\n" -"break_stmt[stmt_ty]:\n" -" | 'break' { _PyAST_Break(EXTRA) }\n" -"\n" -"continue_stmt[stmt_ty]:\n" -" | 'continue' { _PyAST_Continue(EXTRA) }\n" -"\n" -"global_stmt[stmt_ty]: 'global' a[asdl_expr_seq*]=','.NAME+ {\n" -" _PyAST_Global(CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p, " -"a)), EXTRA) }\n" -"\n" -"nonlocal_stmt[stmt_ty]: 'nonlocal' a[asdl_expr_seq*]=','.NAME+ {\n" -" _PyAST_Nonlocal(CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p, " -"a)), EXTRA) }\n" -"\n" -"del_stmt[stmt_ty]:\n" -" | 'del' a=del_targets &(';' | NEWLINE) { _PyAST_Delete(a, EXTRA) }\n" -" | invalid_del_stmt\n" -"\n" -"yield_stmt[stmt_ty]: y=yield_expr { _PyAST_Expr(y, EXTRA) }\n" -"\n" -"assert_stmt[stmt_ty]: 'assert' a=expression b=[',' z=expression { z }] " -"{ _PyAST_Assert(a, b, EXTRA) }\n" -"\n" -"import_stmt[stmt_ty]:\n" -" | invalid_import\n" -" | import_name\n" -" | import_from\n" -"\n" -"# Import statements\n" -"# -----------------\n" -"\n" -"import_name[stmt_ty]: 'import' a=dotted_as_names { _PyAST_Import(a, " -"EXTRA) }\n" -"# note below: the ('.' | '...') is necessary because '...' is tokenized as " -"ELLIPSIS\n" -"import_from[stmt_ty]:\n" -" | 'from' a=('.' | '...')* b=dotted_name 'import' c=import_from_targets " -"{\n" -" _PyPegen_checked_future_import(p, b->v.Name.id, c, " -"_PyPegen_seq_count_dots(a), EXTRA) }\n" -" | 'from' a=('.' | '...')+ 'import' b=import_from_targets {\n" -" _PyAST_ImportFrom(NULL, b, _PyPegen_seq_count_dots(a), EXTRA) }\n" -"import_from_targets[asdl_alias_seq*]:\n" -" | '(' a=import_from_as_names [','] ')' { a }\n" -" | import_from_as_names !','\n" -" | '*' { (asdl_alias_seq*)_PyPegen_singleton_seq(p, CHECK(alias_ty, " -"_PyPegen_alias_for_star(p, EXTRA))) }\n" -" | invalid_import_from_targets\n" -"import_from_as_names[asdl_alias_seq*]:\n" -" | a[asdl_alias_seq*]=','.import_from_as_name+ { a }\n" -"import_from_as_name[alias_ty]:\n" -" | invalid_import_from_as_name\n" -" | a=NAME b=['as' z=NAME { z }] { _PyAST_alias(\n" -" a->v.Name.id, (b) ? ((expr_ty) b)->v.Name.id : NULL, EXTRA) }\n" -"\n" -"dotted_as_names[asdl_alias_seq*]:\n" -" | a[asdl_alias_seq*]=','.dotted_as_name+ { a }\n" -"dotted_as_name[alias_ty]:\n" -" | invalid_dotted_as_name\n" -" | a=dotted_name b=['as' z=NAME { z }] { _PyAST_alias(\n" -" a->v.Name.id, (b) ? ((expr_ty) b)->v.Name.id : NULL, EXTRA) }\n" -"\n" -"dotted_name[expr_ty]:\n" -" | a=dotted_name '.' b=NAME { _PyPegen_join_names_with_dot(p, a, b) }\n" -" | NAME\n" -"\n" -"# COMPOUND STATEMENTS\n" -"# ===================\n" -"\n" -"# Common elements\n" -"# ---------------\n" -"\n" -"block[asdl_stmt_seq*] (memo):\n" -" | NEWLINE INDENT a=statements DEDENT { a }\n" -" | simple_stmts\n" -" | invalid_block\n" -"\n" -"decorators[asdl_expr_seq*]: a[asdl_expr_seq*]=('@' f=named_expression " -"NEWLINE { f })+ { a }\n" -"\n" -"# Class definitions\n" -"# -----------------\n" -"\n" -"class_def[stmt_ty]:\n" -" | a=decorators b=class_def_raw { _PyPegen_class_def_decorators(p, a, " -"b) }\n" -" | class_def_raw\n" -"\n" -"class_def_raw[stmt_ty]:\n" -" | invalid_class_def_raw\n" -" | 'class' a=NAME t=[type_params] b=['(' z=[arguments] ')' { z }] ':' " -"c=block {\n" -" _PyAST_ClassDef(a->v.Name.id,\n" -" (b) ? ((expr_ty) b)->v.Call.args : NULL,\n" -" (b) ? ((expr_ty) b)->v.Call.keywords : NULL,\n" -" c, NULL, t, EXTRA) }\n" -"\n" -"# Function definitions\n" -"# --------------------\n" -"\n" -"function_def[stmt_ty]:\n" -" | d=decorators f=function_def_raw { _PyPegen_function_def_decorators(p, " -"d, f) }\n" -" | function_def_raw\n" -"\n" -"function_def_raw[stmt_ty]:\n" -" | invalid_def_raw\n" -" | 'def' n=NAME t=[type_params] '(' params=[params] ')' a=['->' " -"z=expression { z }] ':' tc=[func_type_comment] b=block {\n" -" _PyAST_FunctionDef(n->v.Name.id,\n" -" (params) ? params : CHECK(arguments_ty, " -"_PyPegen_empty_arguments(p)),\n" -" b, NULL, a, NEW_TYPE_COMMENT(p, tc), t, EXTRA) }\n" -" | 'async' 'def' n=NAME t=[type_params] '(' params=[params] ')' a=['->' " -"z=expression { z }] ':' tc=[func_type_comment] b=block {\n" -" CHECK_VERSION(\n" -" stmt_ty,\n" -" 5,\n" -" \"Async functions are\",\n" -" _PyAST_AsyncFunctionDef(n->v.Name.id,\n" -" (params) ? params : CHECK(arguments_ty, " -"_PyPegen_empty_arguments(p)),\n" -" b, NULL, a, NEW_TYPE_COMMENT(p, tc), t, EXTRA)\n" -" ) }\n" -"\n" -"# Function parameters\n" -"# -------------------\n" -"\n" -"params[arguments_ty]:\n" -" | invalid_parameters\n" -" | parameters\n" -"\n" -"parameters[arguments_ty]:\n" -" | a=slash_no_default b[asdl_arg_seq*]=param_no_default* " -"c=param_with_default* d=[star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", " -"_PyPegen_make_arguments(p, a, NULL, b, c, d)) }\n" -" | a=slash_with_default b=param_with_default* c=[star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", " -"_PyPegen_make_arguments(p, NULL, a, NULL, b, c)) }\n" -" | a[asdl_arg_seq*]=param_no_default+ b=param_with_default* c=[star_etc] " -"{\n" -" _PyPegen_make_arguments(p, NULL, NULL, a, b, c) }\n" -" | a=param_with_default+ b=[star_etc] { _PyPegen_make_arguments(p, NULL, " -"NULL, NULL, a, b)}\n" -" | a=star_etc { _PyPegen_make_arguments(p, NULL, NULL, NULL, NULL, a) }\n" -"\n" -"# Some duplication here because we can't write (',' | &')'),\n" -"# which is because we don't support empty alternatives (yet).\n" -"\n" -"slash_no_default[asdl_arg_seq*]:\n" -" | a[asdl_arg_seq*]=param_no_default+ '/' ',' { a }\n" -" | a[asdl_arg_seq*]=param_no_default+ '/' &')' { a }\n" -"slash_with_default[SlashWithDefault*]:\n" -" | a=param_no_default* b=param_with_default+ '/' " -"',' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -" | a=param_no_default* b=param_with_default+ '/' " -"&')' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -"\n" -"star_etc[StarEtc*]:\n" -" | invalid_star_etc\n" -" | '*' a=param_no_default b=param_maybe_default* c=[kwds] {\n" -" _PyPegen_star_etc(p, a, b, c) }\n" -" | '*' a=param_no_default_star_annotation b=param_maybe_default* c=[kwds] " -"{\n" -" _PyPegen_star_etc(p, a, b, c) }\n" -" | '*' ',' b=param_maybe_default+ c=[kwds] {\n" -" _PyPegen_star_etc(p, NULL, b, c) }\n" -" | a=kwds { _PyPegen_star_etc(p, NULL, NULL, a) }\n" -"\n" -"kwds[arg_ty]:\n" -" | invalid_kwds\n" -" | '**' a=param_no_default { a }\n" -"\n" -"# One parameter. This *includes* a following comma and type comment.\n" -"#\n" -"# There are three styles:\n" -"# - No default\n" -"# - With default\n" -"# - Maybe with default\n" -"#\n" -"# There are two alternative forms of each, to deal with type comments:\n" -"# - Ends in a comma followed by an optional type comment\n" -"# - No comma, optional type comment, must be followed by close paren\n" -"# The latter form is for a final parameter without trailing comma.\n" -"#\n" -"\n" -"param_no_default[arg_ty]:\n" -" | a=param ',' tc=TYPE_COMMENT? { _PyPegen_add_type_comment_to_arg(p, a, " -"tc) }\n" -" | a=param tc=TYPE_COMMENT? &')' { _PyPegen_add_type_comment_to_arg(p, a, " -"tc) }\n" -"param_no_default_star_annotation[arg_ty]:\n" -" | a=param_star_annotation ',' tc=TYPE_COMMENT? " -"{ _PyPegen_add_type_comment_to_arg(p, a, tc) }\n" -" | a=param_star_annotation tc=TYPE_COMMENT? " -"&')' { _PyPegen_add_type_comment_to_arg(p, a, tc) }\n" -"param_with_default[NameDefaultPair*]:\n" -" | a=param c=default ',' tc=TYPE_COMMENT? { _PyPegen_name_default_pair(p, " -"a, c, tc) }\n" -" | a=param c=default tc=TYPE_COMMENT? " -"&')' { _PyPegen_name_default_pair(p, a, c, tc) }\n" -"param_maybe_default[NameDefaultPair*]:\n" -" | a=param c=default? ',' tc=TYPE_COMMENT? " -"{ _PyPegen_name_default_pair(p, a, c, tc) }\n" -" | a=param c=default? tc=TYPE_COMMENT? " -"&')' { _PyPegen_name_default_pair(p, a, c, tc) }\n" -"param[arg_ty]: a=NAME b=annotation? { _PyAST_arg(a->v.Name.id, b, NULL, " -"EXTRA) }\n" -"param_star_annotation[arg_ty]: a=NAME b=star_annotation { _PyAST_arg(a->v." -"Name.id, b, NULL, EXTRA) }\n" -"annotation[expr_ty]: ':' a=expression { a }\n" -"star_annotation[expr_ty]: ':' a=star_expression { a }\n" -"default[expr_ty]: '=' a=expression { a } | invalid_default\n" -"\n" -"# If statement\n" -"# ------------\n" -"\n" -"if_stmt[stmt_ty]:\n" -" | invalid_if_stmt\n" -" | 'if' a=named_expression ':' b=block c=elif_stmt {\n" -" _PyAST_If(a, b, CHECK(asdl_stmt_seq*, _PyPegen_singleton_seq(p, c)), " -"EXTRA) }\n" -" | 'if' a=named_expression ':' b=block c=[else_block] { _PyAST_If(a, b, " -"c, EXTRA) }\n" -"elif_stmt[stmt_ty]:\n" -" | invalid_elif_stmt\n" -" | 'elif' a=named_expression ':' b=block c=elif_stmt {\n" -" _PyAST_If(a, b, CHECK(asdl_stmt_seq*, _PyPegen_singleton_seq(p, c)), " -"EXTRA) }\n" -" | 'elif' a=named_expression ':' b=block c=[else_block] { _PyAST_If(a, b, " -"c, EXTRA) }\n" -"else_block[asdl_stmt_seq*]:\n" -" | invalid_else_stmt\n" -" | 'else' &&':' b=block { b }\n" -"\n" -"# While statement\n" -"# ---------------\n" -"\n" -"while_stmt[stmt_ty]:\n" -" | invalid_while_stmt\n" -" | 'while' a=named_expression ':' b=block c=[else_block] " -"{ _PyAST_While(a, b, c, EXTRA) }\n" -"\n" -"# For statement\n" -"# -------------\n" -"\n" -"for_stmt[stmt_ty]:\n" -" | invalid_for_stmt\n" -" | 'for' t=star_targets 'in' ~ ex=star_expressions ':' tc=[TYPE_COMMENT] " -"b=block el=[else_block] {\n" -" _PyAST_For(t, ex, b, el, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | 'async' 'for' t=star_targets 'in' ~ ex=star_expressions ':' " -"tc=[TYPE_COMMENT] b=block el=[else_block] {\n" -" CHECK_VERSION(stmt_ty, 5, \"Async for loops are\", " -"_PyAST_AsyncFor(t, ex, b, el, NEW_TYPE_COMMENT(p, tc), EXTRA)) }\n" -" | invalid_for_target\n" -"\n" -"# With statement\n" -"# --------------\n" -"\n" -"with_stmt[stmt_ty]:\n" -" | invalid_with_stmt_indent\n" -" | 'with' '(' a[asdl_withitem_seq*]=','.with_item+ ','? ')' ':' " -"tc=[TYPE_COMMENT] b=block {\n" -" _PyAST_With(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | 'with' a[asdl_withitem_seq*]=','.with_item+ ':' tc=[TYPE_COMMENT] " -"b=block {\n" -" _PyAST_With(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | 'async' 'with' '(' a[asdl_withitem_seq*]=','.with_item+ ','? ')' ':' " -"b=block {\n" -" CHECK_VERSION(stmt_ty, 5, \"Async with statements are\", " -"_PyAST_AsyncWith(a, b, NULL, EXTRA)) }\n" -" | 'async' 'with' a[asdl_withitem_seq*]=','.with_item+ ':' " -"tc=[TYPE_COMMENT] b=block {\n" -" CHECK_VERSION(stmt_ty, 5, \"Async with statements are\", " -"_PyAST_AsyncWith(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA)) }\n" -" | invalid_with_stmt\n" -"\n" -"with_item[withitem_ty]:\n" -" | e=expression 'as' t=star_target &(',' | ')' | ':') " -"{ _PyAST_withitem(e, t, p->arena) }\n" -" | invalid_with_item\n" -" | e=expression { _PyAST_withitem(e, NULL, p->arena) }\n" -"\n" -"# Try statement\n" -"# -------------\n" -"\n" -"try_stmt[stmt_ty]:\n" -" | invalid_try_stmt\n" -" | 'try' &&':' b=block f=finally_block { _PyAST_Try(b, NULL, NULL, f, " -"EXTRA) }\n" -" | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_block+ " -"el=[else_block] f=[finally_block] { _PyAST_Try(b, ex, el, f, EXTRA) }\n" -" | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_star_block+ " -"el=[else_block] f=[finally_block] {\n" -" CHECK_VERSION(stmt_ty, 11, \"Exception groups are\",\n" -" _PyAST_TryStar(b, ex, el, f, EXTRA)) }\n" -"\n" -"\n" -"# Except statement\n" -"# ----------------\n" -"\n" -"except_block[excepthandler_ty]:\n" -" | invalid_except_stmt_indent\n" -" | 'except' e=expression ':' b=block {\n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA) }\n" -" | 'except' e=expression 'as' t=NAME ':' b=block {\n" -" _PyAST_ExceptHandler(e, ((expr_ty) t)->v.Name.id, b, EXTRA) }\n" -" | 'except' e=expressions ':' b=block {\n" -" CHECK_VERSION(\n" -" excepthandler_ty,\n" -" 14,\n" -" \"except expressions without parentheses are\",\n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA)) }\n" -" | 'except' ':' b=block { _PyAST_ExceptHandler(NULL, NULL, b, EXTRA) }\n" -" | invalid_except_stmt\n" -"except_star_block[excepthandler_ty]:\n" -" | invalid_except_star_stmt_indent\n" -" | 'except' '*' e=expression ':' b=block {\n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA) }\n" -" | 'except' '*' e=expression 'as' t=NAME ':' b=block {\n" -" _PyAST_ExceptHandler(e, ((expr_ty) t)->v.Name.id, b, EXTRA) }\n" -" | 'except' '*' e=expressions ':' b=block {\n" -" CHECK_VERSION(\n" -" excepthandler_ty,\n" -" 14,\n" -" \"except expressions without parentheses are\",\n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA)) }\n" -" | invalid_except_star_stmt\n" -"finally_block[asdl_stmt_seq*]:\n" -" | invalid_finally_stmt\n" -" | 'finally' &&':' a=block { a }\n" -"\n" -"# Match statement\n" -"# ---------------\n" -"\n" -"match_stmt[stmt_ty]:\n" -" | \"match\" subject=subject_expr ':' NEWLINE INDENT " -"cases[asdl_match_case_seq*]=case_block+ DEDENT {\n" -" CHECK_VERSION(stmt_ty, 10, \"Pattern matching is\", " -"_PyAST_Match(subject, cases, EXTRA)) }\n" -" | invalid_match_stmt\n" -"\n" -"subject_expr[expr_ty]:\n" -" | value=star_named_expression ',' values=star_named_expressions? {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, " -"value, values)), Load, EXTRA) }\n" -" | named_expression\n" -"\n" -"case_block[match_case_ty]:\n" -" | invalid_case_block\n" -" | \"case\" pattern=patterns guard=guard? ':' body=block {\n" -" _PyAST_match_case(pattern, guard, body, p->arena) }\n" -"\n" -"guard[expr_ty]: 'if' guard=named_expression { guard }\n" -"\n" -"patterns[pattern_ty]:\n" -" | patterns[asdl_pattern_seq*]=open_sequence_pattern {\n" -" _PyAST_MatchSequence(patterns, EXTRA) }\n" -" | pattern\n" -"\n" -"pattern[pattern_ty]:\n" -" | as_pattern\n" -" | or_pattern\n" -"\n" -"as_pattern[pattern_ty]:\n" -" | pattern=or_pattern 'as' target=pattern_capture_target {\n" -" _PyAST_MatchAs(pattern, target->v.Name.id, EXTRA) }\n" -" | invalid_as_pattern\n" -"\n" -"or_pattern[pattern_ty]:\n" -" | patterns[asdl_pattern_seq*]='|'.closed_pattern+ {\n" -" asdl_seq_LEN(patterns) == 1 ? asdl_seq_GET(patterns, 0) : " -"_PyAST_MatchOr(patterns, EXTRA) }\n" -"\n" -"closed_pattern[pattern_ty] (memo):\n" -" | literal_pattern\n" -" | capture_pattern\n" -" | wildcard_pattern\n" -" | value_pattern\n" -" | group_pattern\n" -" | sequence_pattern\n" -" | mapping_pattern\n" -" | class_pattern\n" -"\n" -"# Literal patterns are used for equality and identity constraints\n" -"literal_pattern[pattern_ty]:\n" -" | value=signed_number !('+' | '-') { _PyAST_MatchValue(value, EXTRA) }\n" -" | value=complex_number { _PyAST_MatchValue(value, EXTRA) }\n" -" | value=strings { _PyAST_MatchValue(value, EXTRA) }\n" -" | 'None' { _PyAST_MatchSingleton(Py_None, EXTRA) }\n" -" | 'True' { _PyAST_MatchSingleton(Py_True, EXTRA) }\n" -" | 'False' { _PyAST_MatchSingleton(Py_False, EXTRA) }\n" -"\n" -"# Literal expressions are used to restrict permitted mapping pattern keys\n" -"literal_expr[expr_ty]:\n" -" | signed_number !('+' | '-')\n" -" | complex_number\n" -" | &(STRING|FSTRING_START|TSTRING_START) strings\n" -" | 'None' { _PyAST_Constant(Py_None, NULL, EXTRA) }\n" -" | 'True' { _PyAST_Constant(Py_True, NULL, EXTRA) }\n" -" | 'False' { _PyAST_Constant(Py_False, NULL, EXTRA) }\n" -"\n" -"complex_number[expr_ty]:\n" -" | real=signed_real_number '+' imag=imaginary_number {\n" -" _PyAST_BinOp(real, Add, imag, EXTRA) }\n" -" | real=signed_real_number '-' imag=imaginary_number {\n" -" _PyAST_BinOp(real, Sub, imag, EXTRA) }\n" -"\n" -"signed_number[expr_ty]:\n" -" | NUMBER\n" -" | '-' number=NUMBER { _PyAST_UnaryOp(USub, number, EXTRA) }\n" -"\n" -"signed_real_number[expr_ty]:\n" -" | real_number\n" -" | '-' real=real_number { _PyAST_UnaryOp(USub, real, EXTRA) }\n" -"\n" -"real_number[expr_ty]:\n" -" | real=NUMBER { _PyPegen_ensure_real(p, real) }\n" -"\n" -"imaginary_number[expr_ty]:\n" -" | imag=NUMBER { _PyPegen_ensure_imaginary(p, imag) }\n" -"\n" -"capture_pattern[pattern_ty]:\n" -" | target=pattern_capture_target { _PyAST_MatchAs(NULL, target->v.Name." -"id, EXTRA) }\n" -"\n" -"pattern_capture_target[expr_ty]:\n" -" | !\"_\" name=NAME !('.' | '(' | '=') {\n" -" _PyPegen_set_expr_context(p, name, Store) }\n" -"\n" -"wildcard_pattern[pattern_ty]:\n" -" | \"_\" { _PyAST_MatchAs(NULL, NULL, EXTRA) }\n" -"\n" -"value_pattern[pattern_ty]:\n" -" | attr=attr !('.' | '(' | '=') { _PyAST_MatchValue(attr, EXTRA) }\n" -"\n" -"attr[expr_ty]:\n" -" | value=name_or_attr '.' attr=NAME {\n" -" _PyAST_Attribute(value, attr->v.Name.id, Load, EXTRA) }\n" -"\n" -"name_or_attr[expr_ty]:\n" -" | attr\n" -" | NAME\n" -"\n" -"group_pattern[pattern_ty]:\n" -" | '(' pattern=pattern ')' { pattern }\n" -"\n" -"sequence_pattern[pattern_ty]:\n" -" | '[' patterns=maybe_sequence_pattern? " -"']' { _PyAST_MatchSequence(patterns, EXTRA) }\n" -" | '(' patterns=open_sequence_pattern? " -"')' { _PyAST_MatchSequence(patterns, EXTRA) }\n" -"\n" -"open_sequence_pattern[asdl_seq*]:\n" -" | pattern=maybe_star_pattern ',' patterns=maybe_sequence_pattern? {\n" -" _PyPegen_seq_insert_in_front(p, pattern, patterns) }\n" -"\n" -"maybe_sequence_pattern[asdl_seq*]:\n" -" | patterns=','.maybe_star_pattern+ ','? { patterns }\n" -"\n" -"maybe_star_pattern[pattern_ty]:\n" -" | star_pattern\n" -" | pattern\n" -"\n" -"star_pattern[pattern_ty] (memo):\n" -" | '*' target=pattern_capture_target {\n" -" _PyAST_MatchStar(target->v.Name.id, EXTRA) }\n" -" | '*' wildcard_pattern {\n" -" _PyAST_MatchStar(NULL, EXTRA) }\n" -"\n" -"mapping_pattern[pattern_ty]:\n" -" | '{' '}' {\n" -" _PyAST_MatchMapping(NULL, NULL, NULL, EXTRA) }\n" -" | '{' rest=double_star_pattern ','? '}' {\n" -" _PyAST_MatchMapping(NULL, NULL, rest->v.Name.id, EXTRA) }\n" -" | '{' items=items_pattern ',' rest=double_star_pattern ','? '}' {\n" -" _PyAST_MatchMapping(\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, items)),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, items)),\n" -" rest->v.Name.id,\n" -" EXTRA) }\n" -" | '{' items=items_pattern ','? '}' {\n" -" _PyAST_MatchMapping(\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, items)),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, items)),\n" -" NULL,\n" -" EXTRA) }\n" -"\n" -"items_pattern[asdl_seq*]:\n" -" | ','.key_value_pattern+\n" -"\n" -"key_value_pattern[KeyPatternPair*]:\n" -" | key=(literal_expr | attr) ':' pattern=pattern {\n" -" _PyPegen_key_pattern_pair(p, key, pattern) }\n" -"\n" -"double_star_pattern[expr_ty]:\n" -" | '**' target=pattern_capture_target { target }\n" -"\n" -"class_pattern[pattern_ty]:\n" -" | cls=name_or_attr '(' ')' {\n" -" _PyAST_MatchClass(cls, NULL, NULL, NULL, EXTRA) }\n" -" | cls=name_or_attr '(' patterns=positional_patterns ','? ')' {\n" -" _PyAST_MatchClass(cls, patterns, NULL, NULL, EXTRA) }\n" -" | cls=name_or_attr '(' keywords=keyword_patterns ','? ')' {\n" -" _PyAST_MatchClass(\n" -" cls, NULL,\n" -" CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p,\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, " -"keywords)))),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, keywords)),\n" -" EXTRA) }\n" -" | cls=name_or_attr '(' patterns=positional_patterns ',' " -"keywords=keyword_patterns ','? ')' {\n" -" _PyAST_MatchClass(\n" -" cls,\n" -" patterns,\n" -" CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p,\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, " -"keywords)))),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, keywords)),\n" -" EXTRA) }\n" -" | invalid_class_pattern\n" -"\n" -"positional_patterns[asdl_pattern_seq*]:\n" -" | args[asdl_pattern_seq*]=','.pattern+ { args }\n" -"\n" -"keyword_patterns[asdl_seq*]:\n" -" | ','.keyword_pattern+\n" -"\n" -"keyword_pattern[KeyPatternPair*]:\n" -" | arg=NAME '=' value=pattern { _PyPegen_key_pattern_pair(p, arg, " -"value) }\n" -"\n" -"# Type statement\n" -"# ---------------\n" -"\n" -"type_alias[stmt_ty]:\n" -" | \"type\" n=NAME t=[type_params] '=' b=expression {\n" -" CHECK_VERSION(stmt_ty, 12, \"Type statement is\",\n" -" _PyAST_TypeAlias(CHECK(expr_ty, _PyPegen_set_expr_context(p, n, " -"Store)), t, b, EXTRA)) }\n" -"\n" -"# Type parameter declaration\n" -"# --------------------------\n" -"\n" -"type_params[asdl_type_param_seq*]:\n" -" | invalid_type_params\n" -" | '[' t=type_param_seq ']' {\n" -" CHECK_VERSION(asdl_type_param_seq *, 12, \"Type parameter lists " -"are\", t) }\n" -"\n" -"type_param_seq[asdl_type_param_seq*]: a[asdl_type_param_seq*]=','." -"type_param+ [','] { a }\n" -"\n" -"type_param[type_param_ty] (memo):\n" -" | a=NAME b=[type_param_bound] c=[type_param_default] { _PyAST_TypeVar(a-" -">v.Name.id, b, c, EXTRA) }\n" -" | invalid_type_param\n" -" | '*' a=NAME b=[type_param_starred_default] { _PyAST_TypeVarTuple(a->v." -"Name.id, b, EXTRA) }\n" -" | '**' a=NAME b=[type_param_default] { _PyAST_ParamSpec(a->v.Name.id, b, " -"EXTRA) }\n" -"\n" -"type_param_bound[expr_ty]: ':' e=expression { e }\n" -"type_param_default[expr_ty]: '=' e=expression {\n" -" CHECK_VERSION(expr_ty, 13, \"Type parameter defaults are\", e) }\n" -"type_param_starred_default[expr_ty]: '=' e=star_expression {\n" -" CHECK_VERSION(expr_ty, 13, \"Type parameter defaults are\", e) }\n" -"\n" -"# EXPRESSIONS\n" -"# -----------\n" -"\n" -"expressions[expr_ty]:\n" -" | a=expression b=(',' c=expression { c })+ [','] {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, " -"a, b)), Load, EXTRA) }\n" -" | a=expression ',' { _PyAST_Tuple(CHECK(asdl_expr_seq*, " -"_PyPegen_singleton_seq(p, a)), Load, EXTRA) }\n" -" | expression\n" -"\n" -"expression[expr_ty] (memo):\n" -" | invalid_expression\n" -" | invalid_legacy_expression\n" -" | a=disjunction 'if' b=disjunction 'else' c=expression { _PyAST_IfExp(b, " -"a, c, EXTRA) }\n" -" | disjunction\n" -" | lambdef\n" -"\n" -"yield_expr[expr_ty]:\n" -" | 'yield' 'from' a=expression { _PyAST_YieldFrom(a, EXTRA) }\n" -" | 'yield' a=[star_expressions] { _PyAST_Yield(a, EXTRA) }\n" -"\n" -"star_expressions[expr_ty]:\n" -" | a=star_expression b=(',' c=star_expression { c })+ [','] {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, " -"a, b)), Load, EXTRA) }\n" -" | a=star_expression ',' { _PyAST_Tuple(CHECK(asdl_expr_seq*, " -"_PyPegen_singleton_seq(p, a)), Load, EXTRA) }\n" -" | star_expression\n" -"\n" -"star_expression[expr_ty] (memo):\n" -" | '*' a=bitwise_or { _PyAST_Starred(a, Load, EXTRA) }\n" -" | expression\n" -"\n" -"star_named_expressions[asdl_expr_seq*]: a[asdl_expr_seq*]=','." -"star_named_expression+ [','] { a }\n" -"\n" -"star_named_expression[expr_ty]:\n" -" | '*' a=bitwise_or { _PyAST_Starred(a, Load, EXTRA) }\n" -" | named_expression\n" -"\n" -"assignment_expression[expr_ty]:\n" -" | a=NAME ':=' ~ b=expression {\n" -" CHECK_VERSION(expr_ty, 8, \"Assignment expressions are\",\n" -" _PyAST_NamedExpr(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, " -"Store)), b, EXTRA)) }\n" -"\n" -"named_expression[expr_ty]:\n" -" | assignment_expression\n" -" | invalid_named_expression\n" -" | expression !':='\n" -"\n" -"disjunction[expr_ty] (memo):\n" -" | a=conjunction b=('or' c=conjunction { c })+ { _PyAST_BoolOp(\n" -" Or,\n" -" CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)),\n" -" EXTRA) }\n" -" | conjunction\n" -"\n" -"conjunction[expr_ty] (memo):\n" -" | a=inversion b=('and' c=inversion { c })+ { _PyAST_BoolOp(\n" -" And,\n" -" CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)),\n" -" EXTRA) }\n" -" | inversion\n" -"\n" -"inversion[expr_ty] (memo):\n" -" | 'not' a=inversion { _PyAST_UnaryOp(Not, a, EXTRA) }\n" -" | comparison\n" -"\n" -"# Comparison operators\n" -"# --------------------\n" -"\n" -"comparison[expr_ty]:\n" -" | a=bitwise_or b=compare_op_bitwise_or_pair+ {\n" -" _PyAST_Compare(\n" -" a,\n" -" CHECK(asdl_int_seq*, _PyPegen_get_cmpops(p, b)),\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_exprs(p, b)),\n" -" EXTRA) }\n" -" | bitwise_or\n" -"\n" -"compare_op_bitwise_or_pair[CmpopExprPair*]:\n" -" | eq_bitwise_or\n" -" | noteq_bitwise_or\n" -" | lte_bitwise_or\n" -" | lt_bitwise_or\n" -" | gte_bitwise_or\n" -" | gt_bitwise_or\n" -" | notin_bitwise_or\n" -" | in_bitwise_or\n" -" | isnot_bitwise_or\n" -" | is_bitwise_or\n" -"\n" -"eq_bitwise_or[CmpopExprPair*]: '==' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, Eq, a) }\n" -"noteq_bitwise_or[CmpopExprPair*]:\n" -" | (tok='!=' { _PyPegen_check_barry_as_flufl(p, tok) ? NULL : tok}) " -"a=bitwise_or {_PyPegen_cmpop_expr_pair(p, NotEq, a) }\n" -"lte_bitwise_or[CmpopExprPair*]: '<=' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, LtE, a) }\n" -"lt_bitwise_or[CmpopExprPair*]: '<' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, Lt, a) }\n" -"gte_bitwise_or[CmpopExprPair*]: '>=' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, GtE, a) }\n" -"gt_bitwise_or[CmpopExprPair*]: '>' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, Gt, a) }\n" -"notin_bitwise_or[CmpopExprPair*]: 'not' 'in' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, NotIn, a) }\n" -"in_bitwise_or[CmpopExprPair*]: 'in' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, In, a) }\n" -"isnot_bitwise_or[CmpopExprPair*]: 'is' 'not' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, IsNot, a) }\n" -"is_bitwise_or[CmpopExprPair*]: 'is' a=bitwise_or " -"{ _PyPegen_cmpop_expr_pair(p, Is, a) }\n" -"\n" -"# Bitwise operators\n" -"# -----------------\n" -"\n" -"bitwise_or[expr_ty]:\n" -" | a=bitwise_or '|' b=bitwise_xor { _PyAST_BinOp(a, BitOr, b, EXTRA) }\n" -" | bitwise_xor\n" -"\n" -"bitwise_xor[expr_ty]:\n" -" | a=bitwise_xor '^' b=bitwise_and { _PyAST_BinOp(a, BitXor, b, EXTRA) }\n" -" | bitwise_and\n" -"\n" -"bitwise_and[expr_ty]:\n" -" | a=bitwise_and '&' b=shift_expr { _PyAST_BinOp(a, BitAnd, b, EXTRA) }\n" -" | shift_expr\n" -"\n" -"shift_expr[expr_ty]:\n" -" | a=shift_expr '<<' b=sum { _PyAST_BinOp(a, LShift, b, EXTRA) }\n" -" | a=shift_expr '>>' b=sum { _PyAST_BinOp(a, RShift, b, EXTRA) }\n" -" | invalid_arithmetic\n" -" | sum\n" -"\n" -"# Arithmetic operators\n" -"# --------------------\n" -"\n" -"sum[expr_ty]:\n" -" | a=sum '+' b=term { _PyAST_BinOp(a, Add, b, EXTRA) }\n" -" | a=sum '-' b=term { _PyAST_BinOp(a, Sub, b, EXTRA) }\n" -" | term\n" -"\n" -"term[expr_ty]:\n" -" | a=term '*' b=factor { _PyAST_BinOp(a, Mult, b, EXTRA) }\n" -" | a=term '/' b=factor { _PyAST_BinOp(a, Div, b, EXTRA) }\n" -" | a=term '//' b=factor { _PyAST_BinOp(a, FloorDiv, b, EXTRA) }\n" -" | a=term '%' b=factor { _PyAST_BinOp(a, Mod, b, EXTRA) }\n" -" | a=term '@' b=factor { CHECK_VERSION(expr_ty, 5, \"The '@' operator " -"is\", _PyAST_BinOp(a, MatMult, b, EXTRA)) }\n" -" | invalid_factor\n" -" | factor\n" -"\n" -"factor[expr_ty] (memo):\n" -" | '+' a=factor { _PyAST_UnaryOp(UAdd, a, EXTRA) }\n" -" | '-' a=factor { _PyAST_UnaryOp(USub, a, EXTRA) }\n" -" | '~' a=factor { _PyAST_UnaryOp(Invert, a, EXTRA) }\n" -" | power\n" -"\n" -"power[expr_ty]:\n" -" | a=await_primary '**' b=factor { _PyAST_BinOp(a, Pow, b, EXTRA) }\n" -" | await_primary\n" -"\n" -"# Primary elements\n" -"# ----------------\n" -"\n" -"# Primary elements are things like \"obj.something.something\", " -"\"obj[something]\", \"obj(something)\", \"obj\" ...\n" -"\n" -"await_primary[expr_ty] (memo):\n" -" | 'await' a=primary { CHECK_VERSION(expr_ty, 5, \"Await expressions " -"are\", _PyAST_Await(a, EXTRA)) }\n" -" | primary\n" -"\n" -"primary[expr_ty]:\n" -" | a=primary '.' b=NAME { _PyAST_Attribute(a, b->v.Name.id, Load, " -"EXTRA) }\n" -" | a=primary b=genexp { _PyAST_Call(a, CHECK(asdl_expr_seq*, " -"(asdl_expr_seq*)_PyPegen_singleton_seq(p, b)), NULL, EXTRA) }\n" -" | a=primary '(' b=[arguments] ')' {\n" -" _PyAST_Call(a,\n" -" (b) ? ((expr_ty) b)->v.Call.args : NULL,\n" -" (b) ? ((expr_ty) b)->v.Call.keywords : NULL,\n" -" EXTRA) }\n" -" | a=primary '[' b=slices ']' { _PyAST_Subscript(a, b, Load, EXTRA) }\n" -" | atom\n" -"\n" -"slices[expr_ty]:\n" -" | a=slice !',' { a }\n" -" | a[asdl_expr_seq*]=','.(slice | starred_expression)+ [','] " -"{ _PyAST_Tuple(a, Load, EXTRA) }\n" -"\n" -"slice[expr_ty]:\n" -" | a=[expression] ':' b=[expression] c=[':' d=[expression] { d }] " -"{ _PyAST_Slice(a, b, c, EXTRA) }\n" -" | a=named_expression { a }\n" -"\n" -"atom[expr_ty]:\n" -" | NAME\n" -" | 'True' { _PyAST_Constant(Py_True, NULL, EXTRA) }\n" -" | 'False' { _PyAST_Constant(Py_False, NULL, EXTRA) }\n" -" | 'None' { _PyAST_Constant(Py_None, NULL, EXTRA) }\n" -" | &(STRING|FSTRING_START|TSTRING_START) strings\n" -" | NUMBER\n" -" | &'(' (tuple | group | genexp)\n" -" | &'[' (list | listcomp)\n" -" | &'{' (dict | set | dictcomp | setcomp)\n" -" | '...' { _PyAST_Constant(Py_Ellipsis, NULL, EXTRA) }\n" -"\n" -"group[expr_ty]:\n" -" | '(' a=(yield_expr | named_expression) ')' { a }\n" -" | invalid_group\n" -"\n" -"# Lambda functions\n" -"# ----------------\n" -"\n" -"lambdef[expr_ty]:\n" -" | 'lambda' a=[lambda_params] ':' b=expression {\n" -" _PyAST_Lambda((a) ? a : CHECK(arguments_ty, " -"_PyPegen_empty_arguments(p)), b, EXTRA) }\n" -"\n" -"lambda_params[arguments_ty]:\n" -" | invalid_lambda_parameters\n" -" | lambda_parameters\n" -"\n" -"# lambda_parameters etc. duplicates parameters but without annotations\n" -"# or type comments, and if there's no comma after a parameter, we expect\n" -"# a colon, not a close parenthesis. (For more, see parameters above.)\n" -"#\n" -"lambda_parameters[arguments_ty]:\n" -" | a=lambda_slash_no_default b[asdl_arg_seq*]=lambda_param_no_default* " -"c=lambda_param_with_default* d=[lambda_star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", " -"_PyPegen_make_arguments(p, a, NULL, b, c, d)) }\n" -" | a=lambda_slash_with_default b=lambda_param_with_default* " -"c=[lambda_star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", " -"_PyPegen_make_arguments(p, NULL, a, NULL, b, c)) }\n" -" | a[asdl_arg_seq*]=lambda_param_no_default+ b=lambda_param_with_default* " -"c=[lambda_star_etc] {\n" -" _PyPegen_make_arguments(p, NULL, NULL, a, b, c) }\n" -" | a=lambda_param_with_default+ b=[lambda_star_etc] " -"{ _PyPegen_make_arguments(p, NULL, NULL, NULL, a, b)}\n" -" | a=lambda_star_etc { _PyPegen_make_arguments(p, NULL, NULL, NULL, NULL, " -"a) }\n" -"\n" -"lambda_slash_no_default[asdl_arg_seq*]:\n" -" | a[asdl_arg_seq*]=lambda_param_no_default+ '/' ',' { a }\n" -" | a[asdl_arg_seq*]=lambda_param_no_default+ '/' &':' { a }\n" -"\n" -"lambda_slash_with_default[SlashWithDefault*]:\n" -" | a=lambda_param_no_default* b=lambda_param_with_default+ '/' " -"',' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -" | a=lambda_param_no_default* b=lambda_param_with_default+ '/' " -"&':' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -"\n" -"lambda_star_etc[StarEtc*]:\n" -" | invalid_lambda_star_etc\n" -" | '*' a=lambda_param_no_default b=lambda_param_maybe_default* " -"c=[lambda_kwds] {\n" -" _PyPegen_star_etc(p, a, b, c) }\n" -" | '*' ',' b=lambda_param_maybe_default+ c=[lambda_kwds] {\n" -" _PyPegen_star_etc(p, NULL, b, c) }\n" -" | a=lambda_kwds { _PyPegen_star_etc(p, NULL, NULL, a) }\n" -"\n" -"lambda_kwds[arg_ty]:\n" -" | invalid_lambda_kwds\n" -" | '**' a=lambda_param_no_default { a }\n" -"\n" -"lambda_param_no_default[arg_ty]:\n" -" | a=lambda_param ',' { a }\n" -" | a=lambda_param &':' { a }\n" -"lambda_param_with_default[NameDefaultPair*]:\n" -" | a=lambda_param c=default ',' { _PyPegen_name_default_pair(p, a, c, " -"NULL) }\n" -" | a=lambda_param c=default &':' { _PyPegen_name_default_pair(p, a, c, " -"NULL) }\n" -"lambda_param_maybe_default[NameDefaultPair*]:\n" -" | a=lambda_param c=default? ',' { _PyPegen_name_default_pair(p, a, c, " -"NULL) }\n" -" | a=lambda_param c=default? &':' { _PyPegen_name_default_pair(p, a, c, " -"NULL) }\n" -"lambda_param[arg_ty]: a=NAME { _PyAST_arg(a->v.Name.id, NULL, NULL, " -"EXTRA) }\n" -"\n" -"# LITERALS\n" -"# ========\n" -"\n" -"fstring_middle[expr_ty]:\n" -" | fstring_replacement_field\n" -" | t=FSTRING_MIDDLE { _PyPegen_constant_from_token(p, t) }\n" -"fstring_replacement_field[expr_ty]:\n" -" | '{' a=annotated_rhs debug_expr='='? conversion=[fstring_conversion] " -"format=[fstring_full_format_spec] rbrace='}' {\n" -" _PyPegen_formatted_value(p, a, debug_expr, conversion, format, " -"rbrace, EXTRA) }\n" -" | invalid_fstring_replacement_field\n" -"fstring_conversion[ResultTokenWithMetadata*]:\n" -" | conv_token=\"!\" conv=NAME { _PyPegen_check_fstring_conversion(p, " -"conv_token, conv) }\n" -"fstring_full_format_spec[ResultTokenWithMetadata*]:\n" -" | colon=':' spec=fstring_format_spec* " -"{ _PyPegen_setup_full_format_spec(p, colon, (asdl_expr_seq *) spec, " -"EXTRA) }\n" -"fstring_format_spec[expr_ty]:\n" -" | t=FSTRING_MIDDLE { _PyPegen_decoded_constant_from_token(p, t) }\n" -" | fstring_replacement_field\n" -"fstring[expr_ty]:\n" -" | a=FSTRING_START b=fstring_middle* c=FSTRING_END " -"{ _PyPegen_joined_str(p, a, (asdl_expr_seq*)b, c) }\n" -"\n" -"tstring_format_spec_replacement_field[expr_ty]:\n" -" | '{' a=annotated_rhs debug_expr='='? conversion=[fstring_conversion] " -"format=[tstring_full_format_spec] rbrace='}' {\n" -" _PyPegen_formatted_value(p, a, debug_expr, conversion, format, " -"rbrace, EXTRA) }\n" -" | invalid_tstring_replacement_field\n" -"tstring_format_spec[expr_ty]:\n" -" | t=TSTRING_MIDDLE { _PyPegen_decoded_constant_from_token(p, t) }\n" -" | tstring_format_spec_replacement_field\n" -"tstring_full_format_spec[ResultTokenWithMetadata*]:\n" -" | colon=':' spec=tstring_format_spec* " -"{ _PyPegen_setup_full_format_spec(p, colon, (asdl_expr_seq *) spec, " -"EXTRA) }\n" -"tstring_replacement_field[expr_ty]:\n" -" | '{' a=annotated_rhs debug_expr='='? conversion=[fstring_conversion] " -"format=[tstring_full_format_spec] rbrace='}' {\n" -" _PyPegen_interpolation(p, a, debug_expr, conversion, format, rbrace, " -"EXTRA) }\n" -" | invalid_tstring_replacement_field\n" -"tstring_middle[expr_ty]:\n" -" | tstring_replacement_field\n" -" | t=TSTRING_MIDDLE { _PyPegen_constant_from_token(p, t) }\n" -"tstring[expr_ty] (memo):\n" -" | a=TSTRING_START b=tstring_middle* c=TSTRING_END {\n" -" CHECK_VERSION(\n" -" expr_ty,\n" -" 14,\n" -" \"t-strings are\",\n" -" _PyPegen_template_str(p, a, (asdl_expr_seq*)b, c)) }\n" -"\n" -"string[expr_ty]: s[Token*]=STRING { _PyPegen_constant_from_string(p, s) }\n" -"strings[expr_ty] (memo): a[asdl_expr_seq*]=(fstring|string|tstring)+ " -"{ _PyPegen_concatenate_strings(p, a, EXTRA) }\n" -"\n" -"list[expr_ty]:\n" -" | '[' a=[star_named_expressions] ']' { _PyAST_List(a, Load, EXTRA) }\n" -"\n" -"tuple[expr_ty]:\n" -" | '(' a=[y=star_named_expression ',' z=[star_named_expressions] " -"{ _PyPegen_seq_insert_in_front(p, y, z) } ] ')' {\n" -" _PyAST_Tuple(a, Load, EXTRA) }\n" -"\n" -"set[expr_ty]: '{' a=star_named_expressions '}' { _PyAST_Set(a, EXTRA) }\n" -"\n" -"# Dicts\n" -"# -----\n" -"\n" -"dict[expr_ty]:\n" -" | '{' a=[double_starred_kvpairs] '}' {\n" -" _PyAST_Dict(\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_keys(p, a)),\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_values(p, a)),\n" -" EXTRA) }\n" -" | '{' invalid_double_starred_kvpairs '}'\n" -"\n" -"double_starred_kvpairs[asdl_seq*]: a=','.double_starred_kvpair+ [','] { a }\n" -"\n" -"double_starred_kvpair[KeyValuePair*]:\n" -" | '**' a=bitwise_or { _PyPegen_key_value_pair(p, NULL, a) }\n" -" | kvpair\n" -"\n" -"kvpair[KeyValuePair*]: a=expression ':' b=expression " -"{ _PyPegen_key_value_pair(p, a, b) }\n" -"\n" -"# Comprehensions & Generators\n" -"# ---------------------------\n" -"\n" -"for_if_clauses[asdl_comprehension_seq*]:\n" -" | a[asdl_comprehension_seq*]=for_if_clause+ { a }\n" -"\n" -"for_if_clause[comprehension_ty]:\n" -" | 'async' 'for' a=star_targets 'in' ~ b=disjunction " -"c[asdl_expr_seq*]=('if' z=disjunction { z })* {\n" -" CHECK_VERSION(comprehension_ty, 6, \"Async comprehensions are\", " -"_PyAST_comprehension(a, b, c, 1, p->arena)) }\n" -" | 'for' a=star_targets 'in' ~ b=disjunction c[asdl_expr_seq*]=('if' " -"z=disjunction { z })* {\n" -" _PyAST_comprehension(a, b, c, 0, p->arena) }\n" -" | invalid_for_if_clause\n" -" | invalid_for_target\n" -"\n" -"listcomp[expr_ty]:\n" -" | '[' a=named_expression b=for_if_clauses ']' { _PyAST_ListComp(a, b, " -"EXTRA) }\n" -" | invalid_comprehension\n" -"\n" -"setcomp[expr_ty]:\n" -" | '{' a=named_expression b=for_if_clauses '}' { _PyAST_SetComp(a, b, " -"EXTRA) }\n" -" | invalid_comprehension\n" -"\n" -"genexp[expr_ty]:\n" -" | '(' a=( assignment_expression | expression !':=') b=for_if_clauses " -"')' { _PyAST_GeneratorExp(a, b, EXTRA) }\n" -" | invalid_comprehension\n" -"\n" -"dictcomp[expr_ty]:\n" -" | '{' a=kvpair b=for_if_clauses '}' { _PyAST_DictComp(a->key, a->value, " -"b, EXTRA) }\n" -" | invalid_dict_comprehension\n" -"\n" -"# FUNCTION CALL ARGUMENTS\n" -"# =======================\n" -"\n" -"arguments[expr_ty] (memo):\n" -" | a=args [','] &')' { a }\n" -" | invalid_arguments\n" -"\n" -"args[expr_ty]:\n" -" | a[asdl_expr_seq*]=','.(starred_expression | ( assignment_expression | " -"expression !':=') !'=')+ b=[',' k=kwargs {k}] {\n" -" _PyPegen_collect_call_seqs(p, a, b, EXTRA) }\n" -" | a=kwargs { _PyAST_Call(_PyPegen_dummy_name(p),\n" -" CHECK_NULL_ALLOWED(asdl_expr_seq*, " -"_PyPegen_seq_extract_starred_exprs(p, a)),\n" -" CHECK_NULL_ALLOWED(asdl_keyword_seq*, " -"_PyPegen_seq_delete_starred_exprs(p, a)),\n" -" EXTRA) }\n" -"\n" -"kwargs[asdl_seq*]:\n" -" | a=','.kwarg_or_starred+ ',' b=','.kwarg_or_double_starred+ " -"{ _PyPegen_join_sequences(p, a, b) }\n" -" | ','.kwarg_or_starred+\n" -" | ','.kwarg_or_double_starred+\n" -"\n" -"starred_expression[expr_ty]:\n" -" | invalid_starred_expression_unpacking\n" -" | '*' a=expression { _PyAST_Starred(a, Load, EXTRA) }\n" -" | invalid_starred_expression\n" -"\n" -"kwarg_or_starred[KeywordOrStarred*]:\n" -" | invalid_kwarg\n" -" | a=NAME '=' b=expression {\n" -" _PyPegen_keyword_or_starred(p, CHECK(keyword_ty, _PyAST_keyword(a->v." -"Name.id, b, EXTRA)), 1) }\n" -" | a=starred_expression { _PyPegen_keyword_or_starred(p, a, 0) }\n" -"\n" -"kwarg_or_double_starred[KeywordOrStarred*]:\n" -" | invalid_kwarg\n" -" | a=NAME '=' b=expression {\n" -" _PyPegen_keyword_or_starred(p, CHECK(keyword_ty, _PyAST_keyword(a->v." -"Name.id, b, EXTRA)), 1) }\n" -" | '**' a=expression { _PyPegen_keyword_or_starred(p, CHECK(keyword_ty, " -"_PyAST_keyword(NULL, a, EXTRA)), 1) }\n" -"\n" -"# ASSIGNMENT TARGETS\n" -"# ==================\n" -"\n" -"# Generic targets\n" -"# ---------------\n" -"\n" -"# NOTE: star_targets may contain *bitwise_or, targets may not.\n" -"star_targets[expr_ty]:\n" -" | a=star_target !',' { a }\n" -" | a=star_target b=(',' c=star_target { c })* [','] {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, " -"a, b)), Store, EXTRA) }\n" -"\n" -"star_targets_list_seq[asdl_expr_seq*]: a[asdl_expr_seq*]=','.star_target+ " -"[','] { a }\n" -"\n" -"star_targets_tuple_seq[asdl_expr_seq*]:\n" -" | a=star_target b=(',' c=star_target { c })+ [','] { (asdl_expr_seq*) " -"_PyPegen_seq_insert_in_front(p, a, b) }\n" -" | a=star_target ',' { (asdl_expr_seq*) _PyPegen_singleton_seq(p, a) }\n" -"\n" -"star_target[expr_ty] (memo):\n" -" | '*' a=(!'*' star_target) {\n" -" _PyAST_Starred(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, " -"Store)), Store, EXTRA) }\n" -" | target_with_star_atom\n" -"\n" -"target_with_star_atom[expr_ty] (memo):\n" -" | a=t_primary '.' b=NAME !t_lookahead { _PyAST_Attribute(a, b->v.Name." -"id, Store, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' !t_lookahead { _PyAST_Subscript(a, b, " -"Store, EXTRA) }\n" -" | star_atom\n" -"\n" -"star_atom[expr_ty]:\n" -" | a=NAME { _PyPegen_set_expr_context(p, a, Store) }\n" -" | '(' a=target_with_star_atom ')' { _PyPegen_set_expr_context(p, a, " -"Store) }\n" -" | '(' a=[star_targets_tuple_seq] ')' { _PyAST_Tuple(a, Store, EXTRA) }\n" -" | '[' a=[star_targets_list_seq] ']' { _PyAST_List(a, Store, EXTRA) }\n" -"\n" -"single_target[expr_ty]:\n" -" | single_subscript_attribute_target\n" -" | a=NAME { _PyPegen_set_expr_context(p, a, Store) }\n" -" | '(' a=single_target ')' { a }\n" -"\n" -"single_subscript_attribute_target[expr_ty]:\n" -" | a=t_primary '.' b=NAME !t_lookahead { _PyAST_Attribute(a, b->v.Name." -"id, Store, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' !t_lookahead { _PyAST_Subscript(a, b, " -"Store, EXTRA) }\n" -"\n" -"t_primary[expr_ty]:\n" -" | a=t_primary '.' b=NAME &t_lookahead { _PyAST_Attribute(a, b->v.Name." -"id, Load, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' &t_lookahead { _PyAST_Subscript(a, b, " -"Load, EXTRA) }\n" -" | a=t_primary b=genexp &t_lookahead {\n" -" _PyAST_Call(a, CHECK(asdl_expr_seq*, " -"(asdl_expr_seq*)_PyPegen_singleton_seq(p, b)), NULL, EXTRA) }\n" -" | a=t_primary '(' b=[arguments] ')' &t_lookahead {\n" -" _PyAST_Call(a,\n" -" (b) ? ((expr_ty) b)->v.Call.args : NULL,\n" -" (b) ? ((expr_ty) b)->v.Call.keywords : NULL,\n" -" EXTRA) }\n" -" | a=atom &t_lookahead { a }\n" -"\n" -"t_lookahead: '(' | '[' | '.'\n" -"\n" -"# Targets for del statements\n" -"# --------------------------\n" -"\n" -"del_targets[asdl_expr_seq*]: a[asdl_expr_seq*]=','.del_target+ [','] { a }\n" -"\n" -"del_target[expr_ty] (memo):\n" -" | a=t_primary '.' b=NAME !t_lookahead { _PyAST_Attribute(a, b->v.Name." -"id, Del, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' !t_lookahead { _PyAST_Subscript(a, b, " -"Del, EXTRA) }\n" -" | del_t_atom\n" -"\n" -"del_t_atom[expr_ty]:\n" -" | a=NAME { _PyPegen_set_expr_context(p, a, Del) }\n" -" | '(' a=del_target ')' { _PyPegen_set_expr_context(p, a, Del) }\n" -" | '(' a=[del_targets] ')' { _PyAST_Tuple(a, Del, EXTRA) }\n" -" | '[' a=[del_targets] ']' { _PyAST_List(a, Del, EXTRA) }\n" -"\n" -"# TYPING ELEMENTS\n" -"# ---------------\n" -"\n" -"# type_expressions allow */** but ignore them\n" -"type_expressions[asdl_expr_seq*]:\n" -" | a=','.expression+ ',' '*' b=expression ',' '**' c=expression {\n" -" (asdl_expr_seq*)_PyPegen_seq_append_to_end(\n" -" p,\n" -" CHECK(asdl_seq*, _PyPegen_seq_append_to_end(p, a, b)),\n" -" c) }\n" -" | a=','.expression+ ',' '*' b=expression " -"{ (asdl_expr_seq*)_PyPegen_seq_append_to_end(p, a, b) }\n" -" | a=','.expression+ ',' '**' b=expression " -"{ (asdl_expr_seq*)_PyPegen_seq_append_to_end(p, a, b) }\n" -" | '*' a=expression ',' '**' b=expression {\n" -" (asdl_expr_seq*)_PyPegen_seq_append_to_end(\n" -" p,\n" -" CHECK(asdl_seq*, _PyPegen_singleton_seq(p, a)),\n" -" b) }\n" -" | '*' a=expression { (asdl_expr_seq*)_PyPegen_singleton_seq(p, a) }\n" -" | '**' a=expression { (asdl_expr_seq*)_PyPegen_singleton_seq(p, a) }\n" -" | a[asdl_expr_seq*]=','.expression+ {a}\n" -"\n" -"func_type_comment[Token*]:\n" -" | NEWLINE t=TYPE_COMMENT &(NEWLINE INDENT) { t } # Must be followed by " -"indented block\n" -" | invalid_double_type_comments\n" -" | TYPE_COMMENT\n" -"\n" -"# ========================= END OF THE GRAMMAR ===========================\n" -"\n" -"\n" -"\n" -"# ========================= START OF INVALID RULES =======================\n" -"\n" -"# From here on, there are rules for invalid syntax with specialised error " -"messages\n" -"invalid_arguments:\n" -" | ((','.(starred_expression | ( assignment_expression | expression !':" -"=') !'=')+ ',' kwargs) | kwargs) a=',' ','.(starred_expression !'=')+ {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"iterable argument unpacking " -"follows keyword argument unpacking\") }\n" -" | a=expression b=for_if_clauses ',' [args | expression for_if_clauses] " -"{\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, " -"_PyPegen_get_last_comprehension_item(PyPegen_last_item(b, " -"comprehension_ty)), \"Generator expression must be parenthesized\") }\n" -" | a=NAME b='=' expression for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Maybe you " -"meant '==' or ':=' instead of '='?\")}\n" -" | (args ',')? a=NAME b='=' &(',' | ')') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"expected argument value " -"expression\")}\n" -" | a=args b=for_if_clauses { _PyPegen_nonparen_genexp_in_call(p, a, b) }\n" -" | args ',' a=expression b=for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, " -"_PyPegen_get_last_comprehension_item(PyPegen_last_item(b, " -"comprehension_ty)), \"Generator expression must be parenthesized\") }\n" -" | a=args ',' args { _PyPegen_arguments_parsing_error(p, a) }\n" -"invalid_kwarg:\n" -" | a[Token*]=('True'|'False'|'None') b='=' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot assign to %s\", " -"PyBytes_AS_STRING(a->bytes)) }\n" -" | a=NAME b='=' expression for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Maybe you " -"meant '==' or ':=' instead of '='?\")}\n" -" | !(NAME '=') a=expression b='=' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(\n" -" a, b, \"expression cannot contain assignment, perhaps you meant " -"\\\"==\\\"?\") }\n" -" | a='**' expression '=' b=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot assign to keyword " -"argument unpacking\") }\n" -"\n" -"# IMPORTANT: Note that the \"_without_invalid\" suffix causes the rule to " -"not call invalid rules under it\n" -"expression_without_invalid[expr_ty]:\n" -" | a=disjunction 'if' b=disjunction 'else' c=expression { _PyAST_IfExp(b, " -"a, c, EXTRA) }\n" -" | disjunction\n" -" | lambdef\n" -"invalid_legacy_expression:\n" -" | a=NAME !'(' b=star_expressions {\n" -" _PyPegen_check_legacy_stmt(p, a) ? RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, " -"b,\n" -" \"Missing parentheses in call to '%U'. Did you mean %U(...)?\", " -"a->v.Name.id, a->v.Name.id) : NULL}\n" -"\n" -"invalid_type_param:\n" -" | '*' a=NAME colon=':' e=expression {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(colon, e->kind == Tuple_kind\n" -" ? \"cannot use constraints with TypeVarTuple\"\n" -" : \"cannot use bound with TypeVarTuple\")\n" -" }\n" -" | '**' a=NAME colon=':' e=expression {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(colon, e->kind == Tuple_kind\n" -" ? \"cannot use constraints with ParamSpec\"\n" -" : \"cannot use bound with ParamSpec\")\n" -" }\n" -"\n" -"invalid_expression:\n" -" | STRING a=(!STRING expression_without_invalid)+ STRING {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE( PyPegen_first_item(a, expr_ty), " -"PyPegen_last_item(a, expr_ty),\n" -" \"invalid syntax. Is this intended to be part of the string?\") }\n" -" # !(NAME STRING) is not matched so we don't show this error with some " -"invalid string prefixes like: kf\"dsfsdf\"\n" -" # Soft keywords need to also be ignored because they can be parsed as " -"NAME NAME\n" -" | !(NAME STRING | SOFT_KEYWORD) a=disjunction " -"b=expression_without_invalid {\n" -" _PyPegen_check_legacy_stmt(p, a) ? NULL : p->tokens[p->mark-1]-" -">level == 0 ? NULL :\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Perhaps you " -"forgot a comma?\") }\n" -" | a=disjunction 'if' b=disjunction !('else'|':') " -"{ RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"expected 'else' after 'if' " -"expression\") }\n" -" | a=disjunction 'if' b=disjunction 'else' !expression {\n" -" RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"expected expression after 'else', " -"but statement is given\") }\n" -" | a[stmt_ty]=(pass_stmt|break_stmt|continue_stmt) 'if' b=disjunction " -"'else' c=simple_stmt {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION (a, \"expected expression before " -"'if', but statement is given\") }\n" -" | a='lambda' [lambda_params] b=':' &FSTRING_MIDDLE {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"f-string: lambda expressions " -"are not allowed without parentheses\") }\n" -" | a='lambda' [lambda_params] b=':' &TSTRING_MIDDLE {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"t-string: lambda expressions " -"are not allowed without parentheses\") }\n" -"\n" -"invalid_named_expression(memo):\n" -" | a=expression ':=' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use assignment expressions with %s\", " -"_PyPegen_get_expr_name(a)) }\n" -" | a=NAME '=' b=bitwise_or !('='|':=') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Maybe you " -"meant '==' or ':=' instead of '='?\") }\n" -" | !(list|tuple|genexp|'True'|'None'|'False') a=bitwise_or b='=' " -"bitwise_or !('='|':=') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot assign to %s here. " -"Maybe you meant '==' instead of '='?\",\n" -" _PyPegen_get_expr_name(a)) }\n" -"\n" -"invalid_assignment:\n" -" | a=invalid_ann_assign_target ':' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a,\n" -" \"only single target (not %s) can be annotated\",\n" -" _PyPegen_get_expr_name(a)\n" -" )}\n" -" | a=star_named_expression ',' star_named_expressions* ':' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"only single target (not " -"tuple) can be annotated\") }\n" -" | a=expression ':' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"illegal target for " -"annotation\") }\n" -" | (star_targets '=')* a=star_expressions '=' {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(STAR_TARGETS, a) }\n" -" | (star_targets '=')* a=yield_expr " -"'=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"assignment to yield expression " -"not possible\") }\n" -" | a=star_expressions augassign annotated_rhs {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a,\n" -" \"'%s' is an illegal expression for augmented assignment\",\n" -" _PyPegen_get_expr_name(a)\n" -" )}\n" -"invalid_ann_assign_target[expr_ty]:\n" -" | list\n" -" | tuple\n" -" | '(' a=invalid_ann_assign_target ')' { a }\n" -"invalid_del_stmt:\n" -" | 'del' a=star_expressions {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(DEL_TARGETS, a) }\n" -"invalid_block:\n" -" | NEWLINE !INDENT { RAISE_INDENTATION_ERROR(\"expected an indented " -"block\") }\n" -"invalid_comprehension:\n" -" | ('[' | '(' | '{') a=starred_expression for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"iterable unpacking cannot be " -"used in comprehension\") }\n" -" | ('[' | '{') a=star_named_expression ',' b=star_named_expressions " -"for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, PyPegen_last_item(b, expr_ty),\n" -" \"did you forget parentheses around the comprehension target?\") }\n" -" | ('[' | '{') a=star_named_expression b=',' for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"did you forget parentheses " -"around the comprehension target?\") }\n" -"invalid_dict_comprehension:\n" -" | '{' a='**' bitwise_or for_if_clauses '}' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"dict unpacking cannot be used " -"in dict comprehension\") }\n" -"invalid_parameters:\n" -" | a=\"/\" ',' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"at least one argument must " -"precede /\") }\n" -" | (slash_no_default | slash_with_default) param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ may appear only once\") }\n" -" | slash_no_default? param_no_default* invalid_parameters_helper " -"a=param_no_default {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"parameter without a default " -"follows parameter with a default\") }\n" -" | param_no_default* a='(' param_no_default+ ','? b=')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"Function parameters cannot be " -"parenthesized\") }\n" -" | (slash_no_default | slash_with_default)? param_maybe_default* '*' (',' " -"| param_no_default) param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ must be ahead of *\") }\n" -" | param_maybe_default+ '/' a='*' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expected comma between / and " -"*\") }\n" -"invalid_default:\n" -" | a='=' &(')'|',') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expected " -"default value expression\") }\n" -"invalid_star_etc:\n" -" | a='*' (')' | ',' (')' | '**')) { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, " -"\"named arguments must follow bare *\") }\n" -" | '*' ',' TYPE_COMMENT { RAISE_SYNTAX_ERROR(\"bare * has associated type " -"comment\") }\n" -" | '*' param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-" -"positional argument cannot have default value\") }\n" -" | '*' (param_no_default | ',') param_maybe_default* " -"a='*' (param_no_default | ',') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"* argument may appear only " -"once\") }\n" -"invalid_kwds:\n" -" | '**' param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-keyword " -"argument cannot have default value\") }\n" -" | '**' param ',' a=param { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, " -"\"arguments cannot follow var-keyword argument\") }\n" -" | '**' param ',' a[Token*]=('*'|'**'|'/') " -"{ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword " -"argument\") }\n" -"invalid_parameters_helper: # This is only there to avoid type errors\n" -" | a=slash_with_default { _PyPegen_singleton_seq(p, a) }\n" -" | param_with_default+\n" -"invalid_lambda_parameters:\n" -" | a=\"/\" ',' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"at least one argument must " -"precede /\") }\n" -" | (lambda_slash_no_default | lambda_slash_with_default) " -"lambda_param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ may appear only once\") }\n" -" | lambda_slash_no_default? lambda_param_no_default* " -"invalid_lambda_parameters_helper a=lambda_param_no_default {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"parameter without a default " -"follows parameter with a default\") }\n" -" | lambda_param_no_default* a='(' ','.lambda_param+ ','? b=')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"Lambda expression parameters " -"cannot be parenthesized\") }\n" -" | (lambda_slash_no_default | lambda_slash_with_default)? " -"lambda_param_maybe_default* '*' (',' | lambda_param_no_default) " -"lambda_param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ must be ahead of *\") }\n" -" | lambda_param_maybe_default+ '/' a='*' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expected comma between / and " -"*\") }\n" -"invalid_lambda_parameters_helper:\n" -" | a=lambda_slash_with_default { _PyPegen_singleton_seq(p, a) }\n" -" | lambda_param_with_default+\n" -"invalid_lambda_star_etc:\n" -" | '*' (':' | ',' (':' | '**')) { RAISE_SYNTAX_ERROR(\"named arguments " -"must follow bare *\") }\n" -" | '*' lambda_param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-" -"positional argument cannot have default value\") }\n" -" | '*' (lambda_param_no_default | ',') lambda_param_maybe_default* " -"a='*' (lambda_param_no_default | ',') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"* argument may appear only " -"once\") }\n" -"invalid_lambda_kwds:\n" -" | '**' lambda_param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-" -"keyword argument cannot have default value\") }\n" -" | '**' lambda_param ',' a=lambda_param " -"{ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword " -"argument\") }\n" -" | '**' lambda_param ',' a[Token*]=('*'|'**'|'/') " -"{ RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword " -"argument\") }\n" -"invalid_double_type_comments:\n" -" | TYPE_COMMENT NEWLINE TYPE_COMMENT NEWLINE INDENT {\n" -" RAISE_SYNTAX_ERROR(\"Cannot have two type comments on def\") }\n" -"invalid_with_item:\n" -" | expression 'as' a=expression &(',' | ')' | ':') {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(STAR_TARGETS, a) }\n" -"\n" -"invalid_for_if_clause:\n" -" | 'async'? 'for' (bitwise_or (',' bitwise_or)* [',']) !'in' {\n" -" RAISE_SYNTAX_ERROR(\"'in' expected after for-loop variables\") }\n" -"\n" -"invalid_for_target:\n" -" | 'async'? 'for' a=star_expressions {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(FOR_TARGETS, a) }\n" -"\n" -"invalid_group:\n" -" | '(' a=starred_expression ')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot use starred expression " -"here\") }\n" -" | '(' a='**' expression ')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot use double starred " -"expression here\") }\n" -"invalid_import:\n" -" | a='import' ','.dotted_name+ 'from' dotted_name {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"Did you mean to use 'from ... " -"import ...' instead?\") }\n" -" | 'import' token=NEWLINE {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(token, \"Expected one or more names " -"after 'import'\") }\n" -"invalid_dotted_as_name:\n" -" | dotted_name 'as' !(NAME (',' | ')' | NEWLINE)) a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a,\n" -" \"cannot use %s as import target\", " -"_PyPegen_get_expr_name(a)) }\n" -"invalid_import_from_as_name:\n" -" | NAME 'as' !(NAME (',' | ')' | NEWLINE)) a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a,\n" -" \"cannot use %s as import target\", " -"_PyPegen_get_expr_name(a)) }\n" -"\n" -"invalid_import_from_targets:\n" -" | import_from_as_names ',' NEWLINE {\n" -" RAISE_SYNTAX_ERROR(\"trailing comma not allowed without surrounding " -"parentheses\") }\n" -" | token=NEWLINE {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(token, \"Expected one or more names " -"after 'import'\") }\n" -"\n" -"invalid_with_stmt:\n" -" | ['async'] 'with' ','.(expression ['as' star_target])+ NEWLINE " -"{ RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | ['async'] 'with' '(' ','.(expressions ['as' star_target])+ ','? ')' " -"NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -"invalid_with_stmt_indent:\n" -" | ['async'] a='with' ','.(expression ['as' star_target])+ ':' NEWLINE !" -"INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'with' " -"statement on line %d\", a->lineno) }\n" -" | ['async'] a='with' '(' ','.(expressions ['as' star_target])+ ','? ')' " -"':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'with' " -"statement on line %d\", a->lineno) }\n" -"\n" -"invalid_try_stmt:\n" -" | a='try' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'try' " -"statement on line %d\", a->lineno) }\n" -" | 'try' ':' block !('except' | 'finally') " -"{ RAISE_SYNTAX_ERROR(\"expected 'except' or 'finally' block\") }\n" -" | 'try' ':' block* except_block+ a='except' b='*' expression ['as' NAME] " -"':' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot have both 'except' and " -"'except*' on the same 'try'\") }\n" -" | 'try' ':' block* except_star_block+ a='except' [expression ['as' " -"NAME]] ':' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot have both 'except' and " -"'except*' on the same 'try'\") }\n" -"invalid_except_stmt:\n" -" | 'except' a=expression ',' expressions 'as' NAME ':' {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"multiple exception types must " -"be parenthesized when using 'as'\") }\n" -" | a='except' expression ['as' NAME ] NEWLINE " -"{ RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='except' NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | 'except' expression 'as' a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use except statement with %s\", " -"_PyPegen_get_expr_name(a)) }\n" -"invalid_except_star_stmt:\n" -" | 'except' '*' a=expression ',' expressions 'as' NAME ':' {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"multiple exception types must " -"be parenthesized when using 'as'\") }\n" -" | a='except' '*' expression ['as' NAME ] NEWLINE " -"{ RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='except' '*' (NEWLINE | ':') { RAISE_SYNTAX_ERROR(\"expected one or " -"more exception types\") }\n" -" | 'except' '*' expression 'as' a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use except* statement with %s\", " -"_PyPegen_get_expr_name(a)) }\n" -"invalid_finally_stmt:\n" -" | a='finally' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'finally' " -"statement on line %d\", a->lineno) }\n" -"invalid_except_stmt_indent:\n" -" | a='except' expression ['as' NAME ] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'except' " -"statement on line %d\", a->lineno) }\n" -" | a='except' ':' NEWLINE !INDENT { RAISE_INDENTATION_ERROR(\"expected an " -"indented block after 'except' statement on line %d\", a->lineno) }\n" -"invalid_except_star_stmt_indent:\n" -" | a='except' '*' expression ['as' NAME ] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'except*' " -"statement on line %d\", a->lineno) }\n" -"invalid_match_stmt:\n" -" | \"match\" subject_expr NEWLINE { CHECK_VERSION(void*, 10, \"Pattern " -"matching is\", RAISE_SYNTAX_ERROR(\"expected ':'\") ) }\n" -" | a=\"match\" subject=subject_expr ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'match' " -"statement on line %d\", a->lineno) }\n" -"invalid_case_block:\n" -" | \"case\" patterns guard? NEWLINE { RAISE_SYNTAX_ERROR(\"expected " -"':'\") }\n" -" | a=\"case\" patterns guard? ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'case' " -"statement on line %d\", a->lineno) }\n" -"invalid_as_pattern:\n" -" | or_pattern 'as' a=\"_\" { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, " -"\"cannot use '_' as a target\") }\n" -" | or_pattern 'as' a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use %s as pattern target\", " -"_PyPegen_get_expr_name(a)) }\n" -"invalid_class_pattern:\n" -" | name_or_attr '(' a=invalid_class_argument_pattern " -"{ RAISE_SYNTAX_ERROR_KNOWN_RANGE(\n" -" PyPegen_first_item(a, pattern_ty),\n" -" PyPegen_last_item(a, pattern_ty),\n" -" \"positional patterns follow keyword patterns\") }\n" -"invalid_class_argument_pattern[asdl_pattern_seq*]:\n" -" | [positional_patterns ','] keyword_patterns ',' a=positional_patterns " -"{ a }\n" -"invalid_if_stmt:\n" -" | 'if' named_expression NEWLINE { RAISE_SYNTAX_ERROR(\"expected " -"':'\") }\n" -" | a='if' a=named_expression ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'if' " -"statement on line %d\", a->lineno) }\n" -"invalid_elif_stmt:\n" -" | 'elif' named_expression NEWLINE { RAISE_SYNTAX_ERROR(\"expected " -"':'\") }\n" -" | a='elif' named_expression ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'elif' " -"statement on line %d\", a->lineno) }\n" -"invalid_else_stmt:\n" -" | a='else' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'else' " -"statement on line %d\", a->lineno) }\n" -" | 'else' ':' block 'elif' { RAISE_SYNTAX_ERROR(\"'elif' block follows an " -"'else' block\")}\n" -"invalid_while_stmt:\n" -" | 'while' named_expression NEWLINE { RAISE_SYNTAX_ERROR(\"expected " -"':'\") }\n" -" | a='while' named_expression ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'while' " -"statement on line %d\", a->lineno) }\n" -"invalid_for_stmt:\n" -" | ['async'] 'for' star_targets 'in' star_expressions NEWLINE " -"{ RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | ['async'] a='for' star_targets 'in' star_expressions ':' NEWLINE !" -"INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'for' " -"statement on line %d\", a->lineno) }\n" -"invalid_def_raw:\n" -" | ['async'] a='def' NAME [type_params] '(' [params] ')' ['->' " -"expression] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after function " -"definition on line %d\", a->lineno) }\n" -" | ['async'] 'def' NAME [type_params] &&'(' [params] ')' ['->' " -"expression] &&':' [func_type_comment] block\n" -"invalid_class_def_raw:\n" -" | 'class' NAME [type_params] ['(' [arguments] ')'] NEWLINE " -"{ RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='class' NAME [type_params] ['(' [arguments] ')'] ':' NEWLINE !INDENT " -"{\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after class " -"definition on line %d\", a->lineno) }\n" -"\n" -"invalid_double_starred_kvpairs:\n" -" | ','.double_starred_kvpair+ ',' invalid_kvpair\n" -" | expression ':' a='*' bitwise_or { RAISE_SYNTAX_ERROR_STARTING_FROM(a, " -"\"cannot use a starred expression in a dictionary value\") }\n" -" | expression a=':' &('}'|',') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, " -"\"expression expected after dictionary key and ':'\") }\n" -"invalid_kvpair:\n" -" | a=expression !(':') {\n" -" RAISE_ERROR_KNOWN_LOCATION(p, PyExc_SyntaxError, a->lineno, a-" -">end_col_offset - 1, a->end_lineno, -1, \"':' expected after dictionary " -"key\") }\n" -" | expression ':' a='*' bitwise_or { RAISE_SYNTAX_ERROR_STARTING_FROM(a, " -"\"cannot use a starred expression in a dictionary value\") }\n" -" | expression a=':' &('}'|',') {RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, " -"\"expression expected after dictionary key and ':'\") }\n" -"invalid_starred_expression_unpacking:\n" -" | a='*' expression '=' b=expression { RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, " -"b, \"cannot assign to iterable argument unpacking\") }\n" -"invalid_starred_expression:\n" -" | '*' { RAISE_SYNTAX_ERROR(\"Invalid star expression\") }\n" -"\n" -"invalid_fstring_replacement_field:\n" -" | '{' a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid " -"expression required before '='\") }\n" -" | '{' a='!' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid " -"expression required before '!'\") }\n" -" | '{' a=':' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid " -"expression required before ':'\") }\n" -" | '{' a='}' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid " -"expression required before '}'\") }\n" -" | '{' !annotated_rhs { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: " -"expecting a valid expression after '{'\") }\n" -" | '{' annotated_rhs !('=' | '!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-" -"string: expecting '=', or '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '=' !('!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-" -"string: expecting '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '='? invalid_fstring_conversion_character\n" -" | '{' annotated_rhs '='? ['!' NAME] !(':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-" -"string: expecting ':' or '}'\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] ':' fstring_format_spec* !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-" -"string: expecting '}', or format specs\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-" -"string: expecting '}'\") }\n" -"\n" -"invalid_fstring_conversion_character:\n" -" | '!' &(':' | '}') { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: " -"missing conversion character\") }\n" -" | '!' !NAME { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: invalid " -"conversion character\") }\n" -"\n" -"invalid_tstring_replacement_field:\n" -" | '{' a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid " -"expression required before '='\") }\n" -" | '{' a='!' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid " -"expression required before '!'\") }\n" -" | '{' a=':' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid " -"expression required before ':'\") }\n" -" | '{' a='}' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid " -"expression required before '}'\") }\n" -" | '{' !annotated_rhs { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: " -"expecting a valid expression after '{'\") }\n" -" | '{' annotated_rhs !('=' | '!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-" -"string: expecting '=', or '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '=' !('!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-" -"string: expecting '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '='? invalid_tstring_conversion_character\n" -" | '{' annotated_rhs '='? ['!' NAME] !(':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-" -"string: expecting ':' or '}'\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] ':' fstring_format_spec* !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-" -"string: expecting '}', or format specs\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-" -"string: expecting '}'\") }\n" -"\n" -"invalid_tstring_conversion_character:\n" -" | '!' &(':' | '}') { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: " -"missing conversion character\") }\n" -" | '!' !NAME { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: invalid " -"conversion character\") }\n" -"\n" -"invalid_arithmetic:\n" -" | sum ('+'|'-'|'*'|'/'|'%'|'//'|'@') a='not' b=inversion " -"{ RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"'not' after an operator must be " -"parenthesized\") }\n" -"invalid_factor:\n" -" | ('+' | '-' | '~') a='not' b=factor { RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, " -"b, \"'not' after an operator must be parenthesized\") }\n" -"\n" -"invalid_type_params:\n" -" | '[' token=']' {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(\n" -" token,\n" -" \"Type parameter list cannot be empty\")}\n" +"``~`` (\"cut\"): commit to the current alternative; fail the rule if the " +"alternative fails to parse" +msgstr "" + +msgid "" +"Python mainly uses cuts for optimizations or improved error messages. They " +"often appear to be useless in the listing below." +msgstr "" + +msgid "" +"Cuts currently don't appear inside parentheses, brackets, lookaheads and " +"similar. Their behavior in these contexts is deliberately left unspecified." msgstr "" diff --git a/reference/import.po b/reference/import.po index 9f9f502db3..77c874ca50 100644 --- a/reference/import.po +++ b/reference/import.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1011,9 +1010,7 @@ msgstr "" msgid "" "If it is acceptable to only alter the behaviour of import statements without " "affecting other APIs that access the import system, then replacing the " -"builtin :func:`__import__` function may be sufficient. This technique may " -"also be employed at the module level to only alter the behaviour of import " -"statements within that module." +"builtin :func:`__import__` function may be sufficient." msgstr "" msgid "" diff --git a/reference/index.po b/reference/index.po index 135aa0058d..f336c1bd9f 100644 --- a/reference/index.po +++ b/reference/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/reference/introduction.po b/reference/introduction.po index 3bd90757a5..391b813bb8 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -141,50 +140,163 @@ msgid "Notation" msgstr "" msgid "" -"The descriptions of lexical analysis and syntax use a modified `Backus–Naur " -"form (BNF) `_ " -"grammar notation. This uses the following style of definition:" +"The descriptions of lexical analysis and syntax use a grammar notation that " +"is a mixture of `EBNF `_ and `PEG `_. For example:" msgstr "" msgid "" -"The first line says that a ``name`` is an ``lc_letter`` followed by a " -"sequence of zero or more ``lc_letter``\\ s and underscores. An " -"``lc_letter`` in turn is any of the single characters ``'a'`` through " -"``'z'``. (This rule is actually adhered to for the names defined in lexical " -"and grammar rules in this document.)" +"In this example, the first line says that a ``name`` is a ``letter`` " +"followed by a sequence of zero or more ``letter``\\ s, ``digit``\\ s, and " +"underscores. A ``letter`` in turn is any of the single characters ``'a'`` " +"through ``'z'`` and ``A`` through ``Z``; a ``digit`` is a single character " +"from ``0`` to ``9``." msgstr "" msgid "" -"Each rule begins with a name (which is the name defined by the rule) and ``::" -"=``. A vertical bar (``|``) is used to separate alternatives; it is the " -"least binding operator in this notation. A star (``*``) means zero or more " -"repetitions of the preceding item; likewise, a plus (``+``) means one or " -"more repetitions, and a phrase enclosed in square brackets (``[ ]``) means " -"zero or one occurrences (in other words, the enclosed phrase is optional). " -"The ``*`` and ``+`` operators bind as tightly as possible; parentheses are " -"used for grouping. Literal strings are enclosed in quotes. White space is " -"only meaningful to separate tokens. Rules are normally contained on a single " -"line; rules with many alternatives may be formatted alternatively with each " -"line after the first beginning with a vertical bar." +"Each rule begins with a name (which identifies the rule that's being " +"defined) followed by a colon, ``:``. The definition to the right of the " +"colon uses the following syntax elements:" msgstr "" msgid "" -"In lexical definitions (as the example above), two more conventions are " -"used: Two literal characters separated by three dots mean a choice of any " -"single character in the given (inclusive) range of ASCII characters. A " -"phrase between angular brackets (``<...>``) gives an informal description of " -"the symbol defined; e.g., this could be used to describe the notion of " -"'control character' if needed." +"``name``: A name refers to another rule. Where possible, it is a link to the " +"rule's definition." msgstr "" msgid "" -"Even though the notation used is almost the same, there is a big difference " -"between the meaning of lexical and syntactic definitions: a lexical " -"definition operates on the individual characters of the input source, while " -"a syntax definition operates on the stream of tokens generated by the " -"lexical analysis. All uses of BNF in the next chapter (\"Lexical Analysis\") " -"are lexical definitions; uses in subsequent chapters are syntactic " -"definitions." +"``TOKEN``: An uppercase name refers to a :term:`token`. For the purposes of " +"grammar definitions, tokens are the same as rules." +msgstr "" + +msgid "" +"``\"text\"``, ``'text'``: Text in single or double quotes must match " +"literally (without the quotes). The type of quote is chosen according to the " +"meaning of ``text``:" +msgstr "" + +msgid "``'if'``: A name in single quotes denotes a :ref:`keyword `." +msgstr "" + +msgid "" +"``\"case\"``: A name in double quotes denotes a :ref:`soft-keyword `." +msgstr "" + +msgid "" +"``'@'``: A non-letter symbol in single quotes denotes an :py:data:`~token." +"OP` token, that is, a :ref:`delimiter ` or :ref:`operator " +"`." +msgstr "" + +msgid "" +"``e1 e2``: Items separated only by whitespace denote a sequence. Here, " +"``e1`` must be followed by ``e2``." +msgstr "" + +msgid "" +"``e1 | e2``: A vertical bar is used to separate alternatives. It denotes " +"PEG's \"ordered choice\": if ``e1`` matches, ``e2`` is not considered. In " +"traditional PEG grammars, this is written as a slash, ``/``, rather than a " +"vertical bar. See :pep:`617` for more background and details." +msgstr "" + +msgid "``e*``: A star means zero or more repetitions of the preceding item." +msgstr "" + +msgid "``e+``: Likewise, a plus means one or more repetitions." +msgstr "" + +msgid "" +"``[e]``: A phrase enclosed in square brackets means zero or one occurrences. " +"In other words, the enclosed phrase is optional." +msgstr "" + +msgid "" +"``e?``: A question mark has exactly the same meaning as square brackets: the " +"preceding item is optional." +msgstr "" + +msgid "``(e)``: Parentheses are used for grouping." +msgstr "" + +msgid "" +"The following notation is only used in :ref:`lexical definitions `." +msgstr "" + +msgid "" +"``\"a\"...\"z\"``: Two literal characters separated by three dots mean a " +"choice of any single character in the given (inclusive) range of ASCII " +"characters." +msgstr "" + +msgid "" +"``<...>``: A phrase between angular brackets gives an informal description " +"of the matched symbol (for example, ````), or an abbreviation that is defined in nearby text (for example, " +"````)." +msgstr "" + +msgid "" +"Some definitions also use *lookaheads*, which indicate that an element must " +"(or must not) match at a given position, but without consuming any input:" +msgstr "" + +msgid "``&e``: a positive lookahead (that is, ``e`` is required to match)" +msgstr "" + +msgid "" +"``!e``: a negative lookahead (that is, ``e`` is required *not* to match)" +msgstr "" + +msgid "" +"The unary operators (``*``, ``+``, ``?``) bind as tightly as possible; the " +"vertical bar (``|``) binds most loosely." +msgstr "" + +msgid "White space is only meaningful to separate tokens." +msgstr "" + +msgid "" +"Rules are normally contained on a single line, but rules that are too long " +"may be wrapped:" +msgstr "" + +msgid "" +"Alternatively, rules may be formatted with the first line ending at the " +"colon, and each alternative beginning with a vertical bar on a new line. For " +"example:" +msgstr "" + +msgid "This does *not* mean that there is an empty first alternative." +msgstr "" + +msgid "Lexical and Syntactic definitions" +msgstr "" + +msgid "" +"There is some difference between *lexical* and *syntactic* analysis: the :" +"term:`lexical analyzer` operates on the individual characters of the input " +"source, while the *parser* (syntactic analyzer) operates on the stream of :" +"term:`tokens ` generated by the lexical analysis. However, in some " +"cases the exact boundary between the two phases is a CPython implementation " +"detail." +msgstr "" + +msgid "" +"The practical difference between the two is that in *lexical* definitions, " +"all whitespace is significant. The lexical analyzer :ref:`discards " +"` all whitespace that is not converted to tokens like :data:" +"`token.INDENT` or :data:`~token.NEWLINE`. *Syntactic* definitions then use " +"these tokens, rather than source characters." +msgstr "" + +msgid "" +"This documentation uses the same BNF grammar for both styles of definitions. " +"All uses of BNF in the next chapter (:ref:`lexical`) are lexical " +"definitions; uses in subsequent chapters are syntactic definitions." msgstr "" msgid "BNF" @@ -201,6 +313,3 @@ msgstr "" msgid "lexical definitions" msgstr "" - -msgid "ASCII" -msgstr "" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index e1228a762e..b5d82e648c 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,15 +29,129 @@ msgstr "" msgid "" "A Python program is read by a *parser*. Input to the parser is a stream of :" "term:`tokens `, generated by the *lexical analyzer* (also known as " -"the *tokenizer*). This chapter describes how the lexical analyzer breaks a " -"file into tokens." +"the *tokenizer*). This chapter describes how the lexical analyzer produces " +"these tokens." msgstr "" msgid "" -"Python reads program text as Unicode code points; the encoding of a source " -"file can be given by an encoding declaration and defaults to UTF-8, see :pep:" -"`3120` for details. If the source file cannot be decoded, a :exc:" -"`SyntaxError` is raised." +"The lexical analyzer determines the program text's :ref:`encoding " +"` (UTF-8 by default), and decodes the text into :ref:`source " +"characters `. If the text cannot be decoded, a :" +"exc:`SyntaxError` is raised." +msgstr "" + +msgid "" +"Next, the lexical analyzer uses the source characters to generate a stream " +"of tokens. The type of a generated token generally depends on the next " +"source character to be processed. Similarly, other special behavior of the " +"analyzer depends on the first source character that hasn't yet been " +"processed. The following table gives a quick summary of these source " +"characters, with links to sections that contain more information." +msgstr "" + +msgid "Character" +msgstr "Znak" + +msgid "Next token (or other relevant documentation)" +msgstr "" + +msgid "space" +msgstr "" + +msgid "tab" +msgstr "" + +msgid "formfeed" +msgstr "" + +msgid ":ref:`Whitespace `" +msgstr "" + +msgid "CR, LF" +msgstr "" + +msgid ":ref:`New line `" +msgstr "" + +msgid ":ref:`Indentation `" +msgstr "" + +msgid "backslash (``\\``)" +msgstr "" + +msgid ":ref:`Explicit line joining `" +msgstr "" + +msgid "(Also significant in :ref:`string escape sequences `)" +msgstr "" + +msgid "hash (``#``)" +msgstr "" + +msgid ":ref:`Comment `" +msgstr "" + +msgid "quote (``'``, ``\"``)" +msgstr "" + +msgid ":ref:`String literal `" +msgstr "" + +msgid "ASCII letter (``a``-``z``, ``A``-``Z``)" +msgstr "" + +msgid "non-ASCII character" +msgstr "" + +msgid ":ref:`Name `" +msgstr "" + +msgid "Prefixed :ref:`string or bytes literal `" +msgstr "" + +msgid "underscore (``_``)" +msgstr "" + +msgid "(Can also be part of :ref:`numeric literals `)" +msgstr "" + +msgid "number (``0``-``9``)" +msgstr "" + +msgid ":ref:`Numeric literal `" +msgstr "" + +msgid "dot (``.``)" +msgstr "" + +msgid ":ref:`Operator `" +msgstr "" + +msgid "question mark (``?``)" +msgstr "" + +msgid "dollar (``$``)" +msgstr "" + +msgid "backquote (``​`​``)" +msgstr "" + +msgid "control character" +msgstr "" + +msgid "Error (outside string literals and comments)" +msgstr "" + +msgid "other printing character" +msgstr "" + +msgid ":ref:`Operator or delimiter `" +msgstr "" + +msgid "end of file" +msgstr "" + +msgid ":ref:`End marker `" msgstr "" msgid "Line structure" @@ -55,26 +168,42 @@ msgid "" "NEWLINE`. Statements cannot cross logical line boundaries except where :data:" "`!NEWLINE` is allowed by the syntax (e.g., between statements in compound " "statements). A logical line is constructed from one or more *physical lines* " -"by following the explicit or implicit *line joining* rules." +"by following the :ref:`explicit ` or :ref:`implicit " +"` *line joining* rules." msgstr "" msgid "Physical lines" msgstr "" msgid "" -"A physical line is a sequence of characters terminated by an end-of-line " -"sequence. In source files and strings, any of the standard platform line " -"termination sequences can be used - the Unix form using ASCII LF (linefeed), " +"A physical line is a sequence of characters terminated by one the following " +"end-of-line sequences:" +msgstr "" + +msgid "the Unix form using ASCII LF (linefeed)," +msgstr "" + +msgid "" "the Windows form using the ASCII sequence CR LF (return followed by " -"linefeed), or the old Macintosh form using the ASCII CR (return) character. " -"All of these forms can be used equally, regardless of platform. The end of " -"input also serves as an implicit terminator for the final physical line." +"linefeed)," +msgstr "" + +msgid "the '`Classic Mac OS`__' form using the ASCII CR (return) character." +msgstr "" + +msgid "" +"Regardless of platform, each of these sequences is replaced by a single " +"ASCII LF (linefeed) character. (This is done even inside :ref:`string " +"literals `.) Each line can use any of the sequences; they do not " +"need to be consistent within a file." msgstr "" msgid "" -"When embedding Python, source code strings should be passed to Python APIs " -"using the standard C conventions for newline characters (the ``\\n`` " -"character, representing ASCII LF, is the line terminator)." +"The end of input also serves as an implicit terminator for the final " +"physical line." +msgstr "" + +msgid "Formally:" msgstr "" msgid "Comments" @@ -100,13 +229,13 @@ msgid "" msgstr "" msgid "# -*- coding: -*-" -msgstr "" +msgstr "# -*- coding: -*-" msgid "which is recognized also by GNU Emacs, and ::" msgstr "" msgid "# vim:fileencoding=" -msgstr "" +msgstr "# vim:fileencoding=" msgid "which is recognized by Bram Moolenaar's VIM." msgstr "" @@ -124,6 +253,12 @@ msgid "" "analysis, including string literals, comments and identifiers." msgstr "" +msgid "" +"All lexical analysis, including string literals, comments and identifiers, " +"works on Unicode text decoded using the source encoding. Any Unicode code " +"point, except the NUL control character, can appear in Python source." +msgstr "" + msgid "Explicit line joining" msgstr "" @@ -288,11 +423,14 @@ msgstr "" msgid "" "Except at the beginning of a logical line or in string literals, the " "whitespace characters space, tab and formfeed can be used interchangeably to " -"separate tokens. Whitespace is needed between two tokens only if their " -"concatenation could otherwise be interpreted as a different token. For " -"example, ``ab`` is one token, but ``a b`` is two tokens. However, ``+a`` and " -"``+ a`` both produce two tokens, ``+`` and ``a``, as ``+a`` is not a valid " -"token." +"separate tokens:" +msgstr "" + +msgid "" +"Whitespace is needed between two tokens only if their concatenation could " +"otherwise be interpreted as a different token. For example, ``ab`` is one " +"token, but ``a b`` is two tokens. However, ``+a`` and ``+ a`` both produce " +"two tokens, ``+`` and ``a``, as ``+a`` is not a valid token." msgstr "" msgid "End marker" @@ -317,91 +455,50 @@ msgid "" "string that forms a legal token, when read from left to right." msgstr "" -msgid "Identifiers and keywords" -msgstr "" - -msgid "" -"Identifiers (also referred to as *names*) are described by the following " -"lexical definitions." -msgstr "" - -msgid "" -"The syntax of identifiers in Python is based on the Unicode standard annex " -"UAX-31, with elaboration and changes as defined below; see also :pep:`3131` " -"for further details." +msgid "Names (identifiers and keywords)" msgstr "" msgid "" -"Within the ASCII range (U+0001..U+007F), the valid characters for " -"identifiers include the uppercase and lowercase letters ``A`` through ``Z``, " -"the underscore ``_`` and, except for the first character, the digits ``0`` " -"through ``9``. Python 3.0 introduced additional characters from outside the " -"ASCII range (see :pep:`3131`). For these characters, the classification " -"uses the version of the Unicode Character Database as included in the :mod:" -"`unicodedata` module." -msgstr "" - -msgid "Identifiers are unlimited in length. Case is significant." -msgstr "" - -msgid "The Unicode category codes mentioned above stand for:" -msgstr "" - -msgid "*Lu* - uppercase letters" -msgstr "" - -msgid "*Ll* - lowercase letters" -msgstr "" - -msgid "*Lt* - titlecase letters" -msgstr "" - -msgid "*Lm* - modifier letters" +":data:`~token.NAME` tokens represent *identifiers*, *keywords*, and *soft " +"keywords*." msgstr "" -msgid "*Lo* - other letters" +msgid "Names are composed of the following characters:" msgstr "" -msgid "*Nl* - letter numbers" +msgid "uppercase and lowercase letters (``A-Z`` and ``a-z``)," msgstr "" -msgid "*Mn* - nonspacing marks" +msgid "the underscore (``_``)," msgstr "" -msgid "*Mc* - spacing combining marks" -msgstr "" - -msgid "*Nd* - decimal numbers" -msgstr "" - -msgid "*Pc* - connector punctuations" +msgid "" +"digits (``0`` through ``9``), which cannot appear as the first character, and" msgstr "" msgid "" -"*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " -"compatibility" +"non-ASCII characters. Valid names may only contain \"letter-like\" and " +"\"digit-like\" characters; see :ref:`lexical-names-nonascii` for details." msgstr "" -msgid "*Other_ID_Continue* - likewise" +msgid "" +"Names must contain at least one character, but have no upper length limit. " +"Case is significant." msgstr "" -msgid "" -"All identifiers are converted into the normal form NFKC while parsing; " -"comparison of identifiers is based on NFKC." +msgid "Formally, names are described by the following lexical definitions:" msgstr "" msgid "" -"A non-normative HTML file listing all valid identifier characters for " -"Unicode 16.0.0 can be found at https://www.unicode.org/Public/16.0.0/ucd/" -"DerivedCoreProperties.txt" +"Note that not all names matched by this grammar are valid; see :ref:`lexical-" +"names-nonascii` for details." msgstr "" msgid "Keywords" msgstr "" msgid "" -"The following identifiers are used as reserved words, or *keywords* of the " +"The following names are used as reserved words, or *keywords* of the " "language, and cannot be used as ordinary identifiers. They must be spelled " "exactly as written here:" msgstr "" @@ -415,26 +512,38 @@ msgid "" "assert del global not with\n" "async elif if or yield" msgstr "" +"False await else import pass\n" +"None break except in raise\n" +"True class finally is return\n" +"and continue for lambda try\n" +"as def from nonlocal while\n" +"assert del global not with\n" +"async elif if or yield" msgid "Soft Keywords" msgstr "" msgid "" -"Some identifiers are only reserved under specific contexts. These are known " -"as *soft keywords*. The identifiers ``match``, ``case``, ``type`` and ``_`` " -"can syntactically act as keywords in certain contexts, but this distinction " -"is done at the parser level, not when tokenizing." +"Some names are only reserved under specific contexts. These are known as " +"*soft keywords*:" msgstr "" msgid "" -"As soft keywords, their use in the grammar is possible while still " -"preserving compatibility with existing code that uses these names as " -"identifier names." +"``match``, ``case``, and ``_``, when used in the :keyword:`match` statement." +msgstr "" + +msgid "``type``, when used in the :keyword:`type` statement." +msgstr "" + +msgid "" +"These syntactically act as keywords in their specific contexts, but this " +"distinction is done at the parser level, not when tokenizing." msgstr "" msgid "" -"``match``, ``case``, and ``_`` are used in the :keyword:`match` statement. " -"``type`` is used in the :keyword:`type` statement." +"As soft keywords, their use in the grammar is possible while still " +"preserving compatibility with existing code that uses these names as " +"identifier names." msgstr "" msgid "``type`` is now a soft keyword." @@ -506,456 +615,688 @@ msgid "" "section :ref:`atom-identifiers`." msgstr "" -msgid "Literals" -msgstr "" - -msgid "Literals are notations for constant values of some built-in types." -msgstr "" - -msgid "String and Bytes literals" -msgstr "" - -msgid "String literals are described by the following lexical definitions:" +msgid "Non-ASCII characters in names" msgstr "" msgid "" -"One syntactic restriction not indicated by these productions is that " -"whitespace is not allowed between the :token:`~python-grammar:stringprefix` " -"or :token:`~python-grammar:bytesprefix` and the rest of the literal. The " -"source character set is defined by the encoding declaration; it is UTF-8 if " -"no encoding declaration is given in the source file; see section :ref:" -"`encodings`." +"Names that contain non-ASCII characters need additional normalization and " +"validation beyond the rules and grammar explained :ref:`above " +"`. For example, ``ř_1``, ``蛇``, or ``साँप`` are valid names, " +"but ``r〰2``, ``€``, or ``🐍`` are not." msgstr "" -msgid "" -"In plain English: Both types of literals can be enclosed in matching single " -"quotes (``'``) or double quotes (``\"``). They can also be enclosed in " -"matching groups of three single or double quotes (these are generally " -"referred to as *triple-quoted strings*). The backslash (``\\``) character is " -"used to give special meaning to otherwise ordinary characters like ``n``, " -"which means 'newline' when escaped (``\\n``). It can also be used to escape " -"characters that otherwise have a special meaning, such as newline, backslash " -"itself, or the quote character. See :ref:`escape sequences ` below for examples." +msgid "This section explains the exact rules." msgstr "" msgid "" -"Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an " -"instance of the :class:`bytes` type instead of the :class:`str` type. They " -"may only contain ASCII characters; bytes with a numeric value of 128 or " -"greater must be expressed with escapes." +"All names are converted into the `normalization form`_ NFKC while parsing. " +"This means that, for example, some typographic variants of characters are " +"converted to their \"basic\" form. For example, ``fiⁿₐˡᵢᶻₐᵗᵢᵒₙ`` normalizes " +"to ``finalization``, so Python treats them as the same name::" msgstr "" msgid "" -"Both string and bytes literals may optionally be prefixed with a letter " -"``'r'`` or ``'R'``; such constructs are called :dfn:`raw string literals` " -"and :dfn:`raw bytes literals` respectively and treat backslashes as literal " -"characters. As a result, in raw string literals, ``'\\U'`` and ``'\\u'`` " -"escapes are not treated specially." +">>> fiⁿₐˡᵢᶻₐᵗᵢᵒₙ = 3\n" +">>> finalization\n" +"3" msgstr "" msgid "" -"The ``'rb'`` prefix of raw bytes literals has been added as a synonym of " -"``'br'``." +"Normalization is done at the lexical level only. Run-time functions that " +"take names as *strings* generally do not normalize their arguments. For " +"example, the variable defined above is accessible at run time in the :func:" +"`globals` dictionary as ``globals()[\"finalization\"]`` but not ``globals()" +"[\"fiⁿₐˡᵢᶻₐᵗᵢᵒₙ\"]``." msgstr "" msgid "" -"Support for the unicode legacy literal (``u'value'``) was reintroduced to " -"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:" -"`414` for more information." +"Similarly to how ASCII-only names must contain only letters, digits and the " +"underscore, and cannot start with a digit, a valid name must start with a " +"character in the \"letter-like\" set ``xid_start``, and the remaining " +"characters must be in the \"letter- and digit-like\" set ``xid_continue``." msgstr "" msgid "" -"A string literal with ``'f'`` or ``'F'`` in its prefix is a :dfn:`formatted " -"string literal`; see :ref:`f-strings`. The ``'f'`` may be combined with " -"``'r'``, but not with ``'b'`` or ``'u'``, therefore raw formatted strings " -"are possible, but formatted bytes literals are not." +"These sets based on the *XID_Start* and *XID_Continue* sets as defined by " +"the Unicode standard annex `UAX-31`_. Python's ``xid_start`` additionally " +"includes the underscore (``_``). Note that Python does not necessarily " +"conform to `UAX-31`_." msgstr "" msgid "" -"In triple-quoted literals, unescaped newlines and quotes are allowed (and " -"are retained), except that three unescaped quotes in a row terminate the " -"literal. (A \"quote\" is the character used to open the literal, i.e. " -"either ``'`` or ``\"``.)" +"A non-normative listing of characters in the *XID_Start* and *XID_Continue* " +"sets as defined by Unicode is available in the `DerivedCoreProperties.txt`_ " +"file in the Unicode Character Database. For reference, the construction " +"rules for the ``xid_*`` sets are given below." msgstr "" -msgid "Escape sequences" +msgid "The set ``id_start`` is defined as the union of:" msgstr "" -msgid "" -"Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string " -"and bytes literals are interpreted according to rules similar to those used " -"by Standard C. The recognized escape sequences are:" +msgid "Unicode category ```` - uppercase letters (includes ``A`` to ``Z``)" msgstr "" -msgid "Escape Sequence" +msgid "Unicode category ```` - lowercase letters (includes ``a`` to ``z``)" msgstr "" -msgid "Meaning" -msgstr "Znaczenie" - -msgid "Notes" -msgstr "Notatki" - -msgid "``\\``\\ " +msgid "Unicode category ```` - titlecase letters" msgstr "" -msgid "Backslash and newline ignored" +msgid "Unicode category ```` - modifier letters" msgstr "" -msgid "\\(1)" -msgstr "\\(1)" - -msgid "``\\\\``" -msgstr "``\\\\``" - -msgid "Backslash (``\\``)" +msgid "Unicode category ```` - other letters" msgstr "" -msgid "``\\'``" -msgstr "``\\'``" - -msgid "Single quote (``'``)" +msgid "Unicode category ```` - letter numbers" msgstr "" -msgid "``\\\"``" -msgstr "``\\\"``" - -msgid "Double quote (``\"``)" +msgid "{``\"_\"``} - the underscore" msgstr "" -msgid "``\\a``" -msgstr "``\\a``" - -msgid "ASCII Bell (BEL)" +msgid "" +"```` - an explicit set of characters in `PropList.txt`_ to " +"support backwards compatibility" msgstr "" -msgid "``\\b``" -msgstr "``\\b``" - -msgid "ASCII Backspace (BS)" +msgid "" +"The set ``xid_start`` then closes this set under NFKC normalization, by " +"removing all characters whose normalization is not of the form ``id_start " +"id_continue*``." msgstr "" -msgid "``\\f``" -msgstr "``\\f``" - -msgid "ASCII Formfeed (FF)" +msgid "The set ``id_continue`` is defined as the union of:" msgstr "" -msgid "``\\n``" -msgstr "``\\n``" - -msgid "ASCII Linefeed (LF)" +msgid "``id_start`` (see above)" msgstr "" -msgid "``\\r``" -msgstr "``\\r``" - -msgid "ASCII Carriage Return (CR)" +msgid "Unicode category ```` - decimal numbers (includes ``0`` to ``9``)" msgstr "" -msgid "``\\t``" -msgstr "``\\t``" - -msgid "ASCII Horizontal Tab (TAB)" +msgid "Unicode category ```` - connector punctuations" msgstr "" -msgid "``\\v``" -msgstr "``\\v``" - -msgid "ASCII Vertical Tab (VT)" +msgid "Unicode category ```` - nonspacing marks" msgstr "" -msgid ":samp:`\\\\\\\\{ooo}`" -msgstr ":samp:`\\\\\\\\{ooo}`" - -msgid "Character with octal value *ooo*" +msgid "Unicode category ```` - spacing combining marks" msgstr "" -msgid "(2,4)" +msgid "" +"```` - another explicit set of characters in `PropList." +"txt`_ to support backwards compatibility" msgstr "" -msgid ":samp:`\\\\x{hh}`" -msgstr ":samp:`\\\\x{hh}`" - -msgid "Character with hex value *hh*" +msgid "Again, ``xid_continue`` closes this set under NFKC normalization." msgstr "" -msgid "(3,4)" +msgid "" +"Unicode categories use the version of the Unicode Character Database as " +"included in the :mod:`unicodedata` module." msgstr "" -msgid "Escape sequences only recognized in string literals are:" +msgid ":pep:`3131` -- Supporting Non-ASCII Identifiers" msgstr "" -msgid ":samp:`\\\\N\\\\{{name}\\\\}`" -msgstr ":samp:`\\\\N\\\\{{name}\\\\}`" - -msgid "Character named *name* in the Unicode database" +msgid ":pep:`672` -- Unicode-related Security Considerations for Python" msgstr "" -msgid "\\(5)" -msgstr "\\(5)" - -msgid ":samp:`\\\\u{xxxx}`" -msgstr ":samp:`\\\\u{xxxx}`" - -msgid "Character with 16-bit hex value *xxxx*" +msgid "Literals" msgstr "" -msgid "\\(6)" +msgid "Literals are notations for constant values of some built-in types." msgstr "" -msgid ":samp:`\\\\U{xxxxxxxx}`" -msgstr ":samp:`\\\\U{xxxxxxxx}`" - -msgid "Character with 32-bit hex value *xxxxxxxx*" +msgid "" +"In terms of lexical analysis, Python has :ref:`string, bytes ` and :" +"ref:`numeric ` literals." msgstr "" -msgid "\\(7)" +msgid "" +"Other \"literals\" are lexically denoted using :ref:`keywords ` " +"(``None``, ``True``, ``False``) and the special :ref:`ellipsis token " +"` (``...``)." msgstr "" -msgid "Notes:" -msgstr "Uwagi:" - -msgid "A backslash can be added at the end of a line to ignore the newline::" +msgid "String and Bytes literals" msgstr "" msgid "" -">>> 'This string will not include \\\n" -"... backslashes or newline characters.'\n" -"'This string will not include backslashes or newline characters.'" +"String literals are text enclosed in single quotes (``'``) or double quotes " +"(``\"``). For example:" msgstr "" msgid "" -"The same result can be achieved using :ref:`triple-quoted strings " -"`, or parentheses and :ref:`string literal concatenation `." +"\"spam\"\n" +"'eggs'" msgstr "" -msgid "As in Standard C, up to three octal digits are accepted." +msgid "" +"The quote used to start the literal also terminates it, so a string literal " +"can only contain the other quote (except with escape sequences, see below). " +"For example:" msgstr "" msgid "" -"Octal escapes with value larger than ``0o377`` produce a :exc:" -"`DeprecationWarning`." +"'Say \"Hello\", please.'\n" +"\"Don't do that!\"" msgstr "" msgid "" -"Octal escapes with value larger than ``0o377`` produce a :exc:" -"`SyntaxWarning`. In a future Python version they will be eventually a :exc:" -"`SyntaxError`." +"Except for this limitation, the choice of quote character (``'`` or ``\"``) " +"does not affect how the literal is parsed." msgstr "" -msgid "Unlike in Standard C, exactly two hex digits are required." +msgid "" +"Inside a string literal, the backslash (``\\``) character introduces an :dfn:" +"`escape sequence`, which has special meaning depending on the character " +"after the backslash. For example, ``\\\"`` denotes the double quote " +"character, and does *not* end the string:" msgstr "" msgid "" -"In a bytes literal, hexadecimal and octal escapes denote the byte with the " -"given value. In a string literal, these escapes denote a Unicode character " -"with the given value." +">>> print(\"Say \\\"Hello\\\" to everyone!\")\n" +"Say \"Hello\" to everyone!" msgstr "" -msgid "Support for name aliases [#]_ has been added." +msgid "" +"See :ref:`escape sequences ` below for a full list of such " +"sequences, and more details." msgstr "" -msgid "Exactly four hex digits are required." +msgid "Triple-quoted strings" msgstr "" msgid "" -"Any Unicode character can be encoded this way. Exactly eight hex digits are " -"required." +"Strings can also be enclosed in matching groups of three single or double " +"quotes. These are generally referred to as :dfn:`triple-quoted strings`::" +msgstr "" + +msgid "\"\"\"This is a triple-quoted string.\"\"\"" msgstr "" msgid "" -"Unlike Standard C, all unrecognized escape sequences are left in the string " -"unchanged, i.e., *the backslash is left in the result*. (This behavior is " -"useful when debugging: if an escape sequence is mistyped, the resulting " -"output is more easily recognized as broken.) It is also important to note " -"that the escape sequences only recognized in string literals fall into the " -"category of unrecognized escapes for bytes literals." +"In triple-quoted literals, unescaped quotes are allowed (and are retained), " +"except that three unescaped quotes in a row terminate the literal, if they " +"are of the same kind (``'`` or ``\"``) used at the start::" msgstr "" -msgid "Unrecognized escape sequences produce a :exc:`DeprecationWarning`." +msgid "\"\"\"This string has \"quotes\" inside.\"\"\"" msgstr "" -msgid "" -"Unrecognized escape sequences produce a :exc:`SyntaxWarning`. In a future " -"Python version they will be eventually a :exc:`SyntaxError`." +msgid "Unescaped newlines are also allowed and retained::" msgstr "" msgid "" -"Even in a raw literal, quotes can be escaped with a backslash, but the " -"backslash remains in the result; for example, ``r\"\\\"\"`` is a valid " -"string literal consisting of two characters: a backslash and a double quote; " -"``r\"\\\"`` is not a valid string literal (even a raw string cannot end in " -"an odd number of backslashes). Specifically, *a raw literal cannot end in a " -"single backslash* (since the backslash would escape the following quote " -"character). Note also that a single backslash followed by a newline is " -"interpreted as those two characters as part of the literal, *not* as a line " -"continuation." +"'''This triple-quoted string\n" +"continues on the next line.'''" msgstr "" -msgid "String literal concatenation" +msgid "String prefixes" msgstr "" msgid "" -"Multiple adjacent string or bytes literals (delimited by whitespace), " -"possibly using different quoting conventions, are allowed, and their meaning " -"is the same as their concatenation. Thus, ``\"hello\" 'world'`` is " -"equivalent to ``\"helloworld\"``. This feature can be used to reduce the " -"number of backslashes needed, to split long strings conveniently across long " -"lines, or even to add comments to parts of strings, for example::" +"String literals can have an optional :dfn:`prefix` that influences how the " +"content of the literal is parsed, for example:" msgstr "" msgid "" -"re.compile(\"[A-Za-z_]\" # letter or underscore\n" -" \"[A-Za-z0-9_]*\" # letter, digit or underscore\n" -" )" +"b\"data\"\n" +"f'{result=}'" msgstr "" -msgid "" -"Note that this feature is defined at the syntactical level, but implemented " -"at compile time. The '+' operator must be used to concatenate string " -"expressions at run time. Also note that literal concatenation can use " -"different quoting styles for each component (even mixing raw strings and " -"triple quoted strings), and formatted string literals may be concatenated " -"with plain string literals." +msgid "The allowed prefixes are:" msgstr "" -msgid "f-strings" +msgid "``b``: :ref:`Bytes literal `" +msgstr "" + +msgid "``r``: :ref:`Raw string `" +msgstr "" + +msgid "``f``: :ref:`Formatted string literal ` (\"f-string\")" +msgstr "" + +msgid "``t``: :ref:`Template string literal ` (\"t-string\")" +msgstr "" + +msgid "``u``: No effect (allowed for backwards compatibility)" +msgstr "" + +msgid "See the linked sections for details on each type." msgstr "" msgid "" -"A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " -"that is prefixed with ``'f'`` or ``'F'``. These strings may contain " -"replacement fields, which are expressions delimited by curly braces ``{}``. " -"While other string literals always have a constant value, formatted strings " -"are really expressions evaluated at run time." +"Prefixes are case-insensitive (for example, '``B``' works the same as " +"'``b``'). The '``r``' prefix can be combined with '``f``', '``t``' or " +"'``b``', so '``fr``', '``rf``', '``tr``', '``rt``', '``br``', and '``rb``' " +"are also valid prefixes." msgstr "" msgid "" -"Escape sequences are decoded like in ordinary string literals (except when a " -"literal is also marked as a raw string). After decoding, the grammar for " -"the contents of the string is:" +"The ``'rb'`` prefix of raw bytes literals has been added as a synonym of " +"``'br'``." msgstr "" msgid "" -"The parts of the string outside curly braces are treated literally, except " -"that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " -"corresponding single curly brace. A single opening curly bracket ``'{'`` " -"marks a replacement field, which starts with a Python expression. To display " -"both the expression text and its value after evaluation, (useful in " -"debugging), an equal sign ``'='`` may be added after the expression. A " -"conversion field, introduced by an exclamation point ``'!'`` may follow. A " -"format specifier may also be appended, introduced by a colon ``':'``. A " -"replacement field ends with a closing curly bracket ``'}'``." +"Support for the unicode legacy literal (``u'value'``) was reintroduced to " +"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:" +"`414` for more information." +msgstr "" + +msgid "Formal grammar" msgstr "" msgid "" -"Expressions in formatted string literals are treated like regular Python " -"expressions surrounded by parentheses, with a few exceptions. An empty " -"expression is not allowed, and both :keyword:`lambda` and assignment " -"expressions ``:=`` must be surrounded by explicit parentheses. Each " -"expression is evaluated in the context where the formatted string literal " -"appears, in order from left to right. Replacement expressions can contain " -"newlines in both single-quoted and triple-quoted f-strings and they can " -"contain comments. Everything that comes after a ``#`` inside a replacement " -"field is a comment (even closing braces and quotes). In that case, " -"replacement fields must be closed in a different line." +"String literals, except :ref:`\"f-strings\" ` and :ref:`\"t-" +"strings\" `, are described by the following lexical definitions." msgstr "" msgid "" -">>> f\"abc{a # This is a comment }\"\n" -"... + 3}\"\n" -"'abc5'" +"These definitions use :ref:`negative lookaheads ` (``!" +"``) to indicate that an ending quote ends the literal." msgstr "" -">>> f\"abc{a # This is a comment }\"\n" -"... + 3}\"\n" -"'abc5'" msgid "" -"Prior to Python 3.7, an :keyword:`await` expression and comprehensions " -"containing an :keyword:`async for` clause were illegal in the expressions in " -"formatted string literals due to a problem with the implementation." +"Note that as in all lexical definitions, whitespace is significant. In " +"particular, the prefix (if any) must be immediately followed by the starting " +"quote." +msgstr "" + +msgid "Escape sequences" msgstr "" msgid "" -"Prior to Python 3.12, comments were not allowed inside f-string replacement " -"fields." +"Unless an '``r``' or '``R``' prefix is present, escape sequences in string " +"and bytes literals are interpreted according to rules similar to those used " +"by Standard C. The recognized escape sequences are:" +msgstr "" + +msgid "Escape Sequence" +msgstr "" + +msgid "Meaning" +msgstr "Znaczenie" + +msgid "``\\``\\ " +msgstr "" + +msgid ":ref:`string-escape-ignore`" +msgstr "" + +msgid "``\\\\``" +msgstr "``\\\\``" + +msgid ":ref:`Backslash `" +msgstr "" + +msgid "``\\'``" +msgstr "``\\'``" + +msgid ":ref:`Single quote `" +msgstr "" + +msgid "``\\\"``" +msgstr "``\\\"``" + +msgid ":ref:`Double quote `" +msgstr "" + +msgid "``\\a``" +msgstr "``\\a``" + +msgid "ASCII Bell (BEL)" +msgstr "" + +msgid "``\\b``" +msgstr "``\\b``" + +msgid "ASCII Backspace (BS)" +msgstr "" + +msgid "``\\f``" +msgstr "``\\f``" + +msgid "ASCII Formfeed (FF)" +msgstr "" + +msgid "``\\n``" +msgstr "``\\n``" + +msgid "ASCII Linefeed (LF)" +msgstr "" + +msgid "``\\r``" +msgstr "``\\r``" + +msgid "ASCII Carriage Return (CR)" +msgstr "" + +msgid "``\\t``" +msgstr "``\\t``" + +msgid "ASCII Horizontal Tab (TAB)" +msgstr "" + +msgid "``\\v``" +msgstr "``\\v``" + +msgid "ASCII Vertical Tab (VT)" +msgstr "" + +msgid ":samp:`\\\\\\\\{ooo}`" +msgstr ":samp:`\\\\\\\\{ooo}`" + +msgid ":ref:`string-escape-oct`" +msgstr "" + +msgid ":samp:`\\\\x{hh}`" +msgstr ":samp:`\\\\x{hh}`" + +msgid ":ref:`string-escape-hex`" +msgstr "" + +msgid ":samp:`\\\\N\\\\{{name}\\\\}`" +msgstr ":samp:`\\\\N\\\\{{name}\\\\}`" + +msgid ":ref:`string-escape-named`" +msgstr "" + +msgid ":samp:`\\\\u{xxxx}`" +msgstr ":samp:`\\\\u{xxxx}`" + +msgid ":ref:`Hexadecimal Unicode character `" +msgstr "" + +msgid ":samp:`\\\\U{xxxxxxxx}`" +msgstr ":samp:`\\\\U{xxxxxxxx}`" + +msgid "Ignored end of line" +msgstr "" + +msgid "A backslash can be added at the end of a line to ignore the newline::" +msgstr "" + +msgid "" +">>> 'This string will not include \\\n" +"... backslashes or newline characters.'\n" +"'This string will not include backslashes or newline characters.'" +msgstr "" + +msgid "" +"The same result can be achieved using :ref:`triple-quoted strings " +"`, or parentheses and :ref:`string literal concatenation `." +msgstr "" + +msgid "Escaped characters" +msgstr "" + +msgid "" +"To include a backslash in a non-:ref:`raw ` Python string " +"literal, it must be doubled. The ``\\\\`` escape sequence denotes a single " +"backslash character::" +msgstr "" + +msgid "" +">>> print('C:\\\\Program Files')\n" +"C:\\Program Files" +msgstr "" + +msgid "" +"Similarly, the ``\\'`` and ``\\\"`` sequences denote the single and double " +"quote character, respectively::" +msgstr "" + +msgid "" +">>> print('\\' and \\\"')\n" +"' and \"" +msgstr "" + +msgid "Octal character" +msgstr "" + +msgid "" +"The sequence :samp:`\\\\\\\\{ooo}` denotes a *character* with the octal " +"(base 8) value *ooo*::" +msgstr "" + +msgid "" +">>> '\\120'\n" +"'P'" +msgstr "" + +msgid "Up to three octal digits (0 through 7) are accepted." +msgstr "" + +msgid "" +"In a bytes literal, *character* means a *byte* with the given value. In a " +"string literal, it means a Unicode character with the given value." +msgstr "" + +msgid "" +"Octal escapes with value larger than ``0o377`` (255) produce a :exc:" +"`DeprecationWarning`." +msgstr "" + +msgid "" +"Octal escapes with value larger than ``0o377`` (255) produce a :exc:" +"`SyntaxWarning`. In a future Python version they will raise a :exc:" +"`SyntaxError`." +msgstr "" + +msgid "Hexadecimal character" +msgstr "" + +msgid "" +"The sequence :samp:`\\\\x{hh}` denotes a *character* with the hex (base 16) " +"value *hh*::" msgstr "" msgid "" -"When the equal sign ``'='`` is provided, the output will have the expression " -"text, the ``'='`` and the evaluated value. Spaces after the opening brace " -"``'{'``, within the expression and after the ``'='`` are all retained in the " -"output. By default, the ``'='`` causes the :func:`repr` of the expression to " -"be provided, unless there is a format specified. When a format is specified " -"it defaults to the :func:`str` of the expression unless a conversion ``'!" -"r'`` is declared." +">>> '\\x50'\n" +"'P'" +msgstr "" + +msgid "Unlike in Standard C, exactly two hex digits are required." msgstr "" -msgid "The equal sign ``'='``." +msgid "Named Unicode character" msgstr "" msgid "" -"If a conversion is specified, the result of evaluating the expression is " -"converted before formatting. Conversion ``'!s'`` calls :func:`str` on the " -"result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`." +"The sequence :samp:`\\\\N\\\\{{name}\\\\}` denotes a Unicode character with " +"the given *name*::" +msgstr "" + +msgid "" +">>> '\\N{LATIN CAPITAL LETTER P}'\n" +"'P'\n" +">>> '\\N{SNAKE}'\n" +"'🐍'" +msgstr "" + +msgid "This sequence cannot appear in :ref:`bytes literals `." msgstr "" msgid "" -"The result is then formatted using the :func:`format` protocol. The format " -"specifier is passed to the :meth:`~object.__format__` method of the " -"expression or conversion result. An empty string is passed when the format " -"specifier is omitted. The formatted result is then included in the final " -"value of the whole string." +"Support for `name aliases `__ has been added." +msgstr "" + +msgid "Hexadecimal Unicode characters" msgstr "" msgid "" -"Top-level format specifiers may include nested replacement fields. These " -"nested fields may include their own conversion fields and :ref:`format " -"specifiers `, but may not include more deeply nested replacement " -"fields. The :ref:`format specifier mini-language ` is the same " -"as that used by the :meth:`str.format` method." +"These sequences :samp:`\\\\u{xxxx}` and :samp:`\\\\U{xxxxxxxx}` denote the " +"Unicode character with the given hex (base 16) value. Exactly four digits " +"are required for ``\\u``; exactly eight digits are required for ``\\U``. The " +"latter can encode any Unicode character." msgstr "" msgid "" -"Formatted string literals may be concatenated, but replacement fields cannot " -"be split across literals." +">>> '\\u1234'\n" +"'ሴ'\n" +">>> '\\U0001f40d'\n" +"'🐍'" +msgstr "" + +msgid "These sequences cannot appear in :ref:`bytes literals `." +msgstr "" + +msgid "Unrecognized escape sequences" msgstr "" -msgid "Some examples of formatted string literals::" +msgid "" +"Unlike in Standard C, all unrecognized escape sequences are left in the " +"string unchanged, that is, *the backslash is left in the result*::" msgstr "" msgid "" -">>> name = \"Fred\"\n" -">>> f\"He said his name is {name!r}.\"\n" -"\"He said his name is 'Fred'.\"\n" -">>> f\"He said his name is {repr(name)}.\" # repr() is equivalent to !r\n" -"\"He said his name is 'Fred'.\"\n" -">>> width = 10\n" -">>> precision = 4\n" -">>> value = decimal.Decimal(\"12.34567\")\n" -">>> f\"result: {value:{width}.{precision}}\" # nested fields\n" -"'result: 12.35'\n" -">>> today = datetime(year=2017, month=1, day=27)\n" -">>> f\"{today:%B %d, %Y}\" # using date format specifier\n" -"'January 27, 2017'\n" -">>> f\"{today=:%B %d, %Y}\" # using date format specifier and debugging\n" -"'today=January 27, 2017'\n" -">>> number = 1024\n" -">>> f\"{number:#0x}\" # using integer format specifier\n" -"'0x400'\n" -">>> foo = \"bar\"\n" -">>> f\"{ foo = }\" # preserves whitespace\n" -"\" foo = 'bar'\"\n" -">>> line = \"The mill's closed\"\n" -">>> f\"{line = }\"\n" -"'line = \"The mill\\'s closed\"'\n" -">>> f\"{line = :20}\"\n" -"\"line = The mill's closed \"\n" -">>> f\"{line = !r:20}\"\n" -"'line = \"The mill\\'s closed\" '" +">>> print('\\q')\n" +"\\q\n" +">>> list('\\q')\n" +"['\\\\', 'q']" +msgstr "" + +msgid "" +"Note that for bytes literals, the escape sequences only recognized in string " +"literals (``\\N...``, ``\\u...``, ``\\U...``) fall into the category of " +"unrecognized escapes." +msgstr "" + +msgid "Unrecognized escape sequences produce a :exc:`DeprecationWarning`." +msgstr "" + +msgid "" +"Unrecognized escape sequences produce a :exc:`SyntaxWarning`. In a future " +"Python version they will raise a :exc:`SyntaxError`." +msgstr "" + +msgid "Bytes literals" +msgstr "" + +msgid "" +":dfn:`Bytes literals` are always prefixed with '``b``' or '``B``'; they " +"produce an instance of the :class:`bytes` type instead of the :class:`str` " +"type. They may only contain ASCII characters; bytes with a numeric value of " +"128 or greater must be expressed with escape sequences (typically :ref:" +"`string-escape-hex` or :ref:`string-escape-oct`):" +msgstr "" + +msgid "" +">>> b'\\x89PNG\\r\\n\\x1a\\n'\n" +"b'\\x89PNG\\r\\n\\x1a\\n'\n" +">>> list(b'\\x89PNG\\r\\n\\x1a\\n')\n" +"[137, 80, 78, 71, 13, 10, 26, 10]" +msgstr "" + +msgid "" +"Similarly, a zero byte must be expressed using an escape sequence (typically " +"``\\0`` or ``\\x00``)." +msgstr "" + +msgid "Raw string literals" +msgstr "" + +msgid "" +"Both string and bytes literals may optionally be prefixed with a letter " +"'``r``' or '``R``'; such constructs are called :dfn:`raw string literals` " +"and :dfn:`raw bytes literals` respectively and treat backslashes as literal " +"characters. As a result, in raw string literals, :ref:`escape sequences " +"` are not treated specially:" +msgstr "" + +msgid "" +">>> r'\\d{4}-\\d{2}-\\d{2}'\n" +"'\\\\d{4}-\\\\d{2}-\\\\d{2}'" +msgstr "" + +msgid "" +"Even in a raw literal, quotes can be escaped with a backslash, but the " +"backslash remains in the result; for example, ``r\"\\\"\"`` is a valid " +"string literal consisting of two characters: a backslash and a double quote; " +"``r\"\\\"`` is not a valid string literal (even a raw string cannot end in " +"an odd number of backslashes). Specifically, *a raw literal cannot end in a " +"single backslash* (since the backslash would escape the following quote " +"character). Note also that a single backslash followed by a newline is " +"interpreted as those two characters as part of the literal, *not* as a line " +"continuation." +msgstr "" + +msgid "f-strings" +msgstr "" + +msgid "" +"The :keyword:`await` and :keyword:`async for` can be used in expressions " +"within f-strings." +msgstr "" + +msgid "Added the debug specifier (``=``)" +msgstr "" + +msgid "" +"Many restrictions on expressions within f-strings have been removed. " +"Notably, nested strings, comments, and backslashes are now permitted." +msgstr "" + +msgid "" +"A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " +"that is prefixed with '``f``' or '``F``'. Unlike other string literals, f-" +"strings do not have a constant value. They may contain *replacement fields* " +"delimited by curly braces ``{}``. Replacement fields contain expressions " +"which are evaluated at run time. For example::" +msgstr "" + +msgid "" +">>> who = 'nobody'\n" +">>> nationality = 'Spanish'\n" +">>> f'{who.title()} expects the {nationality} Inquisition!'\n" +"'Nobody expects the Spanish Inquisition!'" +msgstr "" + +msgid "" +"Any doubled curly braces (``{{`` or ``}}``) outside replacement fields are " +"replaced with the corresponding single curly brace::" +msgstr "" + +msgid "" +">>> print(f'{{...}}')\n" +"{...}" +msgstr "" + +msgid "" +"Other characters outside replacement fields are treated like in ordinary " +"string literals. This means that escape sequences are decoded (except when a " +"literal is also marked as a raw string), and newlines are possible in triple-" +"quoted f-strings::" +msgstr "" + +msgid "" +">>> name = 'Galahad'\n" +">>> favorite_color = 'blue'\n" +">>> print(f'{name}:\\t{favorite_color}')\n" +"Galahad: blue\n" +">>> print(rf\"C:\\Users\\{name}\")\n" +"C:\\Users\\Galahad\n" +">>> print(f'''Three shall be the number of the counting\n" +"... and the number of the counting shall be three.''')\n" +"Three shall be the number of the counting\n" +"and the number of the counting shall be three." +msgstr "" + +msgid "" +"Expressions in formatted string literals are treated like regular Python " +"expressions. Each expression is evaluated in the context where the formatted " +"string literal appears, in order from left to right. An empty expression is " +"not allowed, and both :keyword:`lambda` and assignment expressions ``:=`` " +"must be surrounded by explicit parentheses::" +msgstr "" + +msgid "" +">>> f'{(half := 1/2)}, {half * 42}'\n" +"'0.5, 21.0'" msgstr "" msgid "" @@ -972,11 +1313,6 @@ msgstr "" ">>> f\"abc {a[\"x\"]} def\"\n" "'abc 2 def'" -msgid "" -"Prior to Python 3.12, reuse of the same quoting type of the outer f-string " -"inside a replacement field was not possible." -msgstr "" - msgid "" "Backslashes are also allowed in replacement fields and are evaluated the " "same way as in any other context::" @@ -991,79 +1327,292 @@ msgid "" "c" msgstr "" +msgid "It is possible to nest f-strings::" +msgstr "" + msgid "" -"Prior to Python 3.12, backslashes were not permitted inside an f-string " -"replacement field." +">>> name = 'world'\n" +">>> f'Repeated:{f' hello {name}' * 3}'\n" +"'Repeated: hello world hello world hello world'" +msgstr "" + +msgid "Portable Python programs should not use more than 5 levels of nesting." +msgstr "" + +msgid "CPython does not limit nesting of f-strings." msgstr "" msgid "" -"Formatted string literals cannot be used as docstrings, even if they do not " -"include expressions." +"Replacement expressions can contain newlines in both single-quoted and " +"triple-quoted f-strings and they can contain comments. Everything that comes " +"after a ``#`` inside a replacement field is a comment (even closing braces " +"and quotes). This means that replacement fields with comments must be closed " +"in a different line:" msgstr "" msgid "" -">>> def foo():\n" -"... f\"Not a docstring\"\n" -"...\n" -">>> foo.__doc__ is None\n" -"True" +">>> a = 2\n" +">>> f\"abc{a # This comment }\" continues until the end of the line\n" +"... + 3}\"\n" +"'abc5'" +msgstr "" + +msgid "After the expression, replacement fields may optionally contain:" msgstr "" + +msgid "" +"a *debug specifier* -- an equal sign (``=``), optionally surrounded by " +"whitespace on one or both sides;" +msgstr "" + +msgid "a *conversion specifier* -- ``!s``, ``!r`` or ``!a``; and/or" +msgstr "" + +msgid "a *format specifier* prefixed with a colon (``:``)." +msgstr "" + +msgid "" +"See the :ref:`Standard Library section on f-strings ` for " +"details on how these fields are evaluated." +msgstr "" + +msgid "" +"As that section explains, *format specifiers* are passed as the second " +"argument to the :func:`format` function to format a replacement field value. " +"For example, they can be used to specify a field width and padding " +"characters using the :ref:`Format Specification Mini-Language `::" +msgstr "" + +msgid "" +">>> number = 14.3\n" +">>> f'{number:20.7f}'\n" +"' 14.3000000'" +msgstr "" + +msgid "Top-level format specifiers may include nested replacement fields::" +msgstr "" + +msgid "" +">>> field_size = 20\n" +">>> precision = 7\n" +">>> f'{number:{field_size}.{precision}f}'\n" +"' 14.3000000'" +msgstr "" + +msgid "" +"These nested fields may include their own conversion fields and :ref:`format " +"specifiers `::" +msgstr "" + +msgid "" +">>> number = 3\n" +">>> f'{number:{field_size}}'\n" +"' 3'\n" +">>> f'{number:{field_size:05}}'\n" +"'00000000000000000003'" +msgstr "" + +msgid "" +"However, these nested fields may not include more deeply nested replacement " +"fields." +msgstr "" + +msgid "" +"Formatted string literals cannot be used as :term:`docstrings `, " +"even if they do not include expressions::" +msgstr "" + +msgid "" ">>> def foo():\n" "... f\"Not a docstring\"\n" "...\n" -">>> foo.__doc__ is None\n" -"True" +">>> print(foo.__doc__)\n" +"None" +msgstr "" + +msgid ":pep:`498` -- Literal String Interpolation" +msgstr "" + +msgid ":pep:`701` -- Syntactic formalization of f-strings" +msgstr "" + +msgid ":meth:`str.format`, which uses a related format string mechanism." +msgstr "" + +msgid "t-strings" +msgstr "" + +msgid "" +"A :dfn:`template string literal` or :dfn:`t-string` is a string literal that " +"is prefixed with '``t``' or '``T``'. These strings follow the same syntax " +"rules as :ref:`formatted string literals `. For differences in " +"evaluation rules, see the :ref:`Standard Library section on t-strings " +"`" +msgstr "" + +msgid "Formal grammar for f-strings" +msgstr "" + +msgid "" +"F-strings are handled partly by the :term:`lexical analyzer`, which produces " +"the tokens :py:data:`~token.FSTRING_START`, :py:data:`~token.FSTRING_MIDDLE` " +"and :py:data:`~token.FSTRING_END`, and partly by the parser, which handles " +"expressions in the replacement field. The exact way the work is split is a " +"CPython implementation detail." +msgstr "" + +msgid "" +"Correspondingly, the f-string grammar is a mix of :ref:`lexical and " +"syntactic definitions `." +msgstr "" + +msgid "Whitespace is significant in these situations:" +msgstr "" + +msgid "" +"There may be no whitespace in :py:data:`~token.FSTRING_START` (between the " +"prefix and quote)." +msgstr "" + +msgid "" +"Whitespace in :py:data:`~token.FSTRING_MIDDLE` is part of the literal string " +"contents." +msgstr "" msgid "" -"See also :pep:`498` for the proposal that added formatted string literals, " -"and :meth:`str.format`, which uses a related format string mechanism." +"In ``fstring_replacement_field``, if ``f_debug_specifier`` is present, all " +"whitespace after the opening brace until the ``f_debug_specifier``, as well " +"as whitespace immediately following ``f_debug_specifier``, is retained as " +"part of the expression." +msgstr "" + +msgid "" +"The expression is not handled in the tokenization phase; it is retrieved " +"from the source code using locations of the ``{`` token and the token after " +"``=``." +msgstr "" + +msgid "" +"The ``FSTRING_MIDDLE`` definition uses :ref:`negative lookaheads ` (``!``) to indicate special characters (backslash, newline, " +"``{``, ``}``) and sequences (``f_quote``)." +msgstr "" + +msgid "" +"In the above grammar snippet, the ``f_quote`` and ``FSTRING_MIDDLE`` rules " +"are context-sensitive -- they depend on the contents of ``FSTRING_START`` of " +"the nearest enclosing ``fstring``." +msgstr "" + +msgid "" +"Constructing a more traditional formal grammar from this template is left as " +"an exercise for the reader." +msgstr "" + +msgid "" +"The grammar for t-strings is identical to the one for f-strings, with *t* " +"instead of *f* at the beginning of rule and token names and in the prefix." msgstr "" msgid "Numeric literals" msgstr "" msgid "" -"There are three types of numeric literals: integers, floating-point numbers, " -"and imaginary numbers. There are no complex literals (complex numbers can " -"be formed by adding a real number and an imaginary number)." +":data:`~token.NUMBER` tokens represent numeric literals, of which there are " +"three types: integers, floating-point numbers, and imaginary numbers." msgstr "" msgid "" -"Note that numeric literals do not include a sign; a phrase like ``-1`` is " -"actually an expression composed of the unary operator '``-``' and the " -"literal ``1``." +"The numeric value of a numeric literal is the same as if it were passed as a " +"string to the :class:`int`, :class:`float` or :class:`complex` class " +"constructor, respectively. Note that not all valid inputs for those " +"constructors are also valid literals." +msgstr "" + +msgid "" +"Numeric literals do not include a sign; a phrase like ``-1`` is actually an " +"expression composed of the unary operator '``-``' and the literal ``1``." msgstr "" msgid "Integer literals" msgstr "" -msgid "Integer literals are described by the following lexical definitions:" +msgid "Integer literals denote whole numbers. For example::" +msgstr "" + +msgid "" +"7\n" +"3\n" +"2147483647" msgstr "" +"7\n" +"3\n" +"2147483647" msgid "" "There is no limit for the length of integer literals apart from what can be " -"stored in available memory." +"stored in available memory::" msgstr "" +msgid "7922816251426433759354395033679228162514264337593543950336" +msgstr "7922816251426433759354395033679228162514264337593543950336" + msgid "" -"Underscores are ignored for determining the numeric value of the literal. " -"They can be used to group digits for enhanced readability. One underscore " -"can occur between digits, and after base specifiers like ``0x``." +"Underscores can be used to group digits for enhanced readability, and are " +"ignored for determining the numeric value of the literal. For example, the " +"following literals are equivalent::" msgstr "" msgid "" -"Note that leading zeros in a non-zero decimal number are not allowed. This " -"is for disambiguation with C-style octal literals, which Python used before " -"version 3.0." +"100_000_000_000\n" +"100000000000\n" +"1_00_00_00_00_000" msgstr "" +"100_000_000_000\n" +"100000000000\n" +"1_00_00_00_00_000" -msgid "Some examples of integer literals::" +msgid "" +"Underscores can only occur between digits. For example, ``_123``, ``321_``, " +"and ``123__321`` are *not* valid literals." msgstr "" msgid "" -"7 2147483647 0o177 0b100110111\n" -"3 79228162514264337593543950336 0o377 0xdeadbeef\n" -" 100_000_000_000 0b_1110_0101" +"Integers can be specified in binary (base 2), octal (base 8), or hexadecimal " +"(base 16) using the prefixes ``0b``, ``0o`` and ``0x``, respectively. " +"Hexadecimal digits 10 through 15 are represented by letters ``A``-``F``, " +"case-insensitive. For example::" +msgstr "" + +msgid "" +"0b100110111\n" +"0b_1110_0101\n" +"0o177\n" +"0o377\n" +"0xdeadbeef\n" +"0xDead_Beef" +msgstr "" +"0b100110111\n" +"0b_1110_0101\n" +"0o177\n" +"0o377\n" +"0xdeadbeef\n" +"0xDead_Beef" + +msgid "" +"An underscore can follow the base specifier. For example, ``0x_1f`` is a " +"valid literal, but ``0_x1f`` and ``0x__1f`` are not." +msgstr "" + +msgid "" +"Leading zeros in a non-zero decimal number are not allowed. For example, " +"``0123`` is not a valid literal. This is for disambiguation with C-style " +"octal literals, which Python used before version 3.0." +msgstr "" + +msgid "" +"Formally, integer literals are described by the following lexical " +"definitions:" msgstr "" msgid "Underscores are now allowed for grouping purposes in literals." @@ -1073,92 +1622,194 @@ msgid "Floating-point literals" msgstr "" msgid "" -"Floating-point literals are described by the following lexical definitions:" +"Floating-point (float) literals, such as ``3.14`` or ``1.5``, denote :ref:" +"`approximations of real numbers `." +msgstr "" + +msgid "" +"They consist of *integer* and *fraction* parts, each composed of decimal " +"digits. The parts are separated by a decimal point, ``.``::" +msgstr "" + +msgid "" +"2.71828\n" +"4.0" +msgstr "" +"2.71828\n" +"4.0" + +msgid "" +"Unlike in integer literals, leading zeros are allowed. For example, " +"``077.010`` is legal, and denotes the same number as ``77.01``." +msgstr "" + +msgid "" +"As in integer literals, single underscores may occur between digits to help " +"readability::" msgstr "" msgid "" -"Note that the integer and exponent parts are always interpreted using radix " -"10. For example, ``077e010`` is legal, and denotes the same number as " -"``77e10``. The allowed range of floating-point literals is implementation-" -"dependent. As in integer literals, underscores are supported for digit " -"grouping." +"96_485.332_123\n" +"3.14_15_93" msgstr "" +"96_485.332_123\n" +"3.14_15_93" -msgid "Some examples of floating-point literals::" +msgid "Either of these parts, but not both, can be empty. For example::" msgstr "" -msgid "3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93" +msgid "" +"10. # (equivalent to 10.0)\n" +".001 # (equivalent to 0.001)" +msgstr "" + +msgid "" +"Optionally, the integer and fraction may be followed by an *exponent*: the " +"letter ``e`` or ``E``, followed by an optional sign, ``+`` or ``-``, and a " +"number in the same format as the integer and fraction parts. The ``e`` or " +"``E`` represents \"times ten raised to the power of\"::" +msgstr "" + +msgid "" +"1.0e3 # (represents 1.0×10³, or 1000.0)\n" +"1.166e-5 # (represents 1.166×10⁻⁵, or 0.00001166)\n" +"6.02214076e+23 # (represents 6.02214076×10²³, or 602214076000000000000000.)" +msgstr "" + +msgid "" +"In floats with only integer and exponent parts, the decimal point may be " +"omitted::" +msgstr "" + +msgid "" +"1e3 # (equivalent to 1.e3 and 1.0e3)\n" +"0e0 # (equivalent to 0.)" +msgstr "" + +msgid "" +"Formally, floating-point literals are described by the following lexical " +"definitions:" msgstr "" msgid "Imaginary literals" msgstr "" -msgid "Imaginary literals are described by the following lexical definitions:" +msgid "" +"Python has :ref:`complex number ` objects, but no complex " +"literals. Instead, *imaginary literals* denote complex numbers with a zero " +"real part." msgstr "" msgid "" -"An imaginary literal yields a complex number with a real part of 0.0. " -"Complex numbers are represented as a pair of floating-point numbers and have " -"the same restrictions on their range. To create a complex number with a " -"nonzero real part, add a floating-point number to it, e.g., ``(3+4j)``. " -"Some examples of imaginary literals::" +"For example, in math, the complex number 3+4.2\\ *i* is written as the real " +"number 3 added to the imaginary number 4.2\\ *i*. Python uses a similar " +"syntax, except the imaginary unit is written as ``j`` rather than *i*::" msgstr "" -msgid "3.14j 10.j 10j .001j 1e100j 3.14e-10j 3.14_15_93j" +msgid "3+4.2j" +msgstr "3+4.2j" + +msgid "" +"This is an expression composed of the :ref:`integer literal ` " +"``3``, the :ref:`operator ` '``+``', and the :ref:`imaginary " +"literal ` ``4.2j``. Since these are three separate tokens, " +"whitespace is allowed between them::" msgstr "" -msgid "Operators" +msgid "3 + 4.2j" +msgstr "3 + 4.2j" + +msgid "" +"No whitespace is allowed *within* each token. In particular, the ``j`` " +"suffix, may not be separated from the number before it." msgstr "" -msgid "The following tokens are operators:" +msgid "" +"The number before the ``j`` has the same syntax as a floating-point literal. " +"Thus, the following are valid imaginary literals::" msgstr "" msgid "" -"+ - * ** / // % @\n" -"<< >> & | ^ ~ :=\n" -"< > <= >= == !=" +"4.2j\n" +"3.14j\n" +"10.j\n" +".001j\n" +"1e100j\n" +"3.14e-10j\n" +"3.14_15_93j" msgstr "" +"4.2j\n" +"3.14j\n" +"10.j\n" +".001j\n" +"1e100j\n" +"3.14e-10j\n" +"3.14_15_93j" -msgid "Delimiters" +msgid "" +"Unlike in a floating-point literal the decimal point can be omitted if the " +"imaginary number only has an integer part. The number is still evaluated as " +"a floating-point number, not an integer::" msgstr "" -msgid "The following tokens serve as delimiters in the grammar:" +msgid "" +"10j\n" +"0j\n" +"1000000000000000000000000j # equivalent to 1e+24j" msgstr "" +"10j\n" +"0j\n" +"1000000000000000000000000j # equivalent to 1e+24j" msgid "" -"( ) [ ] { }\n" -", : ! . ; @ =\n" -"-> += -= *= /= //= %=\n" -"@= &= |= ^= >>= <<= **=" +"The ``j`` suffix is case-insensitive. That means you can use ``J`` instead::" +msgstr "" + +msgid "3.14J # equivalent to 3.14j" msgstr "" msgid "" -"The period can also occur in floating-point and imaginary literals. A " -"sequence of three periods has a special meaning as an ellipsis literal. The " -"second half of the list, the augmented assignment operators, serve lexically " -"as delimiters, but also perform an operation." +"Formally, imaginary literals are described by the following lexical " +"definition:" +msgstr "" + +msgid "Operators and delimiters" msgstr "" msgid "" -"The following printing ASCII characters have special meaning as part of " -"other tokens or are otherwise significant to the lexical analyzer:" +"The following grammar defines :dfn:`operator` and :dfn:`delimiter` tokens, " +"that is, the generic :data:`~token.OP` token type. A :ref:`list of these " +"tokens and their names ` is also available in " +"the :mod:`!token` module documentation." msgstr "" -msgid "' \" # \\" +msgid "" +"Generally, *operators* are used to combine :ref:`expressions `, " +"while *delimiters* serve other purposes. However, there is no clear, formal " +"distinction between the two categories." msgstr "" msgid "" -"The following printing ASCII characters are not used in Python. Their " -"occurrence outside string literals and comments is an unconditional error:" +"Some tokens can serve as either operators or delimiters, depending on usage. " +"For example, ``*`` is both the multiplication operator and a delimiter used " +"for sequence unpacking, and ``@`` is both the matrix multiplication and a " +"delimiter that introduces decorators." msgstr "" -msgid "$ ? `" -msgstr "$ ? `" +msgid "" +"For some tokens, the distinction is unclear. For example, some people " +"consider ``.``, ``(``, and ``)`` to be delimiters, while others see the :py:" +"func:`getattr` operator and the function call operator(s)." +msgstr "" -msgid "Footnotes" -msgstr "Przypisy" +msgid "" +"Some of Python's operators, like ``and``, ``or``, and ``not in``, use :ref:" +"`keyword ` tokens rather than \"symbols\" (operator tokens)." +msgstr "" -msgid "https://www.unicode.org/Public/16.0.0/ucd/NameAliases.txt" +msgid "" +"A sequence of three consecutive periods (``...``) has a special meaning as " +"an :py:data:`Ellipsis` literal." msgstr "" msgid "lexical analysis" @@ -1218,12 +1869,6 @@ msgstr "" msgid "leading whitespace" msgstr "" -msgid "space" -msgstr "" - -msgid "tab" -msgstr "" - msgid "grouping" msgstr "" @@ -1270,7 +1915,7 @@ msgid "bytes literal" msgstr "" msgid "ASCII" -msgstr "" +msgstr "ASCII" msgid "' (single quote)" msgstr "" @@ -1278,49 +1923,19 @@ msgstr "" msgid "\" (double quote)" msgstr "" -msgid "u'" -msgstr "" - -msgid "u\"" -msgstr "" - msgid "triple-quoted string" msgstr "" -msgid "Unicode Consortium" -msgstr "" - -msgid "raw string" -msgstr "" - msgid "\"\"\"" -msgstr "" +msgstr "\"\"\"" msgid "'''" -msgstr "" - -msgid "b'" -msgstr "" - -msgid "b\"" -msgstr "" - -msgid "r'" -msgstr "" - -msgid "raw string literal" -msgstr "" - -msgid "r\"" -msgstr "" - -msgid "f'" -msgstr "" +msgstr "'''" -msgid "formatted string literal" -msgstr "sformatowany literał ciągu znaków" +msgid "u'" +msgstr "u'" -msgid "f\"" +msgid "u\"" msgstr "" msgid "escape sequence" @@ -1336,41 +1951,59 @@ msgid "\\ (backslash)" msgstr "" msgid "\\\\" -msgstr "" +msgstr "\\\\" msgid "\\a" -msgstr "" +msgstr "\\a" msgid "\\b" -msgstr "" +msgstr "\\b" msgid "\\f" -msgstr "" +msgstr "\\f" msgid "\\n" -msgstr "" +msgstr "\\n" msgid "\\r" -msgstr "" +msgstr "\\r" msgid "\\t" -msgstr "" +msgstr "\\t" msgid "\\v" -msgstr "" +msgstr "\\v" msgid "\\x" -msgstr "" +msgstr "\\x" msgid "\\u" -msgstr "" +msgstr "\\u" msgid "\\U" -msgstr "" +msgstr "\\U" msgid "unrecognized escape sequence" msgstr "" +msgid "b'" +msgstr "b'" + +msgid "b\"" +msgstr "b\"" + +msgid "r'" +msgstr "r'" + +msgid "raw string literal" +msgstr "" + +msgid "r\"" +msgstr "r\"" + +msgid "formatted string literal" +msgstr "sformatowany literał ciągu znaków" + msgid "interpolated string literal" msgstr "interpolowany literał ciąg znaków" @@ -1389,6 +2022,12 @@ msgstr "f-string" msgid "fstring" msgstr "fstring" +msgid "f'" +msgstr "f'" + +msgid "f\"" +msgstr "f\"" + msgid "{} (curly brackets)" msgstr "" @@ -1438,13 +2077,13 @@ msgid "complex literal" msgstr "" msgid "0b" -msgstr "" +msgstr "0b" msgid "0o" -msgstr "" +msgstr "0o" msgid "0x" -msgstr "" +msgstr "0x" msgid "_ (underscore)" msgstr "" @@ -1456,10 +2095,10 @@ msgid ". (dot)" msgstr "" msgid "e" -msgstr "" +msgstr "e" msgid "j" -msgstr "" +msgstr "j" msgid "operators" msgstr "" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 6ee4c038b9..205af5ca41 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2023 -# Tadeusz Karpiński , 2023 -# haaritsubaki, 2023 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,8 +64,8 @@ msgid "" msgstr "" msgid "" -"(See section :ref:`primaries` for the syntax definitions for *attributeref*, " -"*subscription*, and *slicing*.)" +"(See section :ref:`primaries` for the syntax definitions for *attributeref* " +"and *subscription*.)" msgstr "" msgid "" @@ -81,12 +77,11 @@ msgstr "" msgid "" "Assignment is defined recursively depending on the form of the target " -"(list). When a target is part of a mutable object (an attribute reference, " -"subscription or slicing), the mutable object must ultimately perform the " -"assignment and decide about its validity, and may raise an exception if the " -"assignment is unacceptable. The rules observed by various types and the " -"exceptions raised are given with the definition of the object types (see " -"section :ref:`types`)." +"(list). When a target is part of a mutable object (an attribute reference or " +"subscription), the mutable object must ultimately perform the assignment and " +"decide about its validity, and may raise an exception if the assignment is " +"unacceptable. The rules observed by various types and the exceptions raised " +"are given with the definition of the object types (see section :ref:`types`)." msgstr "" msgid "" @@ -176,9 +171,15 @@ msgstr "" msgid "" "If the target is a subscription: The primary expression in the reference is " -"evaluated. It should yield either a mutable sequence object (such as a " -"list) or a mapping object (such as a dictionary). Next, the subscript " -"expression is evaluated." +"evaluated. Next, the subscript expression is evaluated. Then, the primary's :" +"meth:`~object.__setitem__` method is called with two arguments: the " +"subscript and the assigned object." +msgstr "" + +msgid "" +"Typically, :meth:`~object.__setitem__` is defined on mutable sequence " +"objects (such as lists) and mapping objects (such as dictionaries), and " +"behaves as follows." msgstr "" msgid "" @@ -201,30 +202,18 @@ msgid "" msgstr "" msgid "" -"For user-defined objects, the :meth:`~object.__setitem__` method is called " -"with appropriate arguments." -msgstr "" - -msgid "" -"If the target is a slicing: The primary expression in the reference is " -"evaluated. It should yield a mutable sequence object (such as a list). The " -"assigned object should be a sequence object of the same type. Next, the " -"lower and upper bound expressions are evaluated, insofar they are present; " -"defaults are zero and the sequence's length. The bounds should evaluate to " -"integers. If either bound is negative, the sequence's length is added to " -"it. The resulting bounds are clipped to lie between zero and the sequence's " +"If the target is a slicing: The primary expression should evaluate to a " +"mutable sequence object (such as a list). The assigned object should be :" +"term:`iterable`. The slicing's lower and upper bounds should be integers; if " +"they are ``None`` (or not present), the defaults are zero and the sequence's " +"length. If either bound is negative, the sequence's length is added to it. " +"The resulting bounds are clipped to lie between zero and the sequence's " "length, inclusive. Finally, the sequence object is asked to replace the " "slice with the items of the assigned sequence. The length of the slice may " "be different from the length of the assigned sequence, thus changing the " "length of the target sequence, if the target sequence allows it." msgstr "" -msgid "" -"In the current implementation, the syntax for targets is taken to be the " -"same as for expressions, and invalid syntax is rejected during the code " -"generation phase, causing less detailed error messages." -msgstr "" - msgid "" "Although the definition of assignment implies that overlaps between the left-" "hand side and the right-hand side are 'simultaneous' (for example ``a, b = " @@ -440,15 +429,15 @@ msgstr "" msgid "" "Deletion of a name removes the binding of that name from the local or global " "namespace, depending on whether the name occurs in a :keyword:`global` " -"statement in the same code block. If the name is unbound, a :exc:" -"`NameError` exception will be raised." +"statement in the same code block. Trying to delete an unbound name raises " +"a :exc:`NameError` exception." msgstr "" msgid "" -"Deletion of attribute references, subscriptions and slicings is passed to " -"the primary object involved; deletion of a slicing is in general equivalent " -"to assignment of an empty slice of the right type (but even this is " -"determined by the sliced object)." +"Deletion of attribute references and subscriptions is passed to the primary " +"object involved; deletion of a slicing is in general equivalent to " +"assignment of an empty slice of the right type (but even this is determined " +"by the sliced object)." msgstr "" msgid "" @@ -809,13 +798,15 @@ msgstr "" msgid "" "The *public names* defined by a module are determined by checking the " "module's namespace for a variable named ``__all__``; if defined, it must be " -"a sequence of strings which are names defined or imported by that module. " -"The names given in ``__all__`` are all considered public and are required to " -"exist. If ``__all__`` is not defined, the set of public names includes all " -"names found in the module's namespace which do not begin with an underscore " -"character (``'_'``). ``__all__`` should contain the entire public API. It " -"is intended to avoid accidentally exporting items that are not part of the " -"API (such as library modules which were imported and used within the module)." +"a sequence of strings which are names defined or imported by that module. " +"Names containing non-ASCII characters must be in the `normalization form`_ " +"NFKC; see :ref:`lexical-names-nonascii` for details. The names given in " +"``__all__`` are all considered public and are required to exist. If " +"``__all__`` is not defined, the set of public names includes all names found " +"in the module's namespace which do not begin with an underscore character " +"(``'_'``). ``__all__`` should contain the entire public API. It is intended " +"to avoid accidentally exporting items that are not part of the API (such as " +"library modules which were imported and used within the module)." msgstr "" msgid "" @@ -968,9 +959,17 @@ msgid "" msgstr "" msgid "" -"The :keyword:`global` statement applies to the entire scope of a function or " -"class body. A :exc:`SyntaxError` is raised if a variable is used or assigned " -"to prior to its global declaration in the scope." +"The :keyword:`!global` statement applies to the entire current scope " +"(module, function body or class definition). A :exc:`SyntaxError` is raised " +"if a variable is used or assigned to prior to its global declaration in the " +"scope." +msgstr "" + +msgid "" +"At the module level, all variables are global, so a :keyword:`!global` " +"statement has no effect. However, variables must still not be used or " +"assigned to prior to their :keyword:`!global` declaration. This requirement " +"is relaxed in the interactive prompt (:term:`REPL`)." msgstr "" msgid "" diff --git a/reference/toplevel_components.po b/reference/toplevel_components.po index 3d376d2967..caea0ba5d4 100644 --- a/reference/toplevel_components.po +++ b/reference/toplevel_components.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# haaritsubaki, 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 0000000000..749ef043df --- /dev/null +++ b/ruff.toml @@ -0,0 +1,2 @@ +[format] +quote-style = "single" diff --git a/sphinx.po b/sphinx.po index 4d0ccb09fd..4fcf25d13c 100644 --- a/sphinx.po +++ b/sphinx.po @@ -4,16 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2025 +# Stan Ulbrych, 2026 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,30 +30,34 @@ msgstr "Stabilna" msgid "In development" msgstr "W rozwoju" -msgid "This Page" +msgid "This page" msgstr "Ta strona" -msgid "Report a Bug" +msgid "Report a bug" msgstr "Zgłoś błąd" -msgid "Show Source" +msgid "Improve this page" +msgstr "Ulepsz tę stronę" + +msgid "Show source" msgstr "Pokaż źródło" +msgid "Show translation source" +msgstr "Pokaż źródło tłumaczenia" + msgid "Download" msgstr "Pobieranie" -msgid "Download Python %(dl_version)s Documentation" -msgstr "Pobierz dokumentację Pythona %(dl_version)s" +msgid "Download Python %(dl_version)s documentation" +msgstr "" msgid "Last updated on: %(last_updated)s." msgstr "Ostatnia aktualizacja: %(last_updated)s." msgid "" -"To download an archive containing all the documents for this version of\n" -"Python in one of various formats, follow one of links in this table." +"Download an archive containing all the documentation for this version of " +"Python:" msgstr "" -"Aby pobrać archiwum zawierające pełną dokumentację dla tej wersji Pythona w " -"jednym z wielu formatów, wybierz jeden z linków w tej tabeli." msgid "Format" msgstr "Format" @@ -63,124 +68,77 @@ msgstr "Spakowane jako .zip" msgid "Packed as .tar.bz2" msgstr "Spakowane jako .tar.bz2" -msgid "PDF" -msgstr "PDF" - -msgid "" -"Download " -"(ca. %(download_size)s MiB)" -msgstr "" -"Pobierz " -"(ok. %(download_size)s MiB)" - -msgid "" -"Download (ca. %(download_size)s MiB)" -msgstr "" -"Pobierz (ok. %(download_size)s MiB)" - msgid "HTML" msgstr "HTML" msgid "" -"Download " -"(ca. %(download_size)s MiB)" +"Download" msgstr "" -"Pobierz (ok. " -"%(download_size)s MiB)" +"Pobierz" msgid "" -"Download " -"(ca. %(download_size)s MiB)" +"Download" msgstr "" -"Pobierz " -"(ok. %(download_size)s MiB)" +"Pobierz" msgid "Plain text" msgstr "Zwykły tekst" msgid "" -"Download " -"(ca. %(download_size)s MiB)" +"Download" msgstr "" -"Pobierz (ok. " -"%(download_size)s MiB)" +"Pobierz" msgid "" -"Download " -"(ca. %(download_size)s MiB)" +"Download" msgstr "" -"Pobierz " -"(ok. %(download_size)s MiB)" +"Pobierz" msgid "Texinfo" msgstr "Texinfo" msgid "" -"Download " -"(ca. %(download_size)s MiB)" +"Download" msgstr "" -"Pobierz " -"(ok. %(download_size)s MiB)" +"Pobierz" msgid "" "Download (ca. %(download_size)s MiB)" +"a>" msgstr "" "Pobierz (ok. %(download_size)s MiB)" +"a>" msgid "EPUB" msgstr "EPUB" -msgid "" -"Download (ca. " -"%(download_size)s MiB)" -msgstr "" -"Pobierz (ok. " -"%(download_size)s MiB)" - -msgid "These archives contain all the content in the documentation." -msgstr "Archiwa te zawierają całą zawartość dokumentacji." - -msgid "Unpacking" -msgstr "Rozpakowywanie" +msgid "Download" +msgstr "Pobierz" msgid "" -"Unix users should download the .tar.bz2 archives; these are bzipped tar\n" -"archives and can be handled in the usual way using tar and the bzip2\n" -"program. The Info-ZIP unzip " -"program can be\n" -"used to handle the ZIP archives if desired. The .tar.bz2 archives provide " -"the\n" -"best compression and fastest download times." +"\n" +"We no longer provide pre-built PDFs of the documentation.\n" +"To build a PDF archive, follow the instructions in the\n" +"Developer's Guide\n" +"and run make dist-pdf in the Doc/ directory of a " +"copy of the CPython repository.\n" msgstr "" -"Użytkownicy systemów Unix powinni pobrać archiwa .tar.bz2; są to archiwa tar " -"kompresowane algorytmem bzip i mogą być obsługiwane w zwykły sposób przy " -"użyciu tar i programu bzip2. Można użyć programu rozpakowującego Info-ZIP do obsługi archiwów " -"ZIP. Archiwa .tar.bz2 zapewniają najlepszą kompresję i najszybszy czas " -"pobierania." msgid "" -"Windows users can use the ZIP archives since those are customary on that\n" -"platform. These are created on Unix using the Info-ZIP zip program." +"\n" +"See the directory " +"listing\n" +"for file sizes." msgstr "" -"Użytkownicy systemu Windows mogą korzystać z archiwów ZIP, ponieważ są one " -"zwyczajowo używane na tej platformie. Są one tworzone na Uniksie przy użyciu " -"programu Info-ZIP." msgid "Problems" msgstr "Problemy" msgid "" -"If you have comments or suggestions for the Python documentation, please " -"send\n" -"email to docs@python.org." +"Open an issue\n" +"if you have comments or suggestions for the Python documentation." msgstr "" -"Jeśli masz komentarz lub sugestie dotyczące dokumentacji Python, wyślij e-" -"mail na adres docs@python.org." msgid "Availability" msgstr "Dostępność" @@ -227,13 +185,11 @@ msgstr "Wartość zwracana: pożyczona referencja." msgid "CPython implementation detail:" msgstr "Szczegół implementacyjny CPythona:" -msgid "" -"Deprecated since version {deprecated}, will be removed in version {removed}" -msgstr "" -"Zdezaprobowane w wersji {deprecated}, zostanie usunięte w wersji {removed}" +msgid "Deprecated since version %s, will be removed in version %s" +msgstr "Zdezaprobowane w wersji %s, zostanie usunięte w wersji %s" -msgid "Deprecated since version {deprecated}, removed in version {removed}" -msgstr "Zdezaprobowane w wersji {deprecated}, usunięte w wersji {removed}" +msgid "Deprecated since version %s, removed in version %s" +msgstr "Zdezaprobowane w wersji %s, usunięte w wersji %s" msgid "in development" msgstr "w rozwoju" @@ -370,8 +326,8 @@ msgstr "Informacje o projekcie:" msgid "Reporting issues" msgstr "Zgłaszanie błędów" -msgid "Contributing to Docs" -msgstr "Rozwijanie dokumentacji" +msgid "Contributing to docs" +msgstr "" msgid "Download the documentation" msgstr "Pobierz dokumentację" @@ -397,20 +353,20 @@ msgstr "Wszystkie wersje" msgid "Other resources" msgstr "Inne zasoby" -msgid "PEP Index" -msgstr "PEP Index" +msgid "PEP index" +msgstr "" -msgid "Beginner's Guide" +msgid "Beginner's guide" msgstr "Przewodnik dla początkujących" -msgid "Book List" +msgid "Book list" msgstr "Lista książek" -msgid "Audio/Visual Talks" -msgstr "Nagrania audio/wideo" +msgid "Audio/visual talks" +msgstr "" -msgid "Python Developer’s Guide" -msgstr "Python Developer’s Guide" +msgid "Python developer’s guide" +msgstr "" msgid "" "This document is for an old version of Python that is no longer supported.\n" diff --git a/translation_progress_en.svg b/translation_progress_en.svg new file mode 100644 index 0000000000..79e28244d6 --- /dev/null +++ b/translation_progress_en.svg @@ -0,0 +1,20414 @@ + + + + + + + + 2025-06-22T21:59:31.713079 + image/svg+xml + + + Matplotlib v3.10.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/translation_progress_pl.svg b/translation_progress_pl.svg new file mode 100644 index 0000000000..69070fb0e6 --- /dev/null +++ b/translation_progress_pl.svg @@ -0,0 +1,584 @@ + + + + + + + + 2025-06-22T22:06:49.442036 + image/svg+xml + + + Matplotlib v3.10.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tutorial/appendix.po b/tutorial/appendix.po index b3af5e14d6..22a0af0cbd 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -1,23 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Rafael Fontenelle , 2024 -# Ciarbin , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,25 +40,24 @@ msgstr "" "możliwościami kontroli linii." msgid "" -"On Windows, or Unix-like systems with :mod:`curses` support, a new " -"interactive shell is used by default. This one supports color, multiline " -"editing, history browsing, and paste mode. To disable color, see :ref:" -"`using-on-controlling-color` for details. Function keys provide some " -"additional functionality. :kbd:`F1` enters the interactive help browser :mod:" -"`pydoc`. :kbd:`F2` allows for browsing command-line history with neither " -"output nor the :term:`>>>` and :term:`...` prompts. :kbd:`F3` enters \"paste " -"mode\", which makes pasting larger blocks of code easier. Press :kbd:`F3` to " -"return to the regular prompt." +"Since Python 3.13, a new interactive shell is used by default. This one " +"supports color, multiline editing, history browsing, and paste mode. To " +"disable color, see :ref:`using-on-controlling-color` for details. Function " +"keys provide some additional functionality. :kbd:`F1` enters the interactive " +"help browser :mod:`pydoc`. :kbd:`F2` allows for browsing command-line " +"history with neither output nor the :term:`>>>` and :term:`...` prompts. :" +"kbd:`F3` enters \"paste mode\", which makes pasting larger blocks of code " +"easier. Press :kbd:`F3` to return to the regular prompt." msgstr "" -"W systemach Windows lub podobnych do Unix z obsługą :mod:`curses`, nowy " -"interaktywny shell jest używany domyślnie. Obsługuje on kolor, edytowanie " -"wieloliniowe, przeglądanie historii i tryb wklejania. Aby wyłączyć kolor, " -"zobacz :ref:`using-on-controlling-color` po szczegóły. Klawisze funkcyjne " -"zapewniają dodatkową funkcjonalność. :kbd:`F1` uruchamia interaktywną " -"przeglądarkę pomocy :mod:`pydoc`. :kbd:`F2` pozwala na przeglądanie historii " -"wiersza poleceń bez wyjścia ani podpowiedzi :term:`>>>` i :term:`...`. :kbd:" -"`F3` uruchamia „tryb wklejania”, który ułatwia wklejanie większych bloków " -"kodu. Naciśnij :kbd:`F3`, aby wrócić do zwykłego promptu." +"Od Pythona 3.13 nowy interaktywny shell jest używany domyślnie. Obsługuje on " +"kolor, edytowanie wieloliniowe, przeglądanie historii i tryb wklejania. Aby " +"wyłączyć kolor, zobacz :ref:`using-on-controlling-color` po szczegóły. " +"Klawisze funkcyjne zapewniają dodatkową funkcjonalność. :kbd:`F1` uruchamia " +"interaktywną przeglądarkę pomocy :mod:`pydoc`. :kbd:`F2` pozwala na " +"przeglądanie historii wiersza poleceń bez wyjścia ani podpowiedzi :term:" +"`>>>` i :term:`...`. :kbd:`F3` uruchamia „tryb wklejania”, który ułatwia " +"wklejanie większych bloków kodu. Naciśnij :kbd:`F3`, aby wrócić do zwykłego " +"promptu." msgid "" "When using the new interactive shell, exit the shell by typing :kbd:`exit` " diff --git a/tutorial/appetite.po b/tutorial/appetite.po index 519f03c538..8c850a7f84 100644 --- a/tutorial/appetite.po +++ b/tutorial/appetite.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2022\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/classes.po b/tutorial/classes.po index 269f575f40..990daaeba8 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -4,21 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Tomasz Rodzen , 2021 -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 +# python-doc bot, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -735,14 +731,15 @@ msgid "x.f()" msgstr "x.f()" msgid "" -"In the :class:`!MyClass` example, this will return the string ``'hello " +"If ``x = MyClass()``, as above, this will return the string ``'hello " "world'``. However, it is not necessary to call a method right away: ``x.f`` " "is a method object, and can be stored away and called at a later time. For " "example::" msgstr "" -"W przykładzie :class:`!MyClass` będzie to zwracać napis ``'hello world'`` . " -"Nie jest jednak konieczne wywoływanie metody od razu: ``x.f`` jest obiektem " -"metody i może być przechowywany i wywoływany później. Na przykład::" +"Jeśli ``x = MyClass()``, jak powyżej, powyższe zwróci napis ``'hello " +"world'`` . Nie jest jednak konieczne wywoływanie metody od razu: ``x.f`` " +"jest obiektem metody i może być przechowywany i wywoływany później. Na " +"przykład::" msgid "" "xf = x.f\n" @@ -754,7 +751,7 @@ msgstr "" " print(xf())" msgid "will continue to print ``hello world`` until the end of time." -msgstr "będzie drukować ``hello world`` do końca czasu." +msgstr "będzie drukować ``witaj świecie`` do końca czasu." msgid "" "What exactly happens when a method is called? You may have noticed that ``x." @@ -764,11 +761,11 @@ msgid "" "argument is called without any --- even if the argument isn't actually " "used..." msgstr "" -"Co dokładnie dzieje się, gdy wywoływana jest metoda? Być może zauważyłeś, " -"że ``x.f()`` został wywołany bez argument powyżej, mimo że definicja funkcja " -"dla :meth:`!f` określała argument. Co się stało z argumentem? Z pewnością " -"Python rzucić wyjątek, gdy funkcja, który wymaga argument jest wywoływany " -"bez żadnego --- nawet jeśli argument nie jest faktycznie używany...." +"Co dokładnie dzieje się, gdy wywoływana jest metoda? Być może zauważyłeś(-" +"łaś), że powyżej ``x.f()`` została wywołana bez argumentu, mimo że definicja " +"funkcji dla :meth:`!f` określała argument. Co się stało z argumentem? Z " +"pewnością Python rzuca wyjątek, gdy funkcja, który wymaga argumentu jest " +"wywoływana bez żadnego --- nawet jeśli argument nie jest faktycznie używany…" msgid "" "Actually, you may have guessed the answer: the special thing about methods " @@ -779,13 +776,13 @@ msgid "" "that is created by inserting the method's instance object before the first " "argument." msgstr "" -"Właściwie, być może zgadłeś odpowiedź: szczególną rzeczą w metodach jest to, " -"że obiekt instancji jest przekazywany jako pierwszy argument z funkcja. W " -"naszym przykładzie wywołanie ``x.f()`` jest dokładnie równoważne wywołaniu " -"``MyClass.f(x)``. Ogólnie rzecz biorąc, wywołanie metody z listą *n* " -"argument jest równoważne wywołaniu odpowiedniej funkcja z listą argument, " -"która jest tworzona przez wstawienie obiektu instancji metody przed " -"pierwszym argument." +"Właściwie, być może zgadłeś(-łaś) odpowiedź: szczególną rzeczą w metodach " +"jest to, że obiekt instancji jest przekazywany jako pierwszy argument " +"funkcji. W naszym przykładzie wywołanie ``x.f()`` jest dokładnie równoważne " +"wywołaniu ``MyClass.f(x)``. Ogólnie rzecz biorąc, wywołanie metody z listą " +"*n* argumentów jest równoważne wywołaniu odpowiedniej funkcji z listą " +"argumentów, która jest tworzona przez wstawienie obiektu instancji metody " +"przed pierwszym argumentem." msgid "" "In general, methods work as follows. When a non-data attribute of an " @@ -855,14 +852,14 @@ msgstr "" msgid "" "As discussed in :ref:`tut-object`, shared data can have possibly surprising " -"effects with involving :term:`mutable` objects such as lists and " -"dictionaries. For example, the *tricks* list in the following code should " -"not be used as a class variable because just a single list would be shared " -"by all *Dog* instances::" +"effects involving :term:`mutable` objects such as lists and dictionaries. " +"For example, the *tricks* list in the following code should not be used as a " +"class variable because just a single list would be shared by all *Dog* " +"instances::" msgstr "" "Jak omówiono w :ref:`tut-object`, współdzielone dane mogą mieć zaskakujące " "efekty z udziałem :term:`mutable` obiektów takich jak listy i słownik. Na " -"przykład, lista *sztuczki* w poniższym kodzie nie powinna być używana jako " +"przykład, lista *tricks* w poniższym kodzie nie powinna być używana jako " "zmienna klasowa, ponieważ tylko jedna lista byłaby współdzielona przez " "wszystkie instancje klasy *Dog*::" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 7fc177b92f..f2687ec45d 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -4,21 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Bartosz Chmiel , 2021 -# Igor Zubrycki , 2021 -# Lidia Lipinska-Zubrycka , 2021 -# haaritsubaki, 2023 -# Marysia Olko, 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -314,8 +310,8 @@ msgstr "" msgid "" "Later we will see more functions that return iterables and take iterables as " -"arguments. In chapter :ref:`tut-structures`, we will discuss in more detail " -"about :func:`list`." +"arguments. In chapter :ref:`tut-structures`, we will discuss :func:`list` " +"in more detail." msgstr "" "Później napotkamy więcej funkcji, które zwracają iterable i biorą iterable " "jako argumenty. W rozdziale :ref:`tut-structures`, omówimy bardziej " @@ -559,6 +555,19 @@ msgstr "" "... pass # Pamiętaj, aby to zaimplementować!\n" "..." +msgid "" +"For this last case, many people use the ellipsis literal :code:`...` instead " +"of :code:`pass`. This use has no special meaning to Python, and is not part " +"of the language definition (you could use any constant expression here), " +"but :code:`...` is used conventionally as a placeholder body as well. See :" +"ref:`bltin-ellipsis-object`." +msgstr "" +"W tym ostatnim przypadku wiele osób używa literału wielokropka :code:`...` " +"zamiast :code:`pass`. To użycie nie ma specjalnego znaczenia dla Pythona i " +"nie jest częścią definicji języka (można tu użyć dowolnego stałego " +"wyrażenia), ale :code:`...` jest również konwencjonalnie używane jako ciało " +"placeholder. Zobacz :ref:`bltin-ellipsis-object`." + msgid ":keyword:`!match` Statements" msgstr "Instrukcje :keyword:`!match`" @@ -571,6 +580,14 @@ msgid "" "also extract components (sequence elements or object attributes) from the " "value into variables. If no case matches, none of the branches is executed." msgstr "" +"Instrukcja :keyword:`match` bierze wyrażenie i porównuje jego wartość do " +"kolejnych wzorców podanych jako jeden lub więcej blok case. Jest to " +"powierzchownie podobne do instrukcji switch w C, Javie lub JavaScripcie (i " +"wielu innych językach), ale bardziej jest podobne do pattern matchingu w " +"takich językach jak Rust lub Haskell. Jedynie pierwszy pasujący wzorzec jest " +"zostaje wykonany i może on również wydobywać komponenty (elementy sekwencji " +"lub atrybuty obiektu) z wartości do zmiennych. Jeśli żaden z bloków case nie " +"pasuje, żadna z gałęzi nie jest wykonywana." msgid "" "The simplest form compares a subject value against one or more literals::" @@ -605,6 +622,8 @@ msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match." msgstr "" +"Zwróć uwagę na ostatni blok: „nazwa zmiennej” ``_`` zachowuje się jak *dzika " +"karta* i zawsze znajduje dopasowanie." msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" @@ -879,10 +898,10 @@ msgstr "" msgid "" "Patterns may use named constants. These must be dotted names to prevent " -"them from being interpreted as capture variable::" +"them from being interpreted as capture variables::" msgstr "" "Wzorce mogą używać nazwanych stałych. Trzeba je podawać po kropce, aby " -"uniknąć interpretacji przechwycenia jako zwykłej zmiennej::" +"uniknąć interpretacji jako zmiennych przechwycenia::" msgid "" "from enum import Enum\n" @@ -1130,7 +1149,7 @@ msgid "" "the object's type. Different types define different methods. Methods of " "different types may have the same name without causing ambiguity. (It is " "possible to define your own object types and methods, using *classes*, see :" -"ref:`tut-classes`) The method :meth:`!append` shown in the example is " +"ref:`tut-classes`) The method :meth:`~list.append` shown in the example is " "defined for list objects; it adds a new element at the end of the list. In " "this example it is equivalent to ``result = result + [a]``, but more " "efficient." @@ -1141,10 +1160,10 @@ msgstr "" "``methodname`` jest nazwą metody, które jest zdefiniowana przez typ obiektu. " "Różne typy definiują różne metody. Metody różnych typów mogą mieć te same " "nazwy bez powodowania dwuznaczności. (Da się definiować własne typy obiektów " -"i metody, używając *klas*, patrz :ref:`tut-classes`.) Metoda :meth:`!append` " -"pokazana w przykładzie jest zdefiniowana dla listy obiektów; dodaje nowy " -"element na końcu listy. W tym przykładzie jest równoważna ``result = result " -"+ [a]``, ale bardziej wydajna." +"i metody, używając *klas*, patrz :ref:`tut-classes`.) Metoda :meth:`~list." +"append` pokazana w przykładzie jest zdefiniowana dla listy obiektów; dodaje " +"nowy element na końcu listy. W tym przykładzie jest równoważna ``result = " +"result + [a]``, ale bardziej wydajna." msgid "More on Defining Functions" msgstr "Więcej o definiowaniu funkcji" @@ -2006,10 +2025,13 @@ msgstr "" msgid "" "The above example uses a lambda expression to return a function. Another " -"use is to pass a small function as an argument::" +"use is to pass a small function as an argument. For instance, :meth:`list." +"sort` takes a sorting key function *key* which can be a lambda function::" msgstr "" -"Powyższy przykład wykorzystuje ekspresję lambda aby zwrócić funkcję. Inne " -"wykorzystanie to przekazanie małej funkcji jako argumentu::" +"Powyższy przykład wykorzystuje wyrażenie lambda do zwrócenia funkcji. Innym " +"zastosowaniem jest przekazanie małej funkcji jako argumentu. Na przykład :" +"meth:`list.sort` przyjmuje funkcję klucza sortowania *key*, którą może być " +"funkcja lambda::" msgid "" ">>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]\n" @@ -2054,28 +2076,11 @@ msgstr "" "konwencje nazewnicze, efekty uboczne itd." msgid "" -"The Python parser does not strip indentation from multi-line string literals " -"in Python, so tools that process documentation have to strip indentation if " -"desired. This is done using the following convention. The first non-blank " -"line *after* the first line of the string determines the amount of " -"indentation for the entire documentation string. (We can't use the first " -"line since it is generally adjacent to the string's opening quotes so its " -"indentation is not apparent in the string literal.) Whitespace " -"\"equivalent\" to this indentation is then stripped from the start of all " -"lines of the string. Lines that are indented less should not occur, but if " -"they occur all their leading whitespace should be stripped. Equivalence of " -"whitespace should be tested after expansion of tabs (to 8 spaces, normally)." -msgstr "" -"Parser Pythona nie usuwa wcięć z literału stringu wielolinijkowego, więc " -"jeśli to jest pożądane, to narzędzia obrabiające dokumentację powinny usuwać " -"wcięcia. Robi się to, wykorzystując następujące. Pierwsza nie-pusta linijka " -"*po* pierwszej określa jak dużo wcięcia jest w całym docstringu. (Nie można " -"do tego wykorzystać pierwszej linijki, ponieważ ta zazwyczaj przylega do " -"cudzysłowów, więc sposób wcięcia jest nieoczywisty.) \"Ilość wcięcia\" z tej " -"linijki jest następnie usuwana z tej i wszystkich następnych linijek. W " -"kolejnych linijkach nie powinno być mniej wcięć ale jeśli tak będzie to " -"całość wcięcia powinna być usunięta. Ilość wcięcia powinna być usuwana po " -"zamianie tabulatorów na spacje (zazwyczaj na 8 spacji)." +"The Python parser strips indentation from multi-line string literals when " +"they serve as module, class, or function docstrings." +msgstr "" +"Parser Pythona usuwa wcięcia z wielowierszowych literałów ciągów znaków, gdy " +"służą one jako docstring modułu, klasy lub funkcji." msgid "Here is an example of a multi-line docstring::" msgstr "Poniżej przykład wielolinijkowego docstringu::" @@ -2084,26 +2089,38 @@ msgid "" ">>> def my_function():\n" "... \"\"\"Do nothing, but document it.\n" "...\n" -"... No, really, it doesn't do anything.\n" +"... No, really, it doesn't do anything:\n" +"...\n" +"... >>> my_function()\n" +"... >>>\n" "... \"\"\"\n" "... pass\n" "...\n" ">>> print(my_function.__doc__)\n" "Do nothing, but document it.\n" "\n" -" No, really, it doesn't do anything." +"No, really, it doesn't do anything:\n" +"\n" +" >>> my_function()\n" +" >>>" msgstr "" ">>> def my_function():\n" "... \"\"\"Nie robi nic, ale dokumentuje to.\n" "...\n" -"... Nie, naprawdę, ona nic nie robi.\n" +"... Nie, naprawdę, ona nic nie robi:\n" +"...\n" +"... >>> my_function()\n" +"... >>>\n" "... \"\"\"\n" "... pass\n" "...\n" ">>> print(my_function.__doc__)\n" "Nie robi nic, ale dokumentuje to.\n" "\n" -" Nie, naprawdę, ona nic nie robi." +"Nie, naprawdę, ona nic nie robi:\n" +"\n" +" >>> my_function()\n" +" >>>" msgid "Function Annotations" msgstr "Adnotacje funkcji" @@ -2118,7 +2135,7 @@ msgstr "" "oraz :pep:`484` aby uzyskać więcej informacji)." msgid "" -":term:`Annotations ` are stored in the :attr:`!" +":term:`Annotations ` are stored in the :attr:`~object." "__annotations__` attribute of the function as a dictionary and have no " "effect on any other part of the function. Parameter annotations are defined " "by a colon after the parameter name, followed by an expression evaluating to " @@ -2127,15 +2144,15 @@ msgid "" "denoting the end of the :keyword:`def` statement. The following example has " "a required argument, an optional argument, and the return value annotated::" msgstr "" -":term:`Adnotacje ` przechowywane są w atrybucie :attr:`!" -"__annotations__` funkcji jako słownik i nie mają oprócz żadnego innego " -"wpływu na nią. Adnotacje parametrów są definiowane po nazwie parametru i " -"dwukropku, jako wyrażenie sprawdzające wartość argumentu. Adonotacje do " -"zwracanego wyniku definiuje się pomiędzy nawiasem z listą parametrów a " -"drukropkiem kończącym instrukcję :keyword:`def` , poprzez literał ``->``, z " -"następującym po nim wyrażeniem. Poniższy przykład ma adnotację dotyczącą " -"argumentu wymaganego, argumentu opcjonalnego oraz adnotację zwracanego " -"wyniku::" +":term:`Adnotacje ` przechowywane są w atrybucie :attr:" +"`~object.__annotations__` funkcji jako słownik i nie mają oprócz żadnego " +"innego wpływu na nią. Adnotacje parametrów są definiowane po nazwie " +"parametru i dwukropku, jako wyrażenie sprawdzające wartość argumentu. " +"Adonotacje do zwracanego wyniku definiuje się pomiędzy nawiasem z listą " +"parametrów a drukropkiem kończącym instrukcję :keyword:`def` , poprzez " +"literał ``->``, z następującym po nim wyrażeniem. Poniższy przykład ma " +"adnotację dotyczącą argumentu wymaganego, argumentu opcjonalnego oraz " +"adnotację zwracanego wyniku::" msgid "" ">>> def f(ham: str, eggs: str = 'eggs') -> str:\n" @@ -2166,9 +2183,9 @@ msgstr "Intermezzo: Styl kodowania" msgid "" "Now that you are about to write longer, more complex pieces of Python, it is " "a good time to talk about *coding style*. Most languages can be written (or " -"more concise, *formatted*) in different styles; some are more readable than " -"others. Making it easy for others to read your code is always a good idea, " -"and adopting a nice coding style helps tremendously for that." +"more concisely, *formatted*) in different styles; some are more readable " +"than others. Making it easy for others to read your code is always a good " +"idea, and adopting a nice coding style helps tremendously for that." msgstr "" "Teraz, kiedy już jesteś gotowa(-wy) aby pisać dłuższe, bardziej złożone " "pythonowe dzieła, dobrze żebyśmy porozmawiali o *stylu kodowania*. Większość " @@ -2279,6 +2296,12 @@ msgstr "instrukcja" msgid "for" msgstr "for" +msgid "..." +msgstr "..." + +msgid "ellipsis literal" +msgstr "Literalny zapis wielokropka" + msgid "documentation strings" msgstr "documentation strings" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 25095c1ada..13b474a9ff 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 +# Stan Ulbrych, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,11 +39,11 @@ msgid "More on Lists" msgstr "Więcej na temat list" msgid "" -"The list data type has some more methods. Here are all of the methods of " -"list objects:" +"The :ref:`list ` data type has some more methods. Here are " +"all of the methods of list objects:" msgstr "" -"Typ danych listy ma kilka dodatkowych metod. Poniżej znajdują się wszystkie " -"metody obiektów typu listy:" +"Typ danych :ref:`list ` ma kilka dodatkowych metod. Poniżej " +"znajdują się wszystkie metody obiektów typu listy:" msgid "Add an item to the end of the list. Similar to ``a[len(a):] = [x]``." msgstr "Dodaje element na końcu listy. Podobne do ``a[len(a):] = [x]``." @@ -64,11 +65,9 @@ msgstr "" "``a.insert(len(a), x)`` odpowiada ``a.append(x)``." msgid "" -"Remove the first item from the list whose value is equal to *x*. It raises " -"a :exc:`ValueError` if there is no such item." +"Remove the first item from the list whose value is equal to *value*. It " +"raises a :exc:`ValueError` if there is no such item." msgstr "" -"Usuwa pierwszy element z listy, którego wartość jest równa *x*. Rzuca :exc:" -"`ValueError`, jeśli nie ma takiego elementu." msgid "" "Remove the item at the given position in the list, and return it. If no " @@ -85,12 +84,9 @@ msgid "Remove all items from the list. Similar to ``del a[:]``." msgstr "Usuwa wszystkie elementy z listy. Podobne do ``del a[:]``." msgid "" -"Return zero-based index in the list of the first item whose value is equal " -"to *x*. Raises a :exc:`ValueError` if there is no such item." +"Return zero-based index of the first occurrence of *value* in the list. " +"Raises a :exc:`ValueError` if there is no such item." msgstr "" -"Zwraca indeks (liczony od zera) pierwszego elementu na liście, którego " -"wartość jest równa *x*. Rzuca :exc:`ValueError`, jeśli nie ma takiego " -"elementu." msgid "" "The optional arguments *start* and *end* are interpreted as in the slice " @@ -103,8 +99,8 @@ msgstr "" "Zwracany indeks jest wyliczany względem początku pełnej sekwencji, nie " "względem argumentu *start*." -msgid "Return the number of times *x* appears in the list." -msgstr "Zwraca liczbę razy, jaką *x* występuje w liście." +msgid "Return the number of times *value* appears in the list." +msgstr "" msgid "" "Sort the items of the list in place (the arguments can be used for sort " @@ -200,15 +196,14 @@ msgstr "Używanie list jako stosów" msgid "" "The list methods make it very easy to use a list as a stack, where the last " "element added is the first element retrieved (\"last-in, first-out\"). To " -"add an item to the top of the stack, use :meth:`!append`. To retrieve an " -"item from the top of the stack, use :meth:`!pop` without an explicit index. " -"For example::" +"add an item to the top of the stack, use :meth:`~list.append`. To retrieve " +"an item from the top of the stack, use :meth:`~list.pop` without an explicit " +"index. For example::" msgstr "" -"Metody listy ułatwiają korzystanie z listy jako stos, gdzie ostatni dodany " -"element jest pierwszym pobranym elementem (\"ostatni na wejściu, pierwszy na " -"wyjściu\"). Aby dodać element na wierzchołek stosu, użyj :meth:`!append`. " -"Aby pobrać element ze szczytu stosu, użyj :meth:`!pop` bez jawnego indeks. " -"Na przykład::" +"Metody listy ułatwiają używanie listy jako stosu, gdzie ostatni element " +"dodany jest pierwszym elementem pobieranym („last-in, first-out”). Aby dodać " +"element na wierzch stosu, użyj :meth:`~list.append`. Aby pobrać element z " +"wierzchu stosu, użyj :meth:`~list.pop` bez podanego indeksu. Na przykład::" msgid "" ">>> stack = [3, 4, 5]\n" @@ -591,17 +586,16 @@ msgstr "Instrukcja :keyword:`!del`" msgid "" "There is a way to remove an item from a list given its index instead of its " -"value: the :keyword:`del` statement. This differs from the :meth:`!pop` " -"method which returns a value. The :keyword:`!del` statement can also be " -"used to remove slices from a list or clear the entire list (which we did " +"value: the :keyword:`del` statement. This differs from the :meth:`~list." +"pop` method which returns a value. The :keyword:`!del` statement can also " +"be used to remove slices from a list or clear the entire list (which we did " "earlier by assignment of an empty list to the slice). For example::" msgstr "" -"Istnieje sposób na usunięcie elementu z listy, biorąc pod uwagę jego indeks " -"zamiast jego wartości: :keyword:`del` instrukcji. Różni się to od metody :" -"meth:`!pop`, która zwraca wartość. Metoda :keyword:`!del` może być również " -"używana do usuwania wycinków z listy lub czyszczenia całej listy (co " -"zrobiliśmy wcześniej przez przypisanie pustej listy do wycinka). Na " -"przykład::" +"Element można usunąć z listy mając jego indeks zamiast wartości: instrukcją :" +"keyword:`del`. Jest ona różna od metody :meth:`~list.pop`, która zwraca " +"wartość. Instrukcji :keyword:`!del` można też użyć do usunięcia slice'ów lub " +"wyczyszczenia całej listy (zrobiliśmy to wcześniej przypisując pustą listę " +"do slice'a). Na przykład::" msgid "" ">>> a = [-1, 1, 66.25, 333, 333, 1234.5]\n" @@ -793,16 +787,17 @@ msgid "Sets" msgstr "Zbiory" msgid "" -"Python also includes a data type for *sets*. A set is an unordered " -"collection with no duplicate elements. Basic uses include membership " -"testing and eliminating duplicate entries. Set objects also support " -"mathematical operations like union, intersection, difference, and symmetric " -"difference." +"Python also includes a data type for :ref:`sets `. A set is an " +"unordered collection with no duplicate elements. Basic uses include " +"membership testing and eliminating duplicate entries. Set objects also " +"support mathematical operations like union, intersection, difference, and " +"symmetric difference." msgstr "" -"Python ma również typ danych dla zbiorów. Zbiór jest nieuporządkowaną " -"kolekcją bez zduplikowanych elementów. Podstawowe użycia to sprawdzenie " -"zawierania i eliminacja duplikatów. Obiekty zbiorów wspierają też operacje " -"matematyczne jak suma, iloczyn, różnica i różnica symetryczna zbiorów." +"Python ma również typ danych dla :ref:`zbiorów `. Zbiór jest " +"nieuporządkowaną kolekcją bez zduplikowanych elementów. Podstawowe użycia to " +"sprawdzenie zawierania i eliminacja duplikatów. Obiekty zbiorów wspierają " +"też operacje matematyczne jak suma, iloczyn, różnica i różnica symetryczna " +"zbiorów." msgid "" "Curly braces or the :func:`set` function can be used to create sets. Note: " @@ -815,6 +810,11 @@ msgstr "" "drugie tworzy pusty słownik, strukturę danych, którą omówimy w następnej " "sekcji." +msgid "" +"Because sets are unordered, iterating over them or printing them can produce " +"the elements in a different order than you expect." +msgstr "" + msgid "Here is a brief demonstration::" msgstr "Poniżej krótka demonstracja::" @@ -895,20 +895,20 @@ msgid "" "can be used as keys if they contain only strings, numbers, or tuples; if a " "tuple contains any mutable object either directly or indirectly, it cannot " "be used as a key. You can't use lists as keys, since lists can be modified " -"in place using index assignments, slice assignments, or methods like :meth:`!" -"append` and :meth:`!extend`." -msgstr "" -"Innym użytecznym typem danych wbudowanym w Python jest *słownik* (zobacz :" -"ref:`typesmapping`). słowniki są czasami spotykane w innych językach jako " -"\"pamięci asocjacyjne\" lub \"tablice asocjacyjne\". W przeciwieństwie do " -"sekwencji, które są indeksowane przez zakres liczb, słownik są indeksowane " -"przez *klucze*, które mogą być dowolnego niezmiennego typu; napis i liczby " -"zawsze mogą być kluczami. Krotki mogą być używane jako klucze, jeśli " -"zawierają tylko napisy, liczby lub krotki; jeśli krotka zawiera jakikolwiek " -"zmienny obiekt bezpośrednio lub pośrednio, nie może być użyty jako klucz. " -"Nie można używać list jako kluczy, ponieważ listy mogą być modyfikowane w " -"miejscu za pomocą indeks przypisanie , slice przypisanie, lub metod takich " -"jak :meth:`!append` i :meth:`!extend`." +"in place using index assignments, slice assignments, or methods like :meth:" +"`~list.append` and :meth:`~list.extend`." +msgstr "" +"Innym przydatnym typem danych wbudowanym w Pythona jest *słownik* (patrz :" +"ref:`typesmapping`). Słowniki w innych językach czasem występują jako " +"„pamięci asocjacyjne” albo „tablice asocjacyjne”. W przeciwieństwie do " +"sekwencji, które są indeksowane zakresem liczb, słowniki są indeksowane " +"przez *klucze*, które mogą być dowolnym niemutowalnym typem; ciągi znaków i " +"liczby zawsze mogą być kluczami. Można użyć krotek, jeśli zawierają tylko " +"ciągi znaków, liczby lub krotki; jeśli krotka zawiera choć jeden mutowalny " +"obiekt, bezpośrednio lub pośrednio, nie można jej użyć jako klucza. Nie " +"możesz używać list jako kluczy, jako że listy mogą być modyfikowane „w " +"miejscu” przy użyciu przypisań do indeksu, przypisań do slice'ów lub metod " +"jak :meth:`~list.append` i :meth:`~list.extend`." msgid "" "It is best to think of a dictionary as a set of *key: value* pairs, with the " @@ -927,15 +927,26 @@ msgid "" "The main operations on a dictionary are storing a value with some key and " "extracting the value given the key. It is also possible to delete a key:" "value pair with ``del``. If you store using a key that is already in use, " -"the old value associated with that key is forgotten. It is an error to " -"extract a value using a non-existent key." +"the old value associated with that key is forgotten." msgstr "" -"Głównymi operacjami na słowniku są umieszczanie wartości pod jakimś kluczem " +"Głównymi operacjami na słowniku są umieszczanie wartości pod jakimś kluczem " "oraz wyciąganie wartości dla podanego klucza. Możliwe jest również usunięcie " "pary klucz:wartość przy użyciu ``del``. Jeśli umieścisz wartość używając " "klucza, który już jest w użyciu, stara wartość powiązana z tym kluczem " -"zostanie zapomniana. Próba wyciągnięcia wartości przy użyciu nieistniejącego " -"klucza zakończy się błędem." +"zostanie zapomniana." + +msgid "" +"Extracting a value for a non-existent key by subscripting (``d[key]``) " +"raises a :exc:`KeyError`. To avoid getting this error when trying to access " +"a possibly non-existent key, use the :meth:`~dict.get` method instead, which " +"returns ``None`` (or a specified default value) if the key is not in the " +"dictionary." +msgstr "" +"Pobieranie wartości dla nieistniejącego klucza przez operator index " +"(``d[key]``) rzuca :exc:`KeyError`. Aby uniknąć tego błędu podczas próby " +"pobierania potencjalnie nieistniejącego klucza, należy zamiast tego użyć " +"metody :meth:`~dict.get`, która zwraca ``None`` (lub określoną domyślną " +"wartość), jeśli klucz nie znajduje się w słowniku." msgid "" "Performing ``list(d)`` on a dictionary returns a list of all the keys used " @@ -958,6 +969,12 @@ msgid "" "{'jack': 4098, 'sape': 4139, 'guido': 4127}\n" ">>> tel['jack']\n" "4098\n" +">>> tel['irv']\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"KeyError: 'irv'\n" +">>> print(tel.get('irv'))\n" +"None\n" ">>> del tel['sape']\n" ">>> tel['irv'] = 4127\n" ">>> tel\n" @@ -977,6 +994,12 @@ msgstr "" "{'jack': 4098, 'sape': 4139, 'guido': 4127}\n" ">>> tel['jack']\n" "4098\n" +">>> tel['irv']\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in\n" +"KeyError: 'irv'\n" +">>> print(tel.get('irv'))\n" +"None\n" ">>> del tel['sape']\n" ">>> tel['irv'] = 4127\n" ">>> tel\n" diff --git a/tutorial/errors.po b/tutorial/errors.po index c45b387758..f1be2eb87f 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -4,21 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Ciarbin , 2021 -# Jarosław, 2021 -# Stefan Ocetkiewicz , 2023 -# Wiktor Matuszewski , 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -70,11 +66,18 @@ msgid "" "place that needs to be fixed. In the example, the error is detected at the " "function :func:`print`, since a colon (``':'``) is missing just before it." msgstr "" +"Parser powtarza błędną linię i wyświetla małe strzałki wskazujące miejsce, w " +"którym wykryto błąd. Należy pamiętać, że nie zawsze jest to miejsce, które " +"wymaga naprawy. W przykładzie błąd jest wykryty na funkcji :func:`print`, " +"ponieważ brakuje tuż przed nią dwukropka (``':'``)." msgid "" "The file name (```` in our example) and line number are printed so " "you know where to look in case the input came from a file." msgstr "" +"Nazwa pliku (```` w naszym przykładzie) i numer linii są drukowane, " +"abyś wiedział(a), gdzie szukać, w przypadku, gdy dane wejściowe pochodzą z " +"pliku." msgid "Exceptions" msgstr "Wyjątki" @@ -255,22 +258,13 @@ msgid "" "specify handlers for different exceptions. At most one handler will be " "executed. Handlers only handle exceptions that occur in the corresponding " "*try clause*, not in other handlers of the same :keyword:`!try` statement. " -"An *except clause* may name multiple exceptions as a parenthesized tuple, " -"for example::" +"An *except clause* may name multiple exceptions, for example::" msgstr "" -"Instrukcja :keyword:`try` może mieć więcej niż jedną *klauzulę except*, aby " -"określić programy obsługi dla różnych wyjątków. Wykonany zostanie co " -"najwyżej jeden handler. Obsługiwane są tylko wyjątki, które występują w " -"odpowiadających im *klauzulach try*, a nie w kodzie obsługi tej samej " -"instrukcji :keyword:`!try`. *Klauzula except* może określać wiele wyjątków " -"krotką w nawiasach, na przykład::" msgid "" -"... except (RuntimeError, TypeError, NameError):\n" +"... except RuntimeError, TypeError, NameError:\n" "... pass" msgstr "" -"... except (RuntimeError, TypeError, NameError):\n" -"... pass" msgid "" "A class in an :keyword:`except` clause matches exceptions which are " @@ -867,6 +861,10 @@ msgid "" "This can be confusing and is therefore discouraged. From version 3.14 the " "compiler emits a :exc:`SyntaxWarning` for it (see :pep:`765`)." msgstr "" +"Jeśli klauzula :keyword:`!finally` wykonuje :keyword:`break`, :keyword:" +"`continue` lub instrukcję :keyword:`return`, wyjątki nie są dalej rzucane. " +"Może to być mylące i dlatego jest odradzane. Od wersji 3.14 kompilator " +"emituje :exc:`SyntaxWarning` dla takich przypadków (patrz :pep:`765`)." msgid "" "If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:" @@ -887,6 +885,12 @@ msgid "" "therefore discouraged. From version 3.14 the compiler emits a :exc:" "`SyntaxWarning` for it (see :pep:`765`)." msgstr "" +"Jeśli klauzula :keyword:`!finally` zawiera instrukcję :keyword:`!return`, " +"zwróconą wartością będzie ta z instrukcji :keyword:`!return` klauzuli :" +"keyword:`!finally`, a nie wartość z instrukcji :keyword:`!return` klauzuli :" +"keyword:`!try`. Może to być mylące i dlatego jest odradzane. Od wersji 3.14 " +"kompilator emituje :exc:`SyntaxWarning` dla takich przypadków (patrz :pep:" +"`765`)." msgid "For example::" msgstr "Na przykład::" @@ -1091,35 +1095,11 @@ msgid "" ">>> try:\n" "... f()\n" "... except Exception as e:\n" -"... print(f'caught {type(e)}: e')\n" +"... print(f'caught {type(e)}: {e}')\n" "...\n" -"caught : e\n" +"caught : there were problems (2 sub-exceptions)\n" ">>>" msgstr "" -">>> def f():\n" -"... excs = [OSError('błąd 1'), SystemError('błąd 2')]\n" -"... raise ExceptionGroup('były problemy', excs)\n" -"...\n" -">>> f()\n" -" + Exception Group Traceback (most recent call last):\n" -" | File \"\", line 1, in \n" -" | f()\n" -" | ~^^\n" -" | File \"\", line 3, in f\n" -" | raise ExceptionGroup('były problemy', excs)\n" -" | ExceptionGroup: były problemy (2 sub-exceptions)\n" -" +-+---------------- 1 ----------------\n" -" | OSError: błąd 1\n" -" +---------------- 2 ----------------\n" -" | SystemError: błąd 2\n" -" +------------------------------------\n" -">>> try:\n" -"... f()\n" -"... except Exception as e:\n" -"... print(f'złapany {type(e)}: e')\n" -"...\n" -"złapany : e\n" -">>>" msgid "" "By using ``except*`` instead of ``except``, we can selectively handle only " diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index a9b152385b..aa77d5dbd0 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ciarbin , 2022 -# Maciej Olko , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/index.po b/tutorial/index.po index a4ebfdbef4..7dd6704d8a 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -4,17 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stefan Ocetkiewicz , 2023 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stefan Ocetkiewicz , 2023\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,6 +27,14 @@ msgstr "" msgid "The Python Tutorial" msgstr "Python Tutorial" +msgid "" +"This tutorial is designed for *programmers* that are new to the Python " +"language, **not** *beginners* who are new to programming." +msgstr "" +"Ten tutorial jest przeznaczony dla *programistów*, którzy są nowicjuszami w " +"języku Python, **nie** *początkujących*, którzy są nowicjuszami w " +"programowaniu." + msgid "" "Python is an easy to learn, powerful programming language. It has efficient " "high-level data structures and a simple but effective approach to object-" @@ -44,7 +52,7 @@ msgstr "" msgid "" "The Python interpreter and the extensive standard library are freely " "available in source or binary form for all major platforms from the Python " -"web site, https://www.python.org/, and may be freely distributed. The same " +"website, https://www.python.org/, and may be freely distributed. The same " "site also contains distributions of and pointers to many free third party " "Python modules, programs and tools, and additional documentation." msgstr "" @@ -67,14 +75,16 @@ msgstr "" msgid "" "This tutorial introduces the reader informally to the basic concepts and " -"features of the Python language and system. It helps to have a Python " -"interpreter handy for hands-on experience, but all examples are self-" +"features of the Python language and system. Be aware that it expects you to " +"have a basic understanding of programming in general. It helps to have a " +"Python interpreter handy for hands-on experience, but all examples are self-" "contained, so the tutorial can be read off-line as well." msgstr "" -"Ten tutorial wprowadza nieformalnie czytelnika w podstawowe koncepcje i " -"cechy języka i systemu Python. Pomocnym jest mieć interpreter Pythona pod " -"ręką dla praktycznych doświadczeń, ale wszystkie przykłady są " -"samowystarczalne, więc tutorial może być również czytany off-line." +"Ten tutorial nieformalnie wprowadza czytelnika w podstawowe pojęcia i " +"funkcje języka i systemu Python. Należy pamiętać, że wymaga on podstawowej " +"wiedzy na temat programowania. Pomocne jest posiadanie pod ręką interpretera " +"Pythona do praktycznego doświadczenia, ale wszystkie przykłady są " +"samowystarczalne, więc tutorial może być również czytany offline." msgid "" "For a description of standard objects and modules, see :ref:`library-" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index b4bd01e41c..7f52dc8e87 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -4,18 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# haaritsubaki, 2023 -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -208,15 +207,18 @@ msgstr "" "\"(32.5, 40000, ('mielonka', 'jajka'))\"" msgid "" -"The :mod:`string` module contains a :class:`~string.Template` class that " -"offers yet another way to substitute values into strings, using placeholders " -"like ``$x`` and replacing them with values from a dictionary, but offers " -"much less control of the formatting." +"The :mod:`string` module contains support for a simple templating approach " +"based upon regular expressions, via :class:`string.Template`. This offers " +"yet another way to substitute values into strings, using placeholders like " +"``$x`` and replacing them with values from a dictionary. This syntax is easy " +"to use, although it offers much less control for formatting." msgstr "" -"Moduł :mod:`string` zawiera klasę :class:`~string.Template`, która oferuje " -"jeszcze jeden sposób zastępowania wartości ciągami znaków, przy użyciu " -"placeholderów takich jak ``$x`` i zastępując je wartościami ze słownika, ale " -"daje mniejszą kontrolę nad formatowaniem." +"Moduł :mod:`string` moduł zawiera wparcie dla prostego podejścia " +"szablonowania opartego na wyrażeniach regularnych, poprzez :class:`string." +"Template`. Oferuje on jeszcze jeden sposób na wstawianie wartości w ciągi " +"znaków, używając placeholderów jak ``$x`` i zastępując je wartościami ze " +"słownika. Ta składnia jest łatwa w użyciu, chociaż oferuje znacznie mniejszą " +"kontrolę nad formatowaniem." msgid "Formatted String Literals" msgstr "f-stringi" diff --git a/tutorial/interactive.po b/tutorial/interactive.po index 0255c2b307..af5e018db7 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# ac4a8e5d3d92195fc6d50ffd472aae19_7eb0c45, 2022 -# Maciej Olko , 2023 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2023\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,6 +79,13 @@ msgid "" "might use the interpreter's symbol table. A command to check (or even " "suggest) matching parentheses, quotes, etc., would also be useful." msgstr "" +"To ułatwienie jest olbrzymim krokiem naprzód w porównaniu z wcześniejszymi " +"wersjami interpretera, jednakże, niektóre życzenia pozostają: byłoby dobrze, " +"gdyby prawidłowe wcięcia były podpowiadane w kontynuowanych liniach " +"(analizator składni wie, jeżeli token :data:`~token.INDENT` jest dalej " +"wymagany). Mechanizm uzupełniania mógłby używać tabeli symboli interpretera. " +"Polecenie, aby sprawdzić (lub nawet podpowiedzieć) pasujący nawias, " +"cudzysłów itp. także byłoby użyteczne." msgid "" "One alternative enhanced interactive interpreter that has been around for " diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index 70737587a5..7223e7f585 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -4,16 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,7 +42,7 @@ msgstr "" "uniksowego shella umożliwia jego uruchomienie przez wpisanie komendy:" msgid "python3.14" -msgstr "" +msgstr "python3.14" msgid "" "to the shell. [#]_ Since the choice of the directory where the interpreter " @@ -80,25 +81,25 @@ msgstr "" msgid "" "The interpreter's line-editing features include interactive editing, history " -"substitution and code completion on systems that support the `GNU Readline " -"`_ library. Perhaps " -"the quickest check to see whether command line editing is supported is " -"typing :kbd:`Control-P` to the first Python prompt you get. If it beeps, " -"you have command line editing; see Appendix :ref:`tut-interacting` for an " -"introduction to the keys. If nothing appears to happen, or if ``^P`` is " -"echoed, command line editing isn't available; you'll only be able to use " -"backspace to remove characters from the current line." +"substitution and code completion on most systems. Perhaps the quickest check " +"to see whether command line editing is supported is typing a word in on the " +"Python prompt, then pressing Left arrow (or :kbd:`Control-b`). If the cursor " +"moves, you have command line editing; see Appendix :ref:`tut-interacting` " +"for an introduction to the keys. If nothing appears to happen, or if a " +"sequence like ``^[[D`` or ``^B`` appears, command line editing isn't " +"available; you'll only be able to use backspace to remove characters from " +"the current line." msgstr "" "Funkcje edycji linii interpretera obejmują interaktywną edycję, zastępowanie " -"historii i uzupełnianie kodu w systemach wspierających bibliotekę `GNU " -"Readline `_. " -"Prawdopodobnie najszybszym sposobem sprawdzenia, czy posiadasz rozszerzone " -"właściwości linii poleceń, jest naciśnięcie :kbd:`Control-P` za pierwszym " -"znakiem zachęty Pythona, który zobaczysz po jego uruchomieniu. Jeżeli " -"zabrzęczy, masz edycję linii poleceń; zobacz wprowadzenie do klawiszy w " -"dodatku :ref:`tut-interacting`. Jeśli nic się nie zdarzy lub pojawi się " -"``^P``, to edycja linii poleceń nie jest dostępna; będziesz mógł tylko " -"używać klawisza backspace, aby usuwać znaki z bieżącego wiersza." +"historii i uzupełnianie kodu w większości systemów. Prawdopodobnie " +"najszybszym sposobem sprawdzenia, czy posiadasz rozszerzone właściwości " +"linii poleceń, jest wpisanie słowa przy prompcie Pythona, następnie " +"naciśnięcie strzałki w lewo (lub :kbd:`Control-b`). Jeśli kursor przesunie " +"się, masz możliwość edycji linii poleceń; zobacz wprowadzenie do klawiszy w " +"dodatku :ref:`tut-interacting`. Jeśli nic się nie zdarzy lub pojawi się ciąg " +"znaków jak ``^[[D`` lub ``^B``, to edycja linii poleceń nie jest dostępna; " +"będziesz mógł tylko używać klawisza backspace, aby usuwać znaki z bieżącego " +"wiersza." msgid "" "The interpreter operates somewhat like the Unix shell: when called with " @@ -203,6 +204,12 @@ msgid "" "information.\n" ">>>" msgstr "" +"$ python3.14\n" +"Python 3.14 (default, April 4 2024, 09:25:04)\n" +"[GCC 10.2.0] on linux\n" +"Type \"help\", \"copyright\", \"credits\" or \"license\" for more " +"information.\n" +">>>" msgid "" "Continuation lines are needed when entering a multi-line construct. As an " diff --git a/tutorial/introduction.po b/tutorial/introduction.po index 22416c8d16..8b1d424cf6 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -4,18 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Ciarbin , 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,15 +44,13 @@ msgstr "" "komendy." msgid "" -"You can toggle the display of prompts and output by clicking on ``>>>`` in " -"the upper-right corner of an example box. If you hide the prompts and " -"output for an example, then you can easily copy and paste the input lines " -"into your interpreter." +"You can use the \"Copy\" button (it appears in the upper-right corner when " +"hovering over or tapping a code example), which strips prompts and omits " +"output, to copy and paste the input lines into your interpreter." msgstr "" -"Możesz przełączać wyświetlanie promptów i wyjścia klikając na ``>>>`` w " -"prawym górnym rogu pola z przykładem. Jeśli schowasz prompty i wyjście dla " -"przykładu, wtedy możesz prosto skopiować i wkleić linie wejścia w swój " -"interpreter." +"Możesz użyć przycisku „Copy” (pojawia się w prawym górnym rogu po najechaniu " +"kursorem lub dotknięciu przykładu kodu), który usuwa prompty i pomija dane " +"wyjściowe, aby skopiować i wkleić linie wejściowe do swojego interpretera." msgid "" "Many of the examples in this manual, even those entered at the interactive " @@ -101,7 +98,7 @@ msgid "Numbers" msgstr "Liczby" msgid "" -"The interpreter acts as a simple calculator: you can type an expression at " +"The interpreter acts as a simple calculator: you can type an expression into " "it and it will write the value. Expression syntax is straightforward: the " "operators ``+``, ``-``, ``*`` and ``/`` can be used to perform arithmetic; " "parentheses (``()``) can be used for grouping. For example::" @@ -312,6 +309,12 @@ msgid "" ">>> '1975' # digits and numerals enclosed in quotes are also strings\n" "'1975'" msgstr "" +">>> 'spam eggs' # pojedynczy cudzysłów\n" +"'spam eggs'\n" +">>> \"Paris rabbit got your back :)! Yay!\" # podwójny cudzysłów\n" +"'Paris rabbit got your back :)! Yay!'\n" +">>> '1975' # cyfry i liczby ujęte w cudzysłów są również ciągami znaków\n" +"'1975'" msgid "" "To quote a quote, we need to \"escape\" it, by preceding it with ``\\``. " @@ -383,17 +386,12 @@ msgstr "" "dodając ``r`` przed pierwszym cudzysłowem::" msgid "" -">>> print('C:\\some\\name') # here \\n means newline!\n" -"C:\\some\n" +">>> print('C:\\this\\name') # here \\t means tab, \\n means newline\n" +"C: his\n" "ame\n" -">>> print(r'C:\\some\\name') # note the r before the quote\n" -"C:\\some\\name" +">>> print(r'C:\\this\\name') # note the r before the quote\n" +"C:\\this\\name" msgstr "" -">>> print('C:\\jakas\\nazwa') # tutaj \\n oznacza nową linię!\n" -"C:\\jakas\n" -"azwa\n" -">>> print(r'C:\\jakas\\nazwa') # zwróć uwagę na r przed cudzysłowem\n" -"C:\\jakas\\nazwa" msgid "" "There is one subtle aspect to raw strings: a raw string may not end in an " @@ -412,6 +410,11 @@ msgid "" "adding a ``\\`` at the end of the line. In the following example, the " "initial newline is not included::" msgstr "" +"Literał ciągu znaków może obejmować wiele linii. Jednym ze sposobów jest " +"użycie potrójnych cudzysłowów: ``\"\"\"...\"\"\"`` lub ``'''...'''``. Znaki " +"końca linii są automatycznie dołączane do napisów, ale można temu zapobiec, " +"dodając ``\\`` na końcu linii. W poniższym przykładzie początkowy znak nowej " +"linii nie jest uwzględniony::" msgid "" ">>> print(\"\"\"\\\n" @@ -880,11 +883,11 @@ msgstr "" "[1, 8, 27, 64, 125]" msgid "" -"You can also add new items at the end of the list, by using the :meth:`!list." +"You can also add new items at the end of the list, by using the :meth:`list." "append` *method* (we will see more about methods later)::" msgstr "" "Można również dodawać nowe elementy na końcu listy, przez użycie *metody* " -"(dowiemy się więcej o metodach później) :meth:`!list.append`::" +"(dowiemy się więcej o metodach później) :meth:`list.append`::" msgid "" ">>> cubes.append(216) # add the cube of 6\n" diff --git a/tutorial/modules.po b/tutorial/modules.po index f5dcc331b6..b6420b1d2f 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ciarbin , 2024 +# python-doc bot, 2025 # Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"POT-Creation-Date: 2026-03-19 14:42+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" @@ -78,14 +78,16 @@ msgstr "" msgid "" "# Fibonacci numbers module\n" "\n" -"def fib(n): # write Fibonacci series up to n\n" +"def fib(n):\n" +" \"\"\"Write Fibonacci series up to n.\"\"\"\n" " a, b = 0, 1\n" " while a < n:\n" " print(a, end=' ')\n" " a, b = b, a+b\n" " print()\n" "\n" -"def fib2(n): # return Fibonacci series up to n\n" +"def fib2(n):\n" +" \"\"\"Return Fibonacci series up to n.\"\"\"\n" " result = []\n" " a, b = 0, 1\n" " while a < n:\n" @@ -95,14 +97,16 @@ msgid "" msgstr "" "# moduł liczb Fibonacciego\n" "\n" -"def fib(n): # wypisz ciąg Fibonacieggo do n\n" +"def fib(n):\n" +" \"\"\"Wypisz ciąg Fibonacieggo do n.\"\"\"\n" " a, b = 0, 1\n" " while a < n:\n" " print(a, end=' ')\n" " a, b = b, a+b\n" " print()\n" "\n" -"def fib2(n): # zwróć ciąg Fibonacciego do n\n" +"def fib2(n):\n" +" \"\"\"Zwróć ciąg Fibonacciego do n.\"\"\"\n" " result = []\n" " a, b = 0, 1\n" " while a < n:\n" @@ -1158,15 +1162,15 @@ msgstr "" "from ..filters import equalizer" msgid "" -"Note that relative imports are based on the name of the current module. " -"Since the name of the main module is always ``\"__main__\"``, modules " -"intended for use as the main module of a Python application must always use " -"absolute imports." +"Note that relative imports are based on the name of the current module's " +"package. Since the main module does not have a package, modules intended for " +"use as the main module of a Python application must always use absolute " +"imports." msgstr "" -"Należy zauważyć, że importy względne są oparte na nazwie bieżącego modułu. " -"Ponieważ nazwa głównego modułu to zawsze ``\"__main__\"``, moduły " -"przeznaczone do użycia jako główny moduł aplikacji w Python-ie muszą zawsze " -"używać bezwzględnego importu." +"Należy zauważyć, że importy względne są oparte na nazwie pakietu bieżącego " +"modułu. Ponieważ główny moduł nie ma pakietu, moduły przeznaczone do użycia " +"jako główny moduł aplikacji w Pythonie muszą zawsze używać bezwzględnych " +"importów." msgid "Packages in Multiple Directories" msgstr "Pakiety w wielu katalogach" diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po index 52f0efc1d7..df0f9d9ede 100644 --- a/tutorial/stdlib.po +++ b/tutorial/stdlib.po @@ -4,20 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Igor Zubrycki , 2021 -# Stefan Ocetkiewicz , 2023 -# haaritsubaki, 2023 -# Ciarbin , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,11 +24,11 @@ msgstr "" "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -msgid "Brief Tour of the Standard Library" -msgstr "Krótka wycieczka po Bibliotece Standardowej" +msgid "Brief tour of the standard library" +msgstr "" -msgid "Operating System Interface" -msgstr "Interfejs Systemu Operacyjnego" +msgid "Operating system interface" +msgstr "" msgid "" "The :mod:`os` module provides dozens of functions for interacting with the " @@ -48,6 +45,12 @@ msgid "" ">>> os.system('mkdir today') # Run the command mkdir in the system shell\n" "0" msgstr "" +">>> import os\n" +">>> os.getcwd() # Zwróć aktualny folder roboczy\n" +"'C:\\\\Python314'\n" +">>> os.chdir('/server/accesslogs') # Zmień aktualny folder roboczy\n" +">>> os.system('mkdir today') # Uruchom komendę mkdir w powłoce\n" +"0" msgid "" "Be sure to use the ``import os`` style instead of ``from os import *``. " @@ -98,8 +101,8 @@ msgstr "" ">>> shutil.move('/build/executables', 'installdir')\n" "'installdir'" -msgid "File Wildcards" -msgstr "Symbole wieloznaczne plików" +msgid "File wildcards" +msgstr "" msgid "" "The :mod:`glob` module provides a function for making file lists from " @@ -117,8 +120,8 @@ msgstr "" ">>> glob.glob('*.py')\n" "['primes.py', 'random.py', 'quote.py']" -msgid "Command Line Arguments" -msgstr "Argumenty linii polecenia" +msgid "Command-line arguments" +msgstr "" msgid "" "Common utility scripts often need to process command line arguments. These " @@ -186,8 +189,8 @@ msgstr "" "txt``, skrypt ustawia ``args.lines`` na ``5`` i ``args.filenames`` na " "``['alpha.txt', 'beta.txt']``." -msgid "Error Output Redirection and Program Termination" -msgstr "Przekierowanie wyjścia błędu i zakończenie programu" +msgid "Error output redirection and program termination" +msgstr "" msgid "" "The :mod:`sys` module also has attributes for *stdin*, *stdout*, and " @@ -212,8 +215,8 @@ msgstr "" "Najbardziej bezpośrednim sposobem na zakończenie skryptu jest użycie ``sys." "exit()``." -msgid "String Pattern Matching" -msgstr "Dopasowywanie wzorców w napisach" +msgid "String pattern matching" +msgstr "" msgid "" "The :mod:`re` module provides regular expression tools for advanced string " @@ -334,8 +337,8 @@ msgstr "" "Projekt SciPy posiada wiele innych modułów służących do " "obliczeń numerycznych." -msgid "Internet Access" -msgstr "Dostęp do internetu" +msgid "Internet access" +msgstr "" msgid "" "There are a number of modules for accessing the internet and processing " @@ -348,14 +351,13 @@ msgstr "" msgid "" ">>> from urllib.request import urlopen\n" -">>> with urlopen('http://worldtimeapi.org/api/timezone/etc/UTC.txt') as " -"response:\n" +">>> with urlopen('https://docs.python.org/3/') as response:\n" "... for line in response:\n" "... line = line.decode() # Convert bytes to a str\n" -"... if line.startswith('datetime'):\n" +"... if 'updated' in line:\n" "... print(line.rstrip()) # Remove trailing newline\n" "...\n" -"datetime: 2022-01-01T01:36:47.689215+00:00\n" +" Last updated on Nov 11, 2025 (20:11 UTC).\n" "\n" ">>> import smtplib\n" ">>> server = smtplib.SMTP('localhost')\n" @@ -368,15 +370,14 @@ msgid "" ">>> server.quit()" msgstr "" ">>> from urllib.request import urlopen\n" -">>> with urlopen('http://worldtimeapi.org/api/timezone/etc/UTC.txt') as " -"response:\n" +">>> with urlopen('https://docs.python.org/3/') as response:\n" "... for line in response:\n" "... line = line.decode() # Konwersja bajtów na str\n" -"... if line.startswith('datetime'):\n" +"... if 'updated' in line:\n" "... print(line.rstrip()) # Usunięcie końcowego znaku nowej " "linii\n" "...\n" -"datetime: 2022-01-01T01:36:47.689215+00:00\n" +" Last updated on Nov 11, 2025 (20:11 UTC).\n" "\n" ">>> import smtplib\n" ">>> server = smtplib.SMTP('localhost')\n" @@ -393,8 +394,8 @@ msgstr "" "(Zauważ, że drugi przykład wymaga serwera pocztowego działającego lokalnie " "pod adresem `localhost`)." -msgid "Dates and Times" -msgstr "Daty i czas" +msgid "Dates and times" +msgstr "" msgid "" "The :mod:`datetime` module supplies classes for manipulating dates and times " @@ -411,35 +412,22 @@ msgstr "" msgid "" ">>> # dates are easily constructed and formatted\n" -">>> from datetime import date\n" -">>> now = date.today()\n" +">>> import datetime as dt\n" +">>> now = dt.date.today()\n" ">>> now\n" "datetime.date(2003, 12, 2)\n" ">>> now.strftime(\"%m-%d-%y. %d %b %Y is a %A on the %d day of %B.\")\n" "'12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.'\n" "\n" ">>> # dates support calendar arithmetic\n" -">>> birthday = date(1964, 7, 31)\n" +">>> birthday = dt.date(1964, 7, 31)\n" ">>> age = now - birthday\n" ">>> age.days\n" "14368" msgstr "" -">>> # daty są łatwo konstruowane i formatowane\n" -">>> from datetime import date\n" -">>> teraz = date.today()\n" -">>> teraz\n" -"datetime.date(2024, 11, 25)\n" -">>> teraz.strftime(\"%m-%d-%y. %d %b %Y jest %A w %d dniu %B.\")\n" -"'11-25-24. 25 Listopada 2024 to Poniedziałek dnia 25 Listopada .\n" -"\n" -">>> # daty obsługują arytmetykę kalendarza\n" -">>> urodziny = date(1964, 7, 31)\n" -">>> wiek = teraz - birthday\n" -">>> wiek.days\n" -"14368" -msgid "Data Compression" -msgstr "Kompresja Danych" +msgid "Data compression" +msgstr "" msgid "" "Common data archiving and compression formats are directly supported by " @@ -475,8 +463,8 @@ msgstr "" ">>> zlib.crc32(s)\n" "2301872819" -msgid "Performance Measurement" -msgstr "Mierzenie wydajności" +msgid "Performance measurement" +msgstr "" msgid "" "Some Python users develop a deep interest in knowing the relative " @@ -518,8 +506,8 @@ msgstr "" "moduły :mod:`profile` i :mod:`pstats` zapewniają narzędzia do identyfikacji " "sekcji krytycznych czasowo w większych blok kodu." -msgid "Quality Control" -msgstr "Kontrola jakości" +msgid "Quality control" +msgstr "" msgid "" "One approach for developing high quality software is to write tests for each " @@ -606,8 +594,8 @@ msgstr "" "\n" "unittest.main() # Wywołanie z wiersza poleceń uruchamia wszystkie testy" -msgid "Batteries Included" -msgstr "Dostarczone z bateriami" +msgid "Batteries included" +msgstr "" msgid "" "Python has a \"batteries included\" philosophy. This is best seen through " @@ -629,14 +617,14 @@ msgstr "" msgid "" "The :mod:`email` package is a library for managing email messages, including " -"MIME and other :rfc:`2822`-based message documents. Unlike :mod:`smtplib` " +"MIME and other :rfc:`5322`-based message documents. Unlike :mod:`smtplib` " "and :mod:`poplib` which actually send and receive messages, the email " "package has a complete toolset for building or decoding complex message " "structures (including attachments) and for implementing internet encoding " "and header protocols." msgstr "" "Pakiet :mod:`email` jest biblioteką do zarządzania wiadomościami e-mail, w " -"tym MIME i innymi dokumentami wiadomości opartymi na :rfc:`2822`. W " +"tym MIME i innymi dokumentami wiadomości opartymi na :rfc:`5322`. W " "przeciwieństwie do :mod:`smtplib` i :mod:`poplib`, które faktycznie wysyłają " "i odbierają wiadomości, pakiet e-mail posiada kompletny zestaw narzędzi do " "tworzenia lub dekodowania złożonych struktur wiadomości (w tym załączników) " diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po index f0bd286773..b93cf3d7a8 100644 --- a/tutorial/stdlib2.po +++ b/tutorial/stdlib2.po @@ -4,17 +4,17 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2024 -# Maciej Olko , 2024 +# python-doc bot, 2025 +# Maciej Olko , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Maciej Olko , 2024\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -559,6 +559,28 @@ msgid "" " o = self.data[key]()\n" "KeyError: 'primary'" msgstr "" +">>> import weakref, gc\n" +">>> class A:\n" +"... def __init__(self, value):\n" +"... self.value = value\n" +"... def __repr__(self):\n" +"... return str(self.value)\n" +"...\n" +">>> a = A(10) # utwórz odniesienie\n" +">>> d = weakref.WeakValueDictionary()\n" +">>> d['primary'] = a # nie tworzy odniesienia\n" +">>> d['primary'] # pobierz obiekt, jeśli nadal istnieje\n" +"10\n" +">>> del a # usuń jedyne odniesienie\n" +">>> gc.collect() # wymuś natychmiastowe uruchomienie garbage collection\n" +"0\n" +">>> d['primary'] # wpis został automatycznie usunięty\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" d['primary'] # wpis został automatycznie usunięty\n" +" File \"C:/python314/lib/weakref.py\", line 46, in __getitem__\n" +" o = self.data[key]()\n" +"KeyError: 'primary'" msgid "Tools for Working with Lists" msgstr "Narzędzia do pracy z listami" diff --git a/tutorial/venv.po b/tutorial/venv.po index a5b904f914..bb777282b0 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2024 -# Ciarbin , 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Ciarbin , 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index ed59bf94d5..adefaa17fd 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -1,22 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Ciarbin , 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 +# Maciej Olko , 2026 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: Maciej Olko , 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -86,12 +84,12 @@ msgid "More Python resources:" msgstr "Więcej zasobów Pythona:" msgid "" -"https://www.python.org: The major Python web site. It contains code, " +"https://www.python.org: The major Python website. It contains code, " "documentation, and pointers to Python-related pages around the web." msgstr "" "https://www.python.org: Główna strona internetowa poświęcona językowi " "Python. Zawiera kod, dokumentację oraz odnośniki do innych stron związanych " -"z Python-em." +"z Pythonem." msgid "https://docs.python.org: Fast access to Python's documentation." msgstr "https://docs.python.org/pl: Szybki dostęp do dokumentacji Pythona." @@ -169,7 +167,7 @@ msgid "Footnotes" msgstr "Przypisy" msgid "" -"\"Cheese Shop\" is a Monty Python's sketch: a customer enters a cheese shop, " +"\"Cheese Shop\" is a Monty Python sketch: a customer enters a cheese shop, " "but whatever cheese he asks for, the clerk says it's missing." msgstr "" "\"Sklep z Serami\" (Cheese Shop) to skecz Monty Pythona: klient wchodzi do " diff --git a/update_switcher_chart.py b/update_switcher_chart.py deleted file mode 100644 index 7ddca16b3f..0000000000 --- a/update_switcher_chart.py +++ /dev/null @@ -1,35 +0,0 @@ -# EOL code, saving as this can be repurposed for a chart with the total translation progress - -from datetime import datetime -from re import search - -from git import Repo, GitCommandError -from matplotlib import pyplot -from matplotlib.ticker import PercentFormatter - -repo = Repo('.') -progress, dates = [], [] -for commit in repo.iter_commits(): - try: - readme_content = repo.git.show('{}:{}'.format(commit.hexsha, 'README.md')) - except GitCommandError: - continue - found = search(r'!\[(\d\d.\d\d)% przełącznika języków]', readme_content) - if not found: - found = search(r'!\[(\d+.\d\d)% language switchera]', readme_content) - if not found: - found = search(r'!\[(\d+.\d\d)% do language switchera]', readme_content) - if not found: - print(readme_content) - continue - number = float(found.group(1)) - progress.append(number) - dates.append(datetime.fromtimestamp(commit.authored_date)) - -pyplot.plot_date(dates, progress, linestyle='-', marker='') -pyplot.ylim(ymin=0) -pyplot.grid() -pyplot.gcf().autofmt_xdate() -pyplot.gca().yaxis.set_major_formatter(PercentFormatter()) -pyplot.title("Postęp tłumaczenia do dodania do przełącznika języków") -pyplot.savefig("language-switcher-progress.svg") diff --git a/using/android.po b/using/android.po index 66f18130b1..fb3b67eab6 100644 --- a/using/android.po +++ b/using/android.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-09-27 14:19+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -87,9 +87,19 @@ msgid "" "contains a link to the relevant file." msgstr "" +msgid "First, acquire a build of Python for Android:" +msgstr "" + +msgid "" +"The easiest way is to download an Android release from `python.org `__. The ``prefix`` directory mentioned " +"below is at the top level of the package." +msgstr "" + msgid "" -"Build Python by following the instructions in :source:`Android/README.md`. " -"This will create the directory ``cross-build/HOST/prefix``." +"Or if you want to build it yourself, follow the instructions in :source:" +"`Android/README.md`. The ``prefix`` directory will be created under :samp:" +"`cross-build/{HOST}`." msgstr "" msgid "" @@ -126,3 +136,14 @@ msgid "" "testbed/app/src/main/c/main_activity.c>`. This will need to be C code called " "via JNI." msgstr "" + +msgid "Building a Python package for Android" +msgstr "" + +msgid "" +"Python packages can be built for Android as wheels and released on PyPI. The " +"recommended tool for doing this is `cibuildwheel `__, which automates all the details of " +"setting up a cross-compilation environment, building the wheel, and testing " +"it on an emulator." +msgstr "" diff --git a/using/cmdline.po b/using/cmdline.po index 488c10c116..0a66745457 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-25 14:54+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -431,8 +431,8 @@ msgstr "" msgid "" "Turn on hash randomization. This option only has an effect if the :envvar:" -"`PYTHONHASHSEED` environment variable is set to ``0``, since hash " -"randomization is enabled by default." +"`PYTHONHASHSEED` environment variable is set to anything other than " +"``random``, since hash randomization is enabled by default." msgstr "" msgid "" @@ -447,7 +447,7 @@ msgid "" "Hash randomization is intended to provide protection against a denial-of-" "service caused by carefully chosen inputs that exploit the worst case " "performance of a dict construction, *O*\\ (*n*\\ :sup:`2`) complexity. See " -"http://ocert.org/advisories/ocert-2011-003.html for details." +"https://ocert.org/advisories/ocert-2011-003.html for details." msgstr "" msgid "" @@ -744,7 +744,7 @@ msgstr "" msgid "" ":samp:`-X thread_inherit_context={0,1}` causes :class:`~threading.Thread` " -"to, by default, use a copy of context of of the caller of ``Thread.start()`` " +"to, by default, use a copy of context of the caller of ``Thread.start()`` " "when starting. Otherwise, threads will start with an empty context. If " "unset, the value of this option defaults to ``1`` on free-threaded builds " "and to ``0`` otherwise. See also :envvar:`PYTHON_THREAD_INHERIT_CONTEXT`." @@ -758,6 +758,13 @@ msgid "" "`PYTHON_CONTEXT_AWARE_WARNINGS`." msgstr "" +msgid "" +":samp:`-X tlbc={0,1}` enables (1, the default) or disables (0) thread-local " +"bytecode in builds configured with :option:`--disable-gil`. When disabled, " +"this also disables the specializing interpreter. See also :envvar:" +"`PYTHON_TLBC`." +msgstr "" + msgid "" "It also allows passing arbitrary values and retrieving them through the :" "data:`sys._xoptions` dictionary." @@ -1117,19 +1124,27 @@ msgstr "" msgid "``mimalloc_debug``: same as ``mimalloc`` but also install debug hooks." msgstr "" +msgid "" +"In the :term:`free-threaded ` build, the ``malloc``, " +"``malloc_debug``, ``pymalloc``, and ``pymalloc_debug`` values are not " +"supported. Only ``default``, ``debug``, ``mimalloc``, and " +"``mimalloc_debug`` are accepted." +msgstr "" + msgid "Added the ``\"default\"`` allocator." msgstr "" msgid "" "If set to a non-empty string, Python will print statistics of the :ref:" -"`pymalloc memory allocator ` every time a new pymalloc object " -"arena is created, and on shutdown." +"`pymalloc memory allocator ` or the :ref:`mimalloc memory " +"allocator ` (whichever is in use) every time a new object arena is " +"created, and on shutdown." msgstr "" msgid "" "This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable " "is used to force the :c:func:`malloc` allocator of the C library, or if " -"Python is configured without ``pymalloc`` support." +"Python is configured without both ``pymalloc`` and ``mimalloc`` support." msgstr "" msgid "" @@ -1327,8 +1342,8 @@ msgstr "" msgid "" "If this variable is set to any value, the interpreter will not attempt to " -"load the Python-based :term:`REPL` that requires :mod:`curses` and :mod:" -"`readline`, and will instead use the traditional parser-based :term:`REPL`." +"load the Python-based :term:`REPL` that requires :mod:`readline`, and will " +"instead use the traditional parser-based :term:`REPL`." msgstr "" msgid "" @@ -1350,7 +1365,7 @@ msgstr "" msgid "" "If this variable is set to ``1`` then :class:`~threading.Thread` will, by " -"default, use a copy of context of of the caller of ``Thread.start()`` when " +"default, use a copy of context of the caller of ``Thread.start()`` when " "starting. Otherwise, new threads will start with an empty context. If " "unset, this variable defaults to ``1`` on free-threaded builds and to ``0`` " "otherwise. See also :option:`-X thread_inherit_context<-X>`." @@ -1369,6 +1384,15 @@ msgid "" "interpreter startup." msgstr "" +msgid "" +"If set to ``1`` enables thread-local bytecode. If set to ``0`` thread-local " +"bytecode and the specializing interpreter are disabled. Only applies to " +"builds configured with :option:`--disable-gil`." +msgstr "" + +msgid "See also the :option:`-X tlbc <-X>` command-line option." +msgstr "" + msgid "Debug-mode variables" msgstr "" diff --git a/using/configure.po b/using/configure.po index 97134fe189..e1edc5e128 100644 --- a/using/configure.po +++ b/using/configure.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-04-03 14:38+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +29,7 @@ msgstr "" msgid "Build Requirements" msgstr "" -msgid "Features and minimum versions required to build CPython:" +msgid "To build CPython, you will need:" msgstr "" msgid "" @@ -51,56 +50,224 @@ msgstr "" msgid "Support for threads." msgstr "" +msgid "On Windows, Visual Studio 2015 or later is now required." +msgstr "" + msgid "" -"OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.16 is the recommended " -"minimum version for the :mod:`ssl` and :mod:`hashlib` extension modules." +"Selected C99 features, like ```` and ``static inline`` functions, " +"are now required." msgstr "" -msgid "SQLite 3.15.2 for the :mod:`sqlite3` extension module." +msgid "Thread support is now required." msgstr "" -msgid "Tcl/Tk 8.5.12 for the :mod:`tkinter` module." +msgid "" +"C11 compiler, IEEE 754 and NaN support are now required. On Windows, Visual " +"Studio 2017 or later is required." msgstr "" msgid "" -"Autoconf 2.72 and aclocal 1.16.5 are required to regenerate the :file:" -"`configure` script." +"See also :pep:`7` \"Style Guide for C Code\" and :pep:`11` \"CPython " +"platform support\"." +msgstr "" + +msgid "Requirements for optional modules" msgstr "" -msgid "Tcl/Tk version 8.3.1 is now required." +msgid "" +"Some :term:`optional modules ` of the standard library " +"require third-party libraries installed for development (for example, header " +"files must be available)." msgstr "" msgid "" -"On Windows, Visual Studio 2015 or later is now required. Tcl/Tk version 8.4 " -"is now required." +"Missing requirements are reported in the ``configure`` output. Modules that " +"are missing due to missing dependencies are listed near the end of the " +"``make`` output, sometimes using an internal name, for example, ``_ctypes`` " +"for :mod:`ctypes` module." msgstr "" msgid "" -"Selected C99 features are now required, like ```` and ``static " -"inline`` functions." +"If you distribute a CPython interpreter without optional modules, it's best " +"practice to advise users, who generally expect that standard library modules " +"are available." +msgstr "" + +msgid "Dependencies to build optional modules are:" +msgstr "" + +msgid "Dependency" +msgstr "" + +msgid "Minimum version" +msgstr "" + +msgid "Python module" msgstr "" -msgid "Thread support and OpenSSL 1.0.2 are now required." +msgid "`libbz2 `_" msgstr "" -msgid "OpenSSL 1.1.1 is now required. Require SQLite 3.7.15." +msgid ":mod:`bz2`" +msgstr "" + +msgid "`libffi `_" +msgstr "" + +msgid "3.3.0 recommended" +msgstr "" + +msgid ":mod:`ctypes`" +msgstr "" + +msgid "`liblzma `_" +msgstr "" + +msgid ":mod:`lzma`" +msgstr "" + +msgid "`libmpdec `_" +msgstr "" + +msgid "2.5.0" +msgstr "" + +msgid ":mod:`decimal` [1]_" msgstr "" msgid "" -"C11 compiler, IEEE 754 and NaN support are now required. On Windows, Visual " -"Studio 2017 or later is required. Tcl/Tk version 8.5.12 is now required for " -"the :mod:`tkinter` module." +"`libreadline `_ or " +"`libedit `_ [2]_" +msgstr "" + +msgid ":mod:`readline`" +msgstr "" + +msgid "`libuuid `_" +msgstr "" + +msgid "``_uuid`` [3]_" +msgstr "" + +msgid "`ncurses `_ [4]_" +msgstr "" + +msgid ":mod:`curses`" +msgstr "" + +msgid "`OpenSSL `_" +msgstr "" + +msgid "3.0.18 recommended" +msgstr "" + +msgid "(1.1.1 minimum)" +msgstr "" + +msgid ":mod:`ssl`, :mod:`hashlib` [5]_" +msgstr "" + +msgid "`SQLite `_" +msgstr "" + +msgid "3.15.2" +msgstr "" + +msgid ":mod:`sqlite3`" +msgstr "" + +msgid "`Tcl/Tk `_" +msgstr "" + +msgid "8.5.12" +msgstr "" + +msgid ":mod:`tkinter`, :ref:`IDLE `, :mod:`turtle`" +msgstr "" + +msgid "`zlib `_" +msgstr "" + +msgid "1.2.2.1" msgstr "" -msgid "Autoconf 2.71, aclocal 1.16.5 and SQLite 3.15.2 are now required." +msgid ":mod:`zlib`, :mod:`gzip`, :mod:`ensurepip`" msgstr "" -msgid "Autoconf 2.72 is now required." +msgid "`zstd `_" +msgstr "" + +msgid "1.4.5" +msgstr "" + +msgid ":mod:`compression.zstd`" msgstr "" msgid "" -"See also :pep:`7` \"Style Guide for C Code\" and :pep:`11` \"CPython " -"platform support\"." +"If *libmpdec* is not available, the :mod:`decimal` module will use a pure-" +"Python implementation. See :option:`--with-system-libmpdec` for details." +msgstr "" + +msgid "" +"See :option:`--with-readline` for choosing the backend for the :mod:" +"`readline` module." +msgstr "" + +msgid "" +"The :mod:`uuid` module uses ``_uuid`` to generate \"safe\" UUIDs. See the " +"module documentation for details." +msgstr "" + +msgid "" +"The :mod:`curses` module requires the ``libncurses`` or ``libncursesw`` " +"library. The :mod:`curses.panel` module additionally requires the " +"``libpanel`` or ``libpanelw`` library." +msgstr "" + +msgid "" +"If OpenSSL is not available, the :mod:`hashlib` module will use bundled " +"implementations of several hash functions. See :option:`--with-builtin-" +"hashlib-hashes` for *forcing* usage of OpenSSL." +msgstr "" + +msgid "" +"Note that the table does not include all optional modules; in particular, " +"platform-specific modules like :mod:`winreg` are not listed here." +msgstr "" + +msgid "" +"The `devguide `_ includes a full list of dependencies required to " +"build all modules and instructions on how to install them on common " +"platforms." +msgstr "" + +msgid "" +":option:`--with-system-expat` allows building with an external `libexpat " +"`_ library." +msgstr "" + +msgid ":ref:`configure-options-for-dependencies`" +msgstr "" + +msgid "Tcl/Tk version 8.3.1 is now required for :mod:`tkinter`." +msgstr "" + +msgid "Tcl/Tk version 8.4 is now required for :mod:`tkinter`." +msgstr "" + +msgid "OpenSSL 1.0.2 is now required for :mod:`hashlib` and :mod:`ssl`." +msgstr "" + +msgid "" +"OpenSSL 1.1.1 is now required for :mod:`hashlib` and :mod:`ssl`. SQLite " +"3.7.15 is now required for :mod:`sqlite3`." +msgstr "" + +msgid "Tcl/Tk version 8.5.12 is now required for :mod:`tkinter`." +msgstr "" + +msgid "SQLite 3.15.2 is now required for :mod:`sqlite3`." msgstr "" msgid "Generated files" @@ -140,8 +307,19 @@ msgid "autoreconf -ivf -Werror" msgstr "" msgid "" -"The generated files can change depending on the exact ``autoconf-archive``, " -"``aclocal`` and ``pkg-config`` versions." +"The generated files can change depending on the exact versions of the tools " +"used. The container that CPython uses has `Autoconf `_ 2.72, ``aclocal`` from `Automake `_ 1.16.5, and `pkg-config `_ 1.8.1." +msgstr "" + +msgid "" +"Autoconf 2.71 and aclocal 1.16.5 and are now used to regenerate :file:" +"`configure`." +msgstr "" + +msgid "Autoconf 2.72 is now used to regenerate :file:`configure`." msgstr "" msgid "Configure Options" @@ -417,8 +595,8 @@ msgid "Objects collected." msgstr "" msgid "" -"Enables **experimental** support for running Python without the :term:" -"`global interpreter lock` (GIL): free threading build." +"Enables support for running Python without the :term:`global interpreter " +"lock` (GIL): :term:`free-threaded build`." msgstr "" msgid "" @@ -514,11 +692,6 @@ msgstr "" msgid "C compiler and linker flags for ``gdbm``." msgstr "" -msgid "" -"C compiler and linker flags for ``libb2`` (:ref:`BLAKE2 `), " -"used by :mod:`hashlib` module, overriding ``pkg-config``." -msgstr "" - msgid "" "C compiler and linker flags for ``libedit``, used by :mod:`readline` module, " "overriding ``pkg-config``." @@ -559,6 +732,11 @@ msgid "" "overriding ``pkg-config``." msgstr "" +msgid "" +"C compiler and linker flags for ``libzstd``, used by :mod:`compression.zstd` " +"module, overriding ``pkg-config``." +msgstr "" + msgid "C compiler and linker flags for PANEL, overriding ``pkg-config``." msgstr "" @@ -749,6 +927,11 @@ msgid "" "Disable the fast :ref:`mimalloc ` allocator (enabled by default)." msgstr "" +msgid "" +"This option cannot be used together with :option:`--disable-gil` because " +"the :term:`free-threaded ` build requires mimalloc." +msgstr "" + msgid "See also :envvar:`PYTHONMALLOC` environment variable." msgstr "" @@ -785,6 +968,16 @@ msgid "" "executed." msgstr "" +msgid "" +"This macro is defined by default, unless Python is configured with :option:" +"`--without-remote-debug`." +msgstr "" + +msgid "" +"Note that even if the macro is defined, remote debugging may not be " +"available (for example, on an incompatible platform)." +msgstr "" + msgid "Python Debug Build" msgstr "" @@ -867,9 +1060,11 @@ msgid "" msgstr "" msgid "" -"Release builds and debug builds are now ABI compatible: defining the " +"Release builds are now ABI compatible with debug builds: defining the " "``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the :" -"option:`--with-trace-refs` option)." +"option:`--with-trace-refs` option). However, debug builds still expose more " +"symbols than release builds and code built against a debug build is not " +"necessarily compatible with a release build." msgstr "" msgid "Debug options" @@ -931,7 +1126,10 @@ msgid "" msgstr "" msgid "" -"Enable AddressSanitizer memory error detector, ``asan`` (default is no)." +"Enable AddressSanitizer memory error detector, ``asan`` (default is no). To " +"improve ASan detection capabilities you may also want to combine this with :" +"option:`--without-pymalloc` to disable the specialized small-object " +"allocator whose allocations are not tracked by ASan." msgstr "" msgid "" @@ -973,9 +1171,16 @@ msgstr "" msgid "Default to using the installed ``mpdecimal`` library." msgstr "" +msgid "" +"A bundled copy of the library will no longer be selected implicitly if an " +"installed ``mpdecimal`` library is not found. In Python 3.15 only, it can " +"still be selected explicitly using ``--with-system-libmpdec=no`` or ``--" +"without-system-libmpdec``." +msgstr "" + msgid "" "A copy of the ``mpdecimal`` library sources will no longer be distributed " -"with Python 3.15." +"with Python 3.16." msgstr "" msgid ":option:`LIBMPDEC_CFLAGS` and :option:`LIBMPDEC_LIBS`." @@ -1158,10 +1363,10 @@ msgid "``intel`` (i386 and x86-64);" msgstr "" msgid "``intel-32`` (i386);" -msgstr "" +msgstr "``intel-32`` (i386);" msgid "``intel-64`` (x86-64);" -msgstr "" +msgstr "``intel-64`` (x86-64);" msgid "``all`` (PPC, i386, PPC64 and x86-64)." msgstr "" diff --git a/using/editors.po b/using/editors.po index 43678088e9..580d957994 100644 --- a/using/editors.po +++ b/using/editors.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/using/index.po b/using/index.po index 5e2114052c..d181cd3aff 100644 --- a/using/index.po +++ b/using/index.po @@ -4,16 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Maciej Olko , 2021\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/using/ios.po b/using/ios.po index 97a9ee2601..9e8a977974 100644 --- a/using/ios.po +++ b/using/ios.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2024-05-11 01:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-29 14:28+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -242,9 +241,9 @@ msgstr "" msgid "" "Build or obtain a Python ``XCFramework``. See the instructions in :source:" -"`iOS/README.rst` (in the CPython source distribution) for details on how to " -"build a Python ``XCFramework``. At a minimum, you will need a build that " -"supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-" +"`Apple/iOS/README.md` (in the CPython source distribution) for details on " +"how to build a Python ``XCFramework``. At a minimum, you will need a build " +"that supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-" "simulator`` or ``x86_64-apple-ios-simulator``." msgstr "" @@ -255,11 +254,6 @@ msgid "" "adjusting paths as needed." msgstr "" -msgid "" -"Drag the ``iOS/Resources/dylib-Info-template.plist`` file into your project, " -"and ensure it is associated with the app target." -msgstr "" - msgid "" "Add your application code as a folder in your Xcode project. In the " "following instructions, we'll assume that your user code is in a folder " @@ -307,103 +301,23 @@ msgid "Quoted Include In Framework Header: No" msgstr "" msgid "" -"Add a build step that copies the Python standard library into your app. In " -"the \"Build Phases\" tab, add a new \"Run Script\" build step *before* the " -"\"Embed Frameworks\" step, but *after* the \"Copy Bundle Resources\" step. " -"Name the step \"Install Target Specific Python Standard Library\", disable " -"the \"Based on dependency analysis\" checkbox, and set the script content to:" +"Add a build step that processes the Python standard library, and your own " +"Python binary dependencies. In the \"Build Phases\" tab, add a new \"Run " +"Script\" build step *before* the \"Embed Frameworks\" step, but *after* the " +"\"Copy Bundle Resources\" step. Name the step \"Process Python libraries\", " +"disable the \"Based on dependency analysis\" checkbox, and set the script " +"content to:" msgstr "" msgid "" "set -e\n" -"\n" -"mkdir -p \"$CODESIGNING_FOLDER_PATH/python/lib\"\n" -"if [ \"$EFFECTIVE_PLATFORM_NAME\" = \"-iphonesimulator\" ]; then\n" -" echo \"Installing Python modules for iOS Simulator\"\n" -" rsync -au --delete \"$PROJECT_DIR/Python.xcframework/ios-arm64_x86_64-" -"simulator/lib/\" \"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" -"else\n" -" echo \"Installing Python modules for iOS Device\"\n" -" rsync -au --delete \"$PROJECT_DIR/Python.xcframework/ios-arm64/lib/\" " -"\"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" -"fi" +"source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n" +"install_python Python.xcframework app" msgstr "" msgid "" -"Note that the name of the simulator \"slice\" in the XCframework may be " -"different, depending the CPU architectures your ``XCFramework`` supports." -msgstr "" - -msgid "" -"Add a second build step that processes the binary extension modules in the " -"standard library into \"Framework\" format. Add a \"Run Script\" build step " -"*directly after* the one you added in step 8, named \"Prepare Python Binary " -"Modules\". It should also have \"Based on dependency analysis\" unchecked, " -"with the following script content:" -msgstr "" - -msgid "" -"set -e\n" -"\n" -"install_dylib () {\n" -" INSTALL_BASE=$1\n" -" FULL_EXT=$2\n" -"\n" -" # The name of the extension file\n" -" EXT=$(basename \"$FULL_EXT\")\n" -" # The location of the extension file, relative to the bundle\n" -" RELATIVE_EXT=${FULL_EXT#$CODESIGNING_FOLDER_PATH/}\n" -" # The path to the extension file, relative to the install base\n" -" PYTHON_EXT=${RELATIVE_EXT/$INSTALL_BASE/}\n" -" # The full dotted name of the extension module, constructed from the " -"file path.\n" -" FULL_MODULE_NAME=$(echo $PYTHON_EXT | cut -d \".\" -f 1 | tr \"/\" \"." -"\");\n" -" # A bundle identifier; not actually used, but required by Xcode " -"framework packaging\n" -" FRAMEWORK_BUNDLE_ID=$(echo $PRODUCT_BUNDLE_IDENTIFIER.$FULL_MODULE_NAME " -"| tr \"_\" \"-\")\n" -" # The name of the framework folder.\n" -" FRAMEWORK_FOLDER=\"Frameworks/$FULL_MODULE_NAME.framework\"\n" -"\n" -" # If the framework folder doesn't exist, create it.\n" -" if [ ! -d \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\" ]; then\n" -" echo \"Creating framework for $RELATIVE_EXT\"\n" -" mkdir -p \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\"\n" -" cp \"$CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\" " -"\"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" -" plutil -replace CFBundleExecutable -string \"$FULL_MODULE_NAME\" " -"\"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" -" plutil -replace CFBundleIdentifier -string \"$FRAMEWORK_BUNDLE_ID\" " -"\"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" -" fi\n" -"\n" -" echo \"Installing binary for $FRAMEWORK_FOLDER/$FULL_MODULE_NAME\"\n" -" mv \"$FULL_EXT\" \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/" -"$FULL_MODULE_NAME\"\n" -" # Create a placeholder .fwork file where the .so was\n" -" echo \"$FRAMEWORK_FOLDER/$FULL_MODULE_NAME\" > ${FULL_EXT%.so}.fwork\n" -" # Create a back reference to the .so file location in the framework\n" -" echo \"${RELATIVE_EXT%.so}.fwork\" > \"$CODESIGNING_FOLDER_PATH/" -"$FRAMEWORK_FOLDER/$FULL_MODULE_NAME.origin\"\n" -" }\n" -"\n" -" PYTHON_VER=$(ls -1 \"$CODESIGNING_FOLDER_PATH/python/lib\")\n" -" echo \"Install Python $PYTHON_VER standard library extension modules...\"\n" -" find \"$CODESIGNING_FOLDER_PATH/python/lib/$PYTHON_VER/lib-dynload\" -name " -"\"*.so\" | while read FULL_EXT; do\n" -" install_dylib python/lib/$PYTHON_VER/lib-dynload/ \"$FULL_EXT\"\n" -" done\n" -"\n" -" # Clean up dylib template\n" -" rm -f \"$CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\"\n" -"\n" -" echo \"Signing frameworks as $EXPANDED_CODE_SIGN_IDENTITY_NAME " -"($EXPANDED_CODE_SIGN_IDENTITY)...\"\n" -" find \"$CODESIGNING_FOLDER_PATH/Frameworks\" -name \"*.framework\" -exec /" -"usr/bin/codesign --force --sign \"$EXPANDED_CODE_SIGN_IDENTITY\" " -"${OTHER_CODE_SIGN_FLAGS:-} -o runtime --timestamp=none --preserve-" -"metadata=identifier,entitlements,flags --generate-entitlement-der \"{}\" \\;" +"If you have placed your XCframework somewhere other than the root of your " +"project, modify the path to the first argument." msgstr "" msgid "" @@ -430,11 +344,11 @@ msgid "" msgstr "" msgid "" -"``PYTHONHOME`` for the interpreter is configured to point at the ``python`` " -"subfolder of your app's bundle; and" +":envvar:`PYTHONHOME` for the interpreter is configured to point at the " +"``python`` subfolder of your app's bundle; and" msgstr "" -msgid "The ``PYTHONPATH`` for the interpreter includes:" +msgid "The :envvar:`PYTHONPATH` for the interpreter includes:" msgstr "" msgid "the ``python/lib/python3.X`` subfolder of your app's bundle," @@ -453,59 +367,68 @@ msgid "" msgstr "" msgid "" -"Steps 8, 9 and 10 of these instructions assume that you have a single folder " -"of pure Python application code, named ``app``. If you have third-party " -"binary modules in your app, some additional steps will be required:" +"Steps 7 and 8 of these instructions assume that you have a single folder of " +"pure Python application code, named ``app``. If you have third-party binary " +"modules in your app, some additional steps will be required:" msgstr "" msgid "" "You need to ensure that any folders containing third-party binaries are " -"either associated with the app target, or copied in as part of step 8. Step " -"8 should also purge any binaries that are not appropriate for the platform a " -"specific build is targeting (i.e., delete any device binaries if you're " -"building an app targeting the simulator)." +"either associated with the app target, or are explicitly copied as part of " +"step 7. Step 7 should also purge any binaries that are not appropriate for " +"the platform a specific build is targeting (i.e., delete any device binaries " +"if you're building an app targeting the simulator)." msgstr "" msgid "" -"Any folders that contain third-party binaries must be processed into " -"framework form by step 9. The invocation of ``install_dylib`` that processes " -"the ``lib-dynload`` folder can be copied and adapted for this purpose." +"If you're using a separate folder for third-party packages, ensure that " +"folder is added to the end of the call to ``install_python`` in step 7, and " +"as part of the :envvar:`PYTHONPATH` configuration in step 8." msgstr "" msgid "" -"If you're using a separate folder for third-party packages, ensure that " -"folder is included as part of the ``PYTHONPATH`` configuration in step 10." +"If any of the folders that contain third-party packages will contain ``." +"pth`` files, you should add that folder as a *site directory* (using :meth:" +"`site.addsitedir`), rather than adding to :envvar:`PYTHONPATH` or :attr:`sys." +"path` directly." msgstr "" msgid "Testing a Python package" msgstr "" msgid "" -"The CPython source tree contains :source:`a testbed project ` " -"that is used to run the CPython test suite on the iOS simulator. This " -"testbed can also be used as a testbed project for running your Python " +"The CPython source tree contains :source:`a testbed project ` that is used to run the CPython test suite on the iOS simulator. " +"This testbed can also be used as a testbed project for running your Python " "library's test suite on iOS." msgstr "" msgid "" -"After building or obtaining an iOS XCFramework (See :source:`iOS/README.rst` " -"for details), create a clone of the Python iOS testbed project by running:" +"After building or obtaining an iOS XCFramework (see :source:`Apple/iOS/" +"README.md` for details), create a clone of the Python iOS testbed project. " +"If you used the ``Apple`` build script to build the XCframework, you can run:" +msgstr "" + +msgid "" +"$ python cross-build/iOS/testbed clone --app --app app-testbed" +msgstr "" + +msgid "Or, if you've sourced your own XCframework, by running:" msgstr "" msgid "" -"$ python iOS/testbed clone --framework --app " -" --app app-testbed" +"$ python Apple/testbed clone --platform iOS --framework --app --app app-testbed" msgstr "" msgid "" -"You will need to modify the ``iOS/testbed`` reference to point to that " -"directory in the CPython source tree; any folders specified with the ``--" -"app`` flag will be copied into the cloned testbed project. The resulting " -"testbed will be created in the ``app-testbed`` folder. In this example, the " -"``module1`` and ``module2`` would be importable modules at runtime. If your " -"project has additional dependencies, they can be installed into the ``app-" -"testbed/iOSTestbed/app_packages`` folder (using ``pip install --target app-" -"testbed/iOSTestbed/app_packages`` or similar)." +"Any folders specified with the ``--app`` flag will be copied into the cloned " +"testbed project. The resulting testbed will be created in the ``app-" +"testbed`` folder. In this example, the ``module1`` and ``module2`` would be " +"importable modules at runtime. If your project has additional dependencies, " +"they can be installed into the ``app-testbed/Testbed/app_packages`` folder " +"(using ``pip install --target app-testbed/Testbed/app_packages`` or similar)." msgstr "" msgid "" @@ -532,6 +455,21 @@ msgstr "$ open app-testbed/iOSTestbed.xcodeproj" msgid "This will allow you to use the full Xcode suite of tools for debugging." msgstr "" +msgid "" +"The arguments used to run the test suite are defined as part of the test " +"plan. To modify the test plan, select the test plan node of the project tree " +"(it should be the first child of the root node), and select the " +"\"Configurations\" tab. Modify the \"Arguments Passed On Launch\" value to " +"change the testing arguments." +msgstr "" + +msgid "" +"The test plan also disables parallel testing, and specifies the use of the " +"``Testbed.lldbinit`` file for providing configuration of the debugger. The " +"default debugger configuration disables automatic breakpoints on the " +"``SIGINT``, ``SIGUSR1``, ``SIGUSR2``, and ``SIGXFSZ`` signals." +msgstr "" + msgid "App Store Compliance" msgstr "" @@ -540,7 +478,11 @@ msgid "" "submit the app to the iOS App Store; apps submitted for distribution must " "pass Apple's app review process. This process includes a set of automated " "validation rules that inspect the submitted application bundle for " -"problematic code." +"problematic code. There are some steps that must be taken to ensure that " +"your app will be able to pass these validation steps." +msgstr "" + +msgid "Incompatible code in the standard library" msgstr "" msgid "" @@ -556,3 +498,23 @@ msgid "" "issues with the App Store review process. This patch is applied " "automatically when building for iOS." msgstr "" + +msgid "Privacy manifests" +msgstr "" + +msgid "" +"In April 2025, Apple introduced a requirement for `certain third-party " +"libraries to provide a Privacy Manifest `__. As a result, if you have a binary module " +"that uses one of the affected libraries, you must provide an ``.xcprivacy`` " +"file for that library. OpenSSL is one library affected by this requirement, " +"but there are others." +msgstr "" + +msgid "" +"If you produce a binary module named ``mymodule.so``, and use you the Xcode " +"build script described in step 7 above, you can place a ``mymodule." +"xcprivacy`` file next to ``mymodule.so``, and the privacy manifest will be " +"installed into the required location when the binary module is converted " +"into a framework." +msgstr "" diff --git a/using/mac.po b/using/mac.po index 3e3c6bcc1e..5438f6fa26 100644 --- a/using/mac.po +++ b/using/mac.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -57,7 +57,7 @@ msgid "" "Current installers provide a `universal2 binary `_ build of Python which runs natively on all Macs " "(Apple Silicon and Intel) that are supported by a wide range of macOS " -"versions, currently typically from at least **macOS 10.13 High Sierra** on." +"versions, currently typically from at least **macOS 10.15 Catalina** on." msgstr "" msgid "" @@ -81,7 +81,7 @@ msgid "" "which Python version is going to be installed and on what versions of macOS " "it is supported. You may need to scroll through to read the whole file. By " "default, this **Read Me** will also be installed in |" -"usemac_applications_folder_version| and available to read anytime." +"applications_python_version_literal| and available to read anytime." msgstr "" msgid "" @@ -101,8 +101,7 @@ msgid "" "By pressing the **Customize** button, you can choose to omit or select " "certain package components of the installer. Click on each package name to " "see a description of what it installs. To also install support for the " -"optional experimental free-threaded feature, see :ref:`install-freethreaded-" -"macos`." +"optional free-threaded feature, see :ref:`install-freethreaded-macos`." msgstr "" msgid "" @@ -117,7 +116,8 @@ msgstr "" msgid "" "Double-click on the :command:`Install Certificates.command` icon or file in " -"the |usemac_applications_folder_version| window to complete the installation." +"the |applications_python_version_literal| window to complete the " +"installation." msgstr "" msgid "" @@ -135,9 +135,9 @@ msgid "A default install will include:" msgstr "" msgid "" -"A |usemac_applications_folder_name| folder in your :file:`Applications` " -"folder. In here you find :program:`IDLE`, the development environment that " -"is a standard part of official Python distributions; and :program:`Python " +"A |python_version_literal| folder in your :file:`Applications` folder. In " +"here you find :program:`IDLE`, the development environment that is a " +"standard part of official Python distributions; and :program:`Python " "Launcher`, which handles double-clicking Python scripts from the macOS " "`Finder `_." msgstr "" @@ -168,8 +168,8 @@ msgstr "" msgid "" "There are two ways to invoke the Python interpreter. If you are familiar " "with using a Unix shell in a terminal window, you can invoke |" -"usemac_python_x_dot_y_literal| or ``python3`` optionally followed by one or " -"more command line options (described in :ref:`using-on-general`). The Python " +"python_x_dot_y_literal| or ``python3`` optionally followed by one or more " +"command line options (described in :ref:`using-on-general`). The Python " "tutorial also has a useful section on :ref:`using Python interactively from " "a shell `." msgstr "" @@ -193,8 +193,8 @@ msgid "" "interpreter with the name of the script file:" msgstr "" -msgid "|usemac_python_x_dot_y_literal| ``myscript.py``" -msgstr "" +msgid "|python_x_dot_y_literal| ``myscript.py``" +msgstr "|python_x_dot_y_literal| ``myscript.py``" msgid "To run your script from the Finder, you can either:" msgstr "" @@ -242,7 +242,7 @@ msgid "" msgstr "" msgid "`Homebrew `_" -msgstr "" +msgstr "`Homebrew `_" msgid "" "Package manager for macOS including multiple versions of Python and many " @@ -322,38 +322,33 @@ msgstr "" msgid "Installing Free-threaded Binaries" msgstr "" -msgid "(Experimental)" -msgstr "" - -msgid "" -"Everything described in this section is considered experimental, and should " -"be expected to change in future releases." -msgstr "" - msgid "" "The ``python.org`` :ref:`Python for macOS ` installer package can optionally install an additional build of " -"Python |usemac_x_dot_y| that supports :pep:`703`, the experimental free-" -"threading feature (running with the :term:`global interpreter lock` " -"disabled). Check the release page on ``python.org`` for possible updated " -"information." +"Python |version| that supports :pep:`703`, the free-threading feature " +"(running with the :term:`global interpreter lock` disabled). Check the " +"release page on ``python.org`` for possible updated information." msgstr "" msgid "" -"Because this feature is still considered experimental, the support for it is " -"not installed by default. It is packaged as a separate install option, " -"available by clicking the **Customize** button on the **Installation Type** " -"step of the installer as described above." +"The free-threaded mode is working and continues to be improved, but there is " +"some additional overhead in single-threaded workloads compared to the " +"regular build. Additionally, third-party packages, in particular ones with " +"an :term:`extension module`, may not be ready for use in a free-threaded " +"build, and will re-enable the :term:`GIL`. Therefore, the support for free-" +"threading is not installed by default. It is packaged as a separate install " +"option, available by clicking the **Customize** button on the **Installation " +"Type** step of the installer as described above." msgstr "" msgid "" "If the box next to the **Free-threaded Python** package name is checked, a " "separate :file:`PythonT.framework` will also be installed alongside the " "normal :file:`Python.framework` in :file:`/Library/Frameworks`. This " -"configuration allows a free-threaded Python |usemac_x_dot_y| build to co-" -"exist on your system with a traditional (GIL only) Python |usemac_x_dot_y| " -"build with minimal risk while installing or testing. This installation " -"layout is itself experimental and is subject to change in future releases." +"configuration allows a free-threaded Python |version| build to co-exist on " +"your system with a traditional (GIL only) Python |version| build with " +"minimal risk while installing or testing. This installation layout may " +"change in future releases." msgstr "" msgid "Known cautions and limitations:" @@ -361,18 +356,17 @@ msgstr "" msgid "" "The **UNIX command-line tools** package, which is selected by default, will " -"install links in :file:`/usr/local/bin` for |" -"usemac_python_x_dot_y_t_literal|, the free-threaded interpreter, and |" -"usemac_python_x_dot_y_t_literal_config|, a configuration utility which may " -"be useful for package builders. Since :file:`/usr/local/bin` is typically " -"included in your shell ``PATH``, in most cases no changes to your ``PATH`` " -"environment variables should be needed to use |" -"usemac_python_x_dot_y_t_literal|." +"install links in :file:`/usr/local/bin` for |python_x_dot_y_t_literal|, the " +"free-threaded interpreter, and |python_x_dot_y_t_literal_config|, a " +"configuration utility which may be useful for package builders. Since :file:" +"`/usr/local/bin` is typically included in your shell ``PATH``, in most cases " +"no changes to your ``PATH`` environment variables should be needed to use |" +"python_x_dot_y_t_literal|." msgstr "" msgid "" "For this release, the **Shell profile updater** package and the :file:" -"`Update Shell Profile.command` in |usemac_applications_folder_version| do " +"`Update Shell Profile.command` in |applications_python_version_literal| do " "not support the free-threaded package." msgstr "" @@ -381,14 +375,14 @@ msgid "" "and separate :file:`site-packages` directories so, by default, if you need a " "package available in both builds, it may need to be installed in both. The " "free-threaded package will install a separate instance of :program:`pip` for " -"use with |usemac_python_x_dot_y_t_literal|." +"use with |python_x_dot_y_t_literal|." msgstr "" msgid "To install a package using :command:`pip` without a :command:`venv`:" msgstr "" -msgid "|usemac_python_x_dot_y_t_literal| ``-m pip install ``" -msgstr "" +msgid "python\\ |version|\\ t -m pip install " +msgstr "python\\ |version|\\ t -m pip install " msgid "" "When working with multiple Python environments, it is usually safest and " @@ -397,8 +391,8 @@ msgid "" "use:" msgstr "" -msgid "|usemac_python_x_dot_y_t_literal| ``-m venv ``" -msgstr "" +msgid "python\\ |version|\\ t -m venv " +msgstr "python\\ |version|\\ t -m venv " msgid "then :command:`activate`." msgstr "" @@ -406,8 +400,8 @@ msgstr "" msgid "To run a free-threaded version of IDLE:" msgstr "" -msgid "|usemac_python_x_dot_y_t_literal| ``-m idlelib``" -msgstr "" +msgid "python\\ |version|\\ t -m idlelib" +msgstr "python\\ |version|\\ t -m idlelib" msgid "" "The interpreters in both builds respond to the same :ref:`PYTHON environment " @@ -427,36 +421,40 @@ msgstr "" msgid "" "If you cannot depend on the link in ``/usr/local/bin`` pointing to the " -"``python.org`` free-threaded |usemac_python_x_dot_y_t_literal| (for example, " -"if you want to install your own version there or some other distribution " -"does), you can explicitly set your shell ``PATH`` environment variable to " -"include the ``PythonT`` framework ``bin`` directory:" +"``python.org`` free-threaded |python_x_dot_y_t_literal| (for example, if you " +"want to install your own version there or some other distribution does), you " +"can explicitly set your shell ``PATH`` environment variable to include the " +"``PythonT`` framework ``bin`` directory:" msgstr "" msgid "" -"export PATH=\"/Library/Frameworks/PythonT.framework/Versions/3.13/bin\":" -"\"$PATH\"" +"export PATH=\"/Library/Frameworks/PythonT.framework/Versions/\\ |version|\\ /" +"bin\":\"$PATH\"" msgstr "" -"export PATH=\"/Library/Frameworks/PythonT.framework/Versions/3.13/bin\":" -"\"$PATH\"" +"export PATH=\"/Library/Frameworks/PythonT.framework/Versions/\\ |version|\\ /" +"bin\":\"$PATH\"" msgid "" "The traditional framework installation by default does something similar, " "except for :file:`Python.framework`. Be aware that having both framework " "``bin`` directories in ``PATH`` can lead to confusion if there are duplicate " -"names like ``python3.13`` in both; which one is actually used depends on the " -"order they appear in ``PATH``. The ``which python3.x`` or ``which python3." -"xt`` commands can show which path is being used. Using virtual environments " -"can help avoid such ambiguities. Another option might be to create a shell :" -"command:`alias` to the desired interpreter, like:" +"names like |python_x_dot_y_literal| in both; which one is actually used " +"depends on the order they appear in ``PATH``. The ``which python3.x`` or " +"``which python3.xt`` commands can show which path is being used. Using " +"virtual environments can help avoid such ambiguities. Another option might " +"be to create a shell :command:`alias` to the desired interpreter, like:" msgstr "" msgid "" -"alias py3.13=\"/Library/Frameworks/Python.framework/Versions/3.13/bin/" -"python3.13\"\n" -"alias py3.13t=\"/Library/Frameworks/PythonT.framework/Versions/3.13/bin/" -"python3.13t\"" +"alias py\\ |version|\\ =\"/Library/Frameworks/Python.framework/Versions/\\ |" +"version|\\ /bin/python\\ |version|\\ \"\n" +"alias py\\ |version|\\ t=\"/Library/Frameworks/PythonT.framework/Versions/\\ " +"|version|\\ /bin/python\\ |version|\\ t\"" msgstr "" +"alias py\\ |version|\\ =\"/Library/Frameworks/Python.framework/Versions/\\ |" +"version|\\ /bin/python\\ |version|\\ \"\n" +"alias py\\ |version|\\ t=\"/Library/Frameworks/PythonT.framework/Versions/\\ " +"|version|\\ /bin/python\\ |version|\\ t\"" msgid "Installing using the command line" msgstr "" @@ -468,22 +466,22 @@ msgid "" "non-default options, too. If you are not familiar with :command:`installer`, " "it can be somewhat cryptic (see :command:`man installer` for more " "information). As an example, the following shell snippet shows one way to do " -"it, using the ``3.13.0b2`` release and selecting the free-threaded " +"it, using the |x_dot_y_b2_literal| release and selecting the free-threaded " "interpreter option:" msgstr "" msgid "" -"RELEASE=\"python-3.13.0b2-macos11.pkg\"\n" +"RELEASE=\"python-\\ |version|\\ 0b2-macos11.pkg\"\n" "\n" "# download installer pkg\n" -"curl -O https://www.python.org/ftp/python/3.13.0/${RELEASE}\n" +"curl -O \\https://www.python.org/ftp/python/\\ |version|\\ .0/${RELEASE}\n" "\n" "# create installer choicechanges to customize the install:\n" -"# enable the PythonTFramework-3.13 package\n" +"# enable the PythonTFramework-\\ |version|\\ package\n" "# while accepting the other defaults (install all other packages)\n" "cat > ./choicechanges.plist <\n" -"\n" "\n" "\n" @@ -493,7 +491,8 @@ msgid "" " choiceAttribute\n" " selected\n" " choiceIdentifier\n" -" org.python.Python.PythonTFramework-3.13\n" +" org.python.Python.PythonTFramework-\\ |version|\\ \n" " \n" "\n" "\n" @@ -502,6 +501,35 @@ msgid "" "sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges." "plist -target /" msgstr "" +"RELEASE=\"python-\\ |version|\\ 0b2-macos11.pkg\"\n" +"\n" +"# download installer pkg\n" +"curl -O \\https://www.python.org/ftp/python/\\ |version|\\ .0/${RELEASE}\n" +"\n" +"# create installer choicechanges to customize the install:\n" +"# enable the PythonTFramework-\\ |version|\\ package\n" +"# while accepting the other defaults (install all other packages)\n" +"cat > ./choicechanges.plist <\n" +"\n" +"\n" +"\n" +" \n" +" attributeSetting\n" +" 1\n" +" choiceAttribute\n" +" selected\n" +" choiceIdentifier\n" +" org.python.Python.PythonTFramework-\\ |version|\\ \n" +" \n" +"\n" +"\n" +"EOF\n" +"\n" +"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges." +"plist -target /" msgid "" "You can then test that both installer builds are now available with " @@ -511,21 +539,23 @@ msgstr "" msgid "" "$ # test that the free-threaded interpreter was installed if the Unix " "Command Tools package was enabled\n" -"$ /usr/local/bin/python3.13t -VV\n" -"Python 3.13.0b2 experimental free-threading build (v3.13.0b2:3a83b172af, " -"Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" -"$ # and the traditional interpreter\n" -"$ /usr/local/bin/python3.13 -VV\n" -"Python 3.13.0b2 (v3.13.0b2:3a83b172af, Jun 5 2024, 12:50:24) [Clang 15.0.0 " +"$ /usr/local/bin/python\\ |version|\\ t -VV\n" +"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|" +"\\ .0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 " "(clang-1500.3.9.4)]\n" +"$ # and the traditional interpreter\n" +"$ /usr/local/bin/python\\ |version|\\ -VV\n" +"Python \\ |version|\\ .0b2 (v\\ |version|\\ .0b2:3a83b172af, Jun 5 2024, " +"12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]\n" "$ # test that they are also available without the prefix if /usr/local/bin " "is on $PATH\n" -"$ python3.13t -VV\n" -"Python 3.13.0b2 experimental free-threading build (v3.13.0b2:3a83b172af, " -"Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" -"$ python3.13 -VV\n" -"Python 3.13.0b2 (v3.13.0b2:3a83b172af, Jun 5 2024, 12:50:24) [Clang 15.0.0 " -"(clang-1500.3.9.4)]" +"$ python\\ |version|\\ t -VV\n" +"Python \\ |version|\\ .0b2 free-threading build (v\\ |version|" +"\\ .0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 " +"(clang-1500.3.9.4)]\n" +"$ python\\ |version|\\ -VV\n" +"Python \\ |version|\\ .0b2 (v\\ |version|\\ .0b2:3a83b172af, Jun 5 2024, " +"12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]" msgstr "" msgid "" diff --git a/using/unix.po b/using/unix.po index 59727a647e..611bdfc6ef 100644 --- a/using/unix.po +++ b/using/unix.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -141,12 +140,18 @@ msgstr "" msgid "Building Python" msgstr "" +msgid "" +"If you want to contribute to CPython, refer to the `devguide `_, which includes build " +"instructions and other tips on setting up environment." +msgstr "" + msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " -"either the latest release's source or just grab a fresh `clone `_. (If you want to " -"contribute patches, you will need a clone.)" +"either the latest release's source or grab a fresh `clone `_. You will also need to install the :" +"ref:`build requirements `." msgstr "" msgid "The build process consists of the usual commands::" diff --git a/using/windows.po b/using/windows.po index a60e748c01..0ed077b093 100644 --- a/using/windows.po +++ b/using/windows.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2022 -# Stefan Ocetkiewicz , 2023 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -87,7 +84,7 @@ msgid "" "packages." msgstr "" -msgid "Python Install Manager" +msgid "Python install manager" msgstr "" msgid "Installation" @@ -146,7 +143,7 @@ msgid "" "below for more information." msgstr "" -msgid "Basic Use" +msgid "Basic use" msgstr "" msgid "" @@ -173,9 +170,9 @@ msgid "" "are intending to use Python install manager should consider using " "``pymanager``, due to the lower chance of encountering a conflict with " "existing installs. The only difference between the two commands is when " -"running without any arguments: ``py`` will install and launch your default " -"interpreter, while ``pymanager`` will display help (``pymanager exec ...`` " -"provides equivalent behaviour to ``py ...``)." +"running without any arguments: ``py`` will launch your default interpreter, " +"while ``pymanager`` will display help (``pymanager exec ...`` provides " +"equivalent behaviour to ``py ...``)." msgstr "" msgid "" @@ -251,15 +248,14 @@ msgid "" msgstr "" msgid "" -"When you launch either ``python`` or ``py`` but do not have any runtimes " -"installed, and the requested version is the default, it will be installed " -"automatically and then launched. Otherwise, the requested version will be " -"installed if automatic installation is configured (most likely by setting " -"``PYTHON_MANAGER_AUTOMATIC_INSTALL`` to ``true``), or if the ``py exec`` or " -"``pymanager exec`` forms of the command were used." +"When no runtimes are installed, any launch command will try to install the " +"requested version and launch it. However, after any version is installed, " +"only the ``py exec ...`` and ``pymanager exec ...`` commands will install if " +"the requested version is absent. Other forms of commands will display an " +"error and direct you to use ``py install`` first." msgstr "" -msgid "Command Help" +msgid "Command help" msgstr "" msgid "" @@ -288,7 +284,7 @@ msgid "" "more information about these files." msgstr "" -msgid "Listing Runtimes" +msgid "Listing runtimes" msgstr "" msgid "" @@ -342,7 +338,7 @@ msgid "" "allow additional options, and will produce legacy formatted output." msgstr "" -msgid "Installing Runtimes" +msgid "Installing runtimes" msgstr "" msgid "" @@ -381,16 +377,38 @@ msgid "" "installs." msgstr "" +msgid "" +"Passing ``--refresh`` will update all registrations for installed runtimes. " +"This will recreate Start menu shortcuts, registry keys, and global aliases " +"(such as ``python3.14.exe`` or for any installed scripts). These are " +"automatically refreshed on installation of any runtime, but may need to be " +"manually refreshed after installing packages." +msgstr "" + msgid "" "In addition to the above options, the ``--target`` option will extract the " "runtime to the specified directory instead of doing a normal install. This " -"is useful for embedding runtimes into larger applications." +"is useful for embedding runtimes into larger applications. Unlike a normal " +"install, ``py`` will not be aware of the extracted runtime, and no Start " +"menu or other shortcuts will be created. To launch the runtime, directly " +"execute the main executable (typically ``python.exe``) in the target " +"directory." msgstr "" msgid "$> py install ... [-t=|--target=] " msgstr "" -msgid "Offline Installs" +msgid "" +"The ``py exec`` command will install the requested runtime if it is not " +"already present. This is controlled by the ``automatic_install`` " +"configuration (:envvar:`PYTHON_MANAGER_AUTOMATIC_INSTALL`), and is enabled " +"by default. If no runtimes are available at all, all launch commands will do " +"an automatic install if the configuration setting allows. This is to ensure " +"a good experience for new users, but should not generally be relied on " +"rather than using the ``py exec`` command or explicit install commands." +msgstr "" + +msgid "Offline installs" msgstr "" msgid "" @@ -430,7 +448,7 @@ msgid "" "without access to the internet." msgstr "" -msgid "Uninstalling Runtimes" +msgid "Uninstalling runtimes" msgstr "" msgid "$> py uninstall [-y|--yes] ..." @@ -485,10 +503,12 @@ msgstr "" msgid "" "A global configuration file may be configured by an administrator, and would " "be read first. The user configuration file is stored at :file:`%AppData%\\" -"\\Python\\\\pymanager.json` (by default) and is read next, overwriting any " -"settings from earlier files. An additional configuration file may be " -"specified as the ``PYTHON_MANAGER_CONFIG`` environment variable or the ``--" -"config`` command line option (but not both)." +"\\Python\\\\pymanager.json` (note that this location is under ``Roaming``, " +"not ``Local``) and is read next, overwriting any settings from earlier " +"files. An additional configuration file may be specified as the " +"``PYTHON_MANAGER_CONFIG`` environment variable or the ``--config`` command " +"line option (but not both). These locations may be modified by " +"administrative customization options listed later." msgstr "" msgid "" @@ -512,9 +532,6 @@ msgstr "Opis" msgid "``default_tag``" msgstr "" -msgid "``PYTHON_MANAGER_DEFAULT``" -msgstr "" - msgid "" "The preferred default version to launch or install. By default, this is " "interpreted as the most recent non-prerelease version from the CPython team." @@ -524,7 +541,7 @@ msgid "``default_platform``" msgstr "" msgid "``PYTHON_MANAGER_DEFAULT_PLATFORM``" -msgstr "" +msgstr "``PYTHON_MANAGER_DEFAULT_PLATFORM``" msgid "" "The preferred default platform to launch or install. This is treated as a " @@ -537,7 +554,7 @@ msgid "``logs_dir``" msgstr "" msgid "``PYTHON_MANAGER_LOGS``" -msgstr "" +msgstr "``PYTHON_MANAGER_LOGS``" msgid "The location where log files are written. By default, :file:`%TEMP%`." msgstr "" @@ -545,19 +562,17 @@ msgstr "" msgid "``automatic_install``" msgstr "" -msgid "``PYTHON_MANAGER_AUTOMATIC_INSTALL``" -msgstr "" - msgid "" -"True to allow automatic installs when specifying a particular runtime to " -"launch. By default, true." +"True to allow automatic installs when using ``py exec`` to launch (or ``py`` " +"when no runtimes are installed yet). Other commands will not automatically " +"install, regardless of this setting. By default, true." msgstr "" msgid "``include_unmanaged``" msgstr "" msgid "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" -msgstr "" +msgstr "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" msgid "" "True to allow listing and launching runtimes that were not installed by the " @@ -568,7 +583,7 @@ msgid "``shebang_can_run_anything``" msgstr "" msgid "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" -msgstr "" +msgstr "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" msgid "" "True to allow shebangs in ``.py`` files to launch applications other than " @@ -579,10 +594,10 @@ msgid "``log_level``" msgstr "" msgid "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" -msgstr "" +msgstr "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" msgid "" -"Set the default level of output (0-50) By default, 20. Lower values produce " +"Set the default level of output (0-50). By default, 20. Lower values produce " "more output. The environment variables are boolean, and may produce " "additional output during startup that is later suppressed by other " "configuration." @@ -592,7 +607,7 @@ msgid "``confirm``" msgstr "" msgid "``PYTHON_MANAGER_CONFIRM``" -msgstr "" +msgstr "``PYTHON_MANAGER_CONFIRM``" msgid "" "True to confirm certain actions before taking them (such as uninstall), or " @@ -603,22 +618,61 @@ msgid "``install.source``" msgstr "" msgid "``PYTHON_MANAGER_SOURCE_URL``" -msgstr "" +msgstr "``PYTHON_MANAGER_SOURCE_URL``" msgid "Override the index feed to obtain new installs from." msgstr "" +msgid "``install.enable_entrypoints``" +msgstr "" + +msgid "(none)" +msgstr "(żaden)" + +msgid "" +"True to generate global commands for installed packages (such as ``pip." +"exe``). These are defined by the packages themselves. If set to false, only " +"the Python interpreter has global commands created. By default, true. You " +"should run ``py install --refresh`` after changing this setting." +msgstr "" + msgid "``list.format``" msgstr "" msgid "``PYTHON_MANAGER_LIST_FORMAT``" -msgstr "" +msgstr "``PYTHON_MANAGER_LIST_FORMAT``" msgid "" "Specify the default format used by the ``py list`` command. By default, " "``table``." msgstr "" +msgid "``install_dir``" +msgstr "" + +msgid "" +"Specify the root directory that runtimes will be installed into. If you " +"change this setting, previously installed runtimes will not be usable unless " +"you move them to the new location." +msgstr "" + +msgid "``global_dir``" +msgstr "" + +msgid "" +"Specify the directory where global commands (such as ``python3.14.exe`` and " +"``pip.exe``) are stored. This directory should be added to your :envvar:" +"`PATH` to make the commands available from your terminal." +msgstr "" + +msgid "``download_dir``" +msgstr "" + +msgid "" +"Specify the directory where downloaded files are stored. This directory is a " +"temporary cache, and can be cleaned up from time to time." +msgstr "" + msgid "" "Dotted names should be nested inside JSON objects, for example, ``list." "format`` would be specified as ``{\"list\": {\"format\": \"table\"}}``." @@ -642,19 +696,19 @@ msgid "" msgstr "" msgid "``/usr/bin/env ``" -msgstr "" +msgstr "``/usr/bin/env ``" msgid "``/usr/bin/env -S ``" msgstr "" msgid "``/usr/bin/``" -msgstr "" +msgstr "``/usr/bin/``" msgid "``/usr/local/bin/``" -msgstr "" +msgstr "``/usr/local/bin/``" msgid "````" -msgstr "" +msgstr "````" msgid "For example, if the first line of your script starts with" msgstr "" @@ -706,7 +760,16 @@ msgid "" "``shebang_can_run_anything`` configuration option." msgstr "" -msgid "Advanced Installation" +msgid "" +"The behaviour of shebangs in the Python install manager is subtly different " +"from the previous ``py.exe`` launcher, and the old configuration options no " +"longer apply. If you are specifically reliant on the old behaviour or " +"configuration, we recommend installing the `legacy launcher`_. The legacy " +"launcher's ``py`` command will override PyManager's one by default, and you " +"will need to use ``pymanager`` commands for installing and uninstalling." +msgstr "" + +msgid "Advanced installation" msgstr "" msgid "" @@ -775,14 +838,12 @@ msgstr "" msgid "" "$> winget download 9NQ7512CXL7T -e --skip-license --accept-package-" -"agreements --disable-interactivity" +"agreements --accept-source-agreements" msgstr "" msgid "" "To programmatically install or uninstall an MSIX using only PowerShell, the " -"`Add-AppxPackage `_ and `Remove-AppxPackage `_ PowerShell cmdlets are " +"`Add-AppxPackage`_ and `Remove-AppxPackage`_ PowerShell cmdlets are " "recommended:" msgstr "" @@ -794,24 +855,42 @@ msgid "" msgstr "" msgid "" -"The native APIs for package management may be found on the Windows " -"`PackageManager `_ class. The :func:`!AddPackageAsync` method " -"installs for the current user, or use :func:`!StagePackageAsync` followed " -"by :func:`!ProvisionPackageForAllUsersAsync` to install the Python install " -"manager for all users from the MSIX package. Users will still need to " -"install their own copies of Python itself, as there is no way to trigger " -"those installs without being a logged in user." +"The latest release can be downloaded and installed by Windows by passing the " +"AppInstaller file to the Add-AppxPackage command. This installs using the " +"MSIX on python.org, and is only recommended for cases where installing via " +"the Store (interactively or using WinGet) is not possible." +msgstr "" + +msgid "" +"$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/" +"pymanager/pymanager.appinstaller" +msgstr "" + +msgid "" +"Other tools and APIs may also be used to provision an MSIX package for all " +"users on a machine, but Python does not consider this a supported scenario. " +"We suggest looking into the PowerShell `Add-AppxProvisionedPackage`_ cmdlet, " +"the native Windows `PackageManager`_ class, or the documentation and support " +"for your deployment tool." +msgstr "" + +msgid "" +"Regardless of the install method, users will still need to install their own " +"copies of Python itself, as there is no way to trigger those installs " +"without being a logged in user. When using the MSIX, the latest version of " +"Python will be available for all users to install without network access." msgstr "" msgid "" "Note that the MSIX downloadable from the Store and from the Python website " "are subtly different and cannot be installed at the same time. Wherever " -"possible, we suggest using the above commands to download the package from " -"the Store to reduce the risk of setting up conflicting installs." +"possible, we suggest using the above WinGet commands to download the package " +"from the Store to reduce the risk of setting up conflicting installs. There " +"are no licensing restrictions on the Python install manager that would " +"prevent using the Store package in this way." msgstr "" -msgid "Administrative Configuration" +msgid "Administrative configuration" msgstr "" msgid "" @@ -888,14 +967,14 @@ msgid "Read-only directory containing locally cached files." msgstr "" msgid "``install.fallback_source``" -msgstr "" +msgstr "``install.fallback_source``" msgid "" "Path or URL to an index to consult when the main index cannot be accessed." msgstr "" msgid "``install.enable_shortcut_kinds``" -msgstr "" +msgstr "``install.enable_shortcut_kinds``" msgid "" "Comma-separated list of shortcut kinds to allow (e.g. ``\"pep514,start\"``). " @@ -903,7 +982,7 @@ msgid "" msgstr "" msgid "``install.disable_shortcut_kinds``" -msgstr "" +msgstr "``install.disable_shortcut_kinds``" msgid "" "Comma-separated list of shortcut kinds to exclude (e.g. ``\"pep514," @@ -911,9 +990,20 @@ msgid "" "``enable_shortcut_kinds``." msgstr "" -msgid "``pep514_root``" +msgid "``install.hard_link_entrypoints``" msgstr "" +msgid "" +"True to use hard links for global shortcuts to save disk space. If false, " +"each shortcut executable is copied instead. After changing this setting, you " +"must run ``py install --refresh --force`` to update existing commands. By " +"default, true. Disabling this may be necessary for troubleshooting or " +"systems that have issues with file links." +msgstr "" + +msgid "``pep514_root``" +msgstr "``pep514_root``" + msgid "" "Registry location to read and write PEP 514 entries into. By default, :file:" "`HKEY_CURRENT_USER\\\\Software\\\\Python`." @@ -943,20 +1033,12 @@ msgid "" "other than a Python runtime." msgstr "" -msgid "Installing Free-threaded Binaries" -msgstr "" - -msgid "(Experimental)" +msgid "Installing free-threaded binaries" msgstr "" msgid "" -"Everything described in this section is considered experimental, and should " -"be expected to change in future releases." -msgstr "" - -msgid "" -"Pre-built distributions of the experimental free-threaded build are " -"available by installing tags with the ``t`` suffix." +"Pre-built distributions of the free-threaded build are available by " +"installing tags with the ``t`` suffix." msgstr "" msgid "" @@ -979,7 +1061,7 @@ msgstr "" msgid "" "If your Python install manager does not seem to be working correctly, please " "work through these tests and fixes to see if it helps. If not, please report " -"an issue at `our bug tracker `_, " +"an issue at `our bug tracker `_, " "including any relevant log files (written to your :file:`%TEMP%` directory " "by default)." msgstr "" @@ -1009,14 +1091,14 @@ msgid "Check that the ``py`` and ``pymanager`` commands work." msgstr "" msgid "" -"``py`` gives me a \"command not found\" error when I type it in my terminal." +"Ensure your :envvar:`PATH` variable contains the entry for ``%UserProfile%" +"\\AppData\\Local\\Microsoft\\WindowsApps``. The operating system includes " +"this entry once by default, after other user paths. If removed, shortcuts " +"will not be found." msgstr "" msgid "" -"Click Start, open \"Manage app execution aliases\", and check that the " -"aliases for \"Python install manager\" are enabled. If they already are, try " -"disabling and re-enabling to refresh the command. The \"Python (default " -"windowed)\" and \"Python install manager\" commands may also need refreshing." +"``py`` gives me a \"command not found\" error when I type it in my terminal." msgstr "" msgid "" @@ -1047,7 +1129,7 @@ msgid "``python`` and ``py`` don't launch the runtime I expect" msgstr "" msgid "" -"Check your ``PYTHON_MANAGER_DEFAULT`` environment variable or " +"Check your :envvar:`PYTHON_MANAGER_DEFAULT` environment variable or " "``default_tag`` configuration. The ``py list`` command will show your " "default based on these settings." msgstr "" @@ -1061,7 +1143,7 @@ msgstr "" msgid "" "Prerelease and experimental installs that are not managed by the Python " "install manager may be chosen ahead of stable releases. Configure your " -"default tag or uninstall the prerelease runtime and reinstall using ``py " +"default tag or uninstall the prerelease runtime and reinstall it using ``py " "install``." msgstr "" @@ -1085,10 +1167,63 @@ msgstr "" msgid "" "The package may be available but missing the generated executable. We " -"recommend using the ``python -m pip`` command instead, or alternatively the " -"``python -m pip install --force pip`` command will recreate the executables " -"and show you the path to add to :envvar:`PATH`. These scripts are separated " -"for each runtime, and so you may need to add multiple paths." +"recommend using the ``python -m pip`` command instead. Running ``py install " +"--refresh`` and ensuring that the global shortcuts directory is on :envvar:" +"`PATH` (it will be shown in the command output if it is not) should make " +"commands such as ``pip`` (and other installed packages) available." +msgstr "" + +msgid "I installed a package with ``pip`` but its command is not found." +msgstr "" + +msgid "" +"New packages do not automatically have global shortcuts created by the " +"Python install manager. Similarly, uninstalled packages do not have their " +"shortcuts removed. Run ``py install --refresh`` to update the global " +"shortcuts for newly installed packages." +msgstr "" + +msgid "Typing ``script-name.py`` in the terminal opens in a new window." +msgstr "" + +msgid "" +"This is a known limitation of the operating system. Either specify ``py`` " +"before the script name, create a batch file containing ``@py \"%~dpn0.py\" " +"%*`` with the same name as the script, or install the `legacy launcher`_ and " +"select it as the association for scripts." +msgstr "" + +msgid "Drag-dropping files onto a script doesn't work" +msgstr "" + +msgid "" +"This is a known limitation of the operating system. It is supported with the " +"`legacy launcher`_, or with the Python install manager when installed from " +"the MSI." +msgstr "" + +msgid "I have installed the Python install manager multiple times." +msgstr "" + +msgid "" +"It is possible to install from the Store or WinGet, from the MSIX on the " +"Python website, and from the MSI, all at once. They are all compatible and " +"will share configuration and runtimes." +msgstr "" + +msgid "" +"See the earlier :ref:`pymanager-advancedinstall` section for ways to " +"uninstall the install manager other than the typical Installed Apps (Add and " +"Remove Programs) settings page." +msgstr "" + +msgid "My old ``py.ini`` settings no longer work." +msgstr "" + +msgid "" +"The new Python install manager no longer supports this configuration file or " +"its settings, and so it will be ignored. See :ref:`pymanager-config` for " +"information about configuration settings." msgstr "" msgid "The embeddable package" @@ -1105,7 +1240,7 @@ msgid "" "the ``--target`` option:" msgstr "" -msgid "$> py install 3.14-embed --target=runtime" +msgid "$> py install 3.14-embed --target=" msgstr "" msgid "" @@ -1138,7 +1273,7 @@ msgid "" "The two recommended use cases for this distribution are described below." msgstr "" -msgid "Python Application" +msgid "Python application" msgstr "" msgid "" @@ -1338,7 +1473,7 @@ msgid "" "please install Python 3.12." msgstr "" -msgid "Removing the MAX_PATH Limitation" +msgid "Removing the MAX_PATH limitation" msgstr "" msgid "" @@ -1744,8 +1879,8 @@ msgstr "" msgid "Support for long paths was enabled in Python." msgstr "" -msgid "Installing Without UI" -msgstr "Instalacja bez graficznego interfejsu użytkownika" +msgid "Installing without UI" +msgstr "" msgid "" "All of the options available in the installer UI can also be specified from " @@ -2037,7 +2172,7 @@ msgid "" "" msgstr "" -msgid "Installing Without Downloading" +msgid "Installing without downloading" msgstr "" msgid "" @@ -2128,7 +2263,7 @@ msgid "" "nuget>`." msgstr "" -msgid "Python Launcher for Windows (Deprecated)" +msgid "Python launcher for Windows (deprecated)" msgstr "" msgid "" @@ -2321,9 +2456,6 @@ msgid "" "Python versions at the same time depending on the contents of the first line." msgstr "" -msgid "Shebang Lines" -msgstr "" - msgid "" "If the first line of a script file starts with ``#!``, it is known as a " "\"shebang\" line. Linux and other Unix like operating systems have native " @@ -2387,9 +2519,9 @@ msgid "" "program, which performs a :envvar:`PATH` search. If an executable matching " "the first argument after the ``env`` command cannot be found, but the " "argument starts with ``python``, it will be handled as described for the " -"other virtual commands. The environment variable :envvar:" -"`PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search " -"of :envvar:`PATH`." +"other virtual commands. The environment variable :envvar:`!" +"PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search of :" +"envvar:`PATH`." msgstr "" msgid "" @@ -2471,7 +2603,7 @@ msgstr "" msgid "" "If no version qualifiers are found in a command, the environment variable :" -"envvar:`PY_PYTHON` can be set to specify the default version qualifier. If " +"envvar:`!PY_PYTHON` can be set to specify the default version qualifier. If " "it is not set, the default is \"3\". The variable can specify any value that " "may be passed on the command line, such as \"3\", \"3.7\", \"3.7-32\" or " "\"3.7-64\". (Note that the \"-64\" option is only available with the " @@ -2567,19 +2699,20 @@ msgid "Diagnostics" msgstr "" msgid "" -"If an environment variable :envvar:`PYLAUNCHER_DEBUG` is set (to any value), " -"the launcher will print diagnostic information to stderr (i.e. to the " -"console). While this information manages to be simultaneously verbose *and* " -"terse, it should allow you to see what versions of Python were located, why " -"a particular version was chosen and the exact command-line used to execute " -"the target Python. It is primarily intended for testing and debugging." +"If an environment variable :envvar:`!PYLAUNCHER_DEBUG` is set (to any " +"value), the launcher will print diagnostic information to stderr (i.e. to " +"the console). While this information manages to be simultaneously verbose " +"*and* terse, it should allow you to see what versions of Python were " +"located, why a particular version was chosen and the exact command-line used " +"to execute the target Python. It is primarily intended for testing and " +"debugging." msgstr "" -msgid "Dry Run" +msgid "Dry run" msgstr "" msgid "" -"If an environment variable :envvar:`PYLAUNCHER_DRYRUN` is set (to any " +"If an environment variable :envvar:`!PYLAUNCHER_DRYRUN` is set (to any " "value), the launcher will output the command it would have run, but will not " "actually launch Python. This may be useful for tools that want to use the " "launcher to detect and then launch Python directly. Note that the command " @@ -2591,18 +2724,18 @@ msgid "Install on demand" msgstr "" msgid "" -"If an environment variable :envvar:`PYLAUNCHER_ALLOW_INSTALL` is set (to any " -"value), and the requested Python version is not installed but is available " -"on the Microsoft Store, the launcher will attempt to install it. This may " -"require user interaction to complete, and you may need to run the command " -"again." +"If an environment variable :envvar:`!PYLAUNCHER_ALLOW_INSTALL` is set (to " +"any value), and the requested Python version is not installed but is " +"available on the Microsoft Store, the launcher will attempt to install it. " +"This may require user interaction to complete, and you may need to run the " +"command again." msgstr "" msgid "" -"An additional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` variable causes the " +"An additional :envvar:`!PYLAUNCHER_ALWAYS_INSTALL` variable causes the " "launcher to always try to install Python, even if it is detected. This is " -"mainly intended for testing (and should be used with :envvar:" -"`PYLAUNCHER_DRYRUN`)." +"mainly intended for testing (and should be used with :envvar:`!" +"PYLAUNCHER_DRYRUN`)." msgstr "" msgid "Return codes" @@ -2627,7 +2760,7 @@ msgid "RC_BAD_VENV_CFG" msgstr "" msgid "107" -msgstr "" +msgstr "107" msgid "A :file:`pyvenv.cfg` was found but is corrupt." msgstr "" @@ -2636,7 +2769,7 @@ msgid "RC_CREATE_PROCESS" msgstr "" msgid "101" -msgstr "" +msgstr "101" msgid "Failed to launch Python." msgstr "" @@ -2645,7 +2778,7 @@ msgid "RC_INSTALLING" msgstr "" msgid "111" -msgstr "" +msgstr "111" msgid "" "An install was started, but the command will need to be re-run after it " @@ -2656,7 +2789,7 @@ msgid "RC_INTERNAL_ERROR" msgstr "" msgid "109" -msgstr "" +msgstr "109" msgid "Unexpected error. Please report a bug." msgstr "" @@ -2665,7 +2798,7 @@ msgid "RC_NO_COMMANDLINE" msgstr "" msgid "108" -msgstr "" +msgstr "108" msgid "Unable to obtain command line from the operating system." msgstr "" @@ -2674,7 +2807,7 @@ msgid "RC_NO_PYTHON" msgstr "" msgid "103" -msgstr "" +msgstr "103" msgid "Unable to locate the requested version." msgstr "" @@ -2683,7 +2816,7 @@ msgid "RC_NO_VENV_CFG" msgstr "" msgid "106" -msgstr "" +msgstr "106" msgid "A :file:`pyvenv.cfg` was required but not found." msgstr "" diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index a9eb6dbd47..20f8007432 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -1,22 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,6 +56,15 @@ msgid "" "for PythonLabs are now getting paid to spend their days fixing bugs, and " "also due to the improved communication resulting from moving to SourceForge." msgstr "" +"Rozwój Pythona nigdy nie zatrzymuje się całkowicie między wydaniami, a stały " +"napływ poprawek błędów i ulepszeń jest zawsze zgłaszany. Wiele drobnych " +"poprawek, kilka optymalizacji, dodatkowe ciągi dokumentów i lepsze " +"komunikaty o błędach weszło do 2.0; Wymienienie ich wszystkich byłoby " +"niemożliwe, ale z pewnością są znaczące. Sprawdź publicznie dostępne logi " +"CVS, jeśli chcesz zobaczyć pełną listę. Postęp ten wynika z tego, że pięciu " +"programistów pracujących dla PythonLabs otrzymuje teraz wynagrodzenie za " +"spędzanie dni na naprawianiu błędów, a także dzięki ulepszonej komunikacji " +"wynikającej z przejścia do SourceForge." msgid "What About Python 1.6?" msgstr "Co z Pythonem 1.6?" @@ -860,12 +866,12 @@ msgid "" "The change which will probably break the most code is tightening up the " "arguments accepted by some methods. Some methods would take multiple " "arguments and treat them as a tuple, particularly various list methods such " -"as :meth:`!append` and :meth:`!insert`. In earlier versions of Python, if " -"``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " -"list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " -"with the message: 'append requires exactly 1 argument; 2 given'. The fix is " -"to simply add an extra set of parentheses to pass both values as a tuple: " -"``L.append( (1,2) )``." +"as :meth:`~list.append` and :meth:`~list.insert`. In earlier versions of " +"Python, if ``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` " +"to the list. In Python 2.0 this causes a :exc:`TypeError` exception to be " +"raised, with the message: 'append requires exactly 1 argument; 2 given'. " +"The fix is to simply add an extra set of parentheses to pass both values as " +"a tuple: ``L.append( (1,2) )``." msgstr "" msgid "" diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po index b211ecb251..8fa5726a8a 100644 --- a/whatsnew/2.1.po +++ b/whatsnew/2.1.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index a53461121d..cd8f04718a 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index cdcdafaa28..e8825e4e36 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -103,7 +102,7 @@ msgid "" "`~frozenset.union` and :meth:`~frozenset.intersection` methods; an " "alternative notation uses the bitwise operators ``&`` and ``|``. Mutable " "sets also have in-place versions of these methods, :meth:`!union_update` " -"and :meth:`~frozenset.intersection_update`. ::" +"and :meth:`~set.intersection_update`. ::" msgstr "" msgid "" @@ -128,8 +127,8 @@ msgid "" "the set of all elements in the union that aren't in the intersection. " "Another way of putting it is that the symmetric difference contains all " "elements that are in exactly one set. Again, there's an alternative " -"notation (``^``), and an in-place version with the ungainly name :meth:" -"`~frozenset.symmetric_difference_update`. ::" +"notation (``^``), and an in-place version with the ungainly name :meth:`~set." +"symmetric_difference_update`. ::" msgstr "" msgid "" @@ -2223,8 +2222,8 @@ msgid "" msgstr "" msgid "" -">>> import datetime\n" -">>> now = datetime.datetime.now()\n" +">>> import datetime as dt\n" +">>> now = dt.datetime.now()\n" ">>> now.isoformat()\n" "'2002-12-30T21:27:03.994956'\n" ">>> now.ctime() # Only available on date, datetime\n" @@ -2240,10 +2239,10 @@ msgid "" msgstr "" msgid "" -">>> d = datetime.datetime.now()\n" +">>> d = dt.datetime.now()\n" ">>> d\n" "datetime.datetime(2002, 12, 30, 22, 15, 38, 827738)\n" -">>> d.replace(year=2001, hour = 12)\n" +">>> d.replace(year=2001, hour=12)\n" "datetime.datetime(2001, 12, 30, 12, 15, 38, 827738)\n" ">>>" msgstr "" diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 62b2cd0039..030d7ffe94 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index 90e95c03e1..2027ff9c3c 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1683,10 +1681,10 @@ msgid "" msgstr "" msgid "" -"from datetime import datetime\n" +"import datetime as dt\n" "\n" -"ts = datetime.strptime('10:13:15 2006-03-07',\n" -" '%H:%M:%S %Y-%m-%d')" +"ts = dt.datetime.strptime('10:13:15 2006-03-07',\n" +" '%H:%M:%S %Y-%m-%d')" msgstr "" msgid "" @@ -2352,13 +2350,13 @@ msgid "Adds *elem2* as a child." msgstr "" msgid "``elem.insert(index, elem2)``" -msgstr "" +msgstr "``elem.insert(index, elem2)``" msgid "Inserts *elem2* at the specified location." msgstr "" msgid "``del elem[n]``" -msgstr "" +msgstr "``del elem[n]``" msgid "Deletes n'th child element." msgstr "" @@ -2376,7 +2374,7 @@ msgid "Returns value of attribute *name*." msgstr "" msgid "``elem.set(name, value)``" -msgstr "" +msgstr "``elem.set(name, value)``" msgid "Sets new value for attribute *name*." msgstr "" @@ -2388,7 +2386,7 @@ msgid "Retrieves the dictionary containing attributes." msgstr "" msgid "``del elem.attrib[name]``" -msgstr "" +msgstr "``del elem.attrib[name]``" msgid "Deletes attribute *name*." msgstr "" @@ -2808,15 +2806,14 @@ msgstr "" msgid "" "Two new macros can be used to indicate C functions that are local to the " -"current file so that a faster calling convention can be used. " -"``Py_LOCAL(type)`` declares the function as returning a value of the " -"specified *type* and uses a fast-calling qualifier. " -"``Py_LOCAL_INLINE(type)`` does the same thing and also requests the function " -"be inlined. If macro :c:macro:`!PY_LOCAL_AGGRESSIVE` is defined before :" -"file:`python.h` is included, a set of more aggressive optimizations are " -"enabled for the module; you should benchmark the results to find out if " -"these optimizations actually make the code faster. (Contributed by Fredrik " -"Lundh at the NeedForSpeed sprint.)" +"current file so that a faster calling convention can be used. :c:macro:" +"`Py_LOCAL` declares the function as returning a value of the specified " +"*type* and uses a fast-calling qualifier. :c:macro:`Py_LOCAL_INLINE` does " +"the same thing and also requests the function be inlined. If macro :c:macro:" +"`!PY_LOCAL_AGGRESSIVE` is defined before :file:`python.h` is included, a set " +"of more aggressive optimizations are enabled for the module; you should " +"benchmark the results to find out if these optimizations actually make the " +"code faster. (Contributed by Fredrik Lundh at the NeedForSpeed sprint.)" msgstr "" msgid "" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 00eb93bbe9..2ee4be465b 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,7 +43,7 @@ msgid "" "incorporates new features and syntax from 3.0 while remaining compatible " "with existing code by not removing older features or syntax. When it's not " "possible to do that, Python 2.6 tries to do what it can, adding " -"compatibility functions in a :mod:`future_builtins` module and a :option:" +"compatibility functions in a :mod:`!future_builtins` module and a :option:" "`!-3` switch to warn about usages that will become unsupported in 3.0." msgstr "" @@ -106,7 +104,7 @@ msgid "" "Python 3.0 adds several new built-in functions and changes the semantics of " "some existing builtins. Functions that are new in 3.0 such as :func:`bin` " "have simply been added to Python 2.6, but existing builtins haven't been " -"changed; instead, the :mod:`future_builtins` module has versions with the " +"changed; instead, the :mod:`!future_builtins` module has versions with the " "new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " "future_builtins import hex, map`` as necessary." msgstr "" @@ -115,7 +113,7 @@ msgid "" "A new command-line switch, :option:`!-3`, enables warnings about features " "that will be removed in Python 3.0. You can run code with this switch to " "see how much work will be necessary to port code to 3.0. The value of this " -"switch is available to Python code as the boolean variable :data:`sys." +"switch is available to Python code as the boolean variable :data:`!sys." "py3kwarning`, and to C extension code as :c:data:`!Py_Py3kWarningFlag`." msgstr "" @@ -354,9 +352,10 @@ msgid "" msgstr "" msgid "" -"The :func:`localcontext` function in the :mod:`decimal` module makes it easy " -"to save and restore the current decimal context, which encapsulates the " -"desired precision and rounding characteristics for computations::" +"The :func:`~decimal.localcontext` function in the :mod:`decimal` module " +"makes it easy to save and restore the current decimal context, which " +"encapsulates the desired precision and rounding characteristics for " +"computations::" msgstr "" msgid "" @@ -447,7 +446,7 @@ msgstr "" msgid "" "The transaction should be committed if the code in the block runs flawlessly " "or rolled back if there's an exception. Here's the basic interface for :" -"class:`DatabaseConnection` that I'll assume::" +"class:`!DatabaseConnection` that I'll assume::" msgstr "" msgid "" @@ -514,15 +513,15 @@ msgid "" msgstr "" msgid "" -"The decorator is called :func:`contextmanager`, and lets you write a single " -"generator function instead of defining a new class. The generator should " -"yield exactly one value. The code up to the :keyword:`yield` will be " -"executed as the :meth:`~object.__enter__` method, and the value yielded will " -"be the method's return value that will get bound to the variable in the ':" -"keyword:`with`' statement's :keyword:`!as` clause, if any. The code after " -"the :keyword:`!yield` will be executed in the :meth:`~object.__exit__` " -"method. Any exception raised in the block will be raised by the :keyword:`!" -"yield` statement." +"The decorator is called :func:`~contextlib.contextmanager`, and lets you " +"write a single generator function instead of defining a new class. The " +"generator should yield exactly one value. The code up to the :keyword:" +"`yield` will be executed as the :meth:`~object.__enter__` method, and the " +"value yielded will be the method's return value that will get bound to the " +"variable in the ':keyword:`with`' statement's :keyword:`!as` clause, if " +"any. The code after the :keyword:`!yield` will be executed in the :meth:" +"`~object.__exit__` method. Any exception raised in the block will be raised " +"by the :keyword:`!yield` statement." msgstr "" msgid "" @@ -564,9 +563,9 @@ msgid "" msgstr "" msgid "" -"Finally, the :func:`closing` function returns its argument so that it can be " -"bound to a variable, and calls the argument's ``.close()`` method at the end " -"of the block. ::" +"Finally, the :func:`~contextlib.closing` function returns its argument so " +"that it can be bound to a variable, and calls the argument's ``.close()`` " +"method at the end of the block. ::" msgstr "" msgid "" @@ -644,9 +643,9 @@ msgid "" "If you don't like the default directory, it can be overridden by an " "environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used " "for all Python versions supporting this feature. On Windows, the directory " -"for application-specific data can be changed by setting the :envvar:" -"`APPDATA` environment variable. You can also modify the :file:`site.py` " -"file for your Python installation." +"for application-specific data can be changed by setting the :envvar:`!" +"APPDATA` environment variable. You can also modify the :file:`site.py` file " +"for your Python installation." msgstr "" msgid "" @@ -675,11 +674,13 @@ msgid "" "The :mod:`multiprocessing` module started out as an exact emulation of the :" "mod:`threading` module using processes instead of threads. That goal was " "discarded along the path to Python 2.6, but the general approach of the " -"module is still similar. The fundamental class is the :class:`Process`, " -"which is passed a callable object and a collection of arguments. The :meth:" -"`start` method sets the callable running in a subprocess, after which you " -"can call the :meth:`is_alive` method to check whether the subprocess is " -"still running and the :meth:`join` method to wait for the process to exit." +"module is still similar. The fundamental class is the :class:" +"`~multiprocessing.Process`, which is passed a callable object and a " +"collection of arguments. The :meth:`~multiprocessing.Process.start` method " +"sets the callable running in a subprocess, after which you can call the :" +"meth:`~multiprocessing.Process.is_alive` method to check whether the " +"subprocess is still running and the :meth:`~multiprocessing.Process.join` " +"method to wait for the process to exit." msgstr "" msgid "" @@ -730,13 +731,15 @@ msgid "" msgstr "" msgid "" -"Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level " -"interfaces. :class:`Pool` will create a fixed number of worker processes, " -"and requests can then be distributed to the workers by calling :meth:`apply` " -"or :meth:`apply_async` to add a single request, and :meth:`map` or :meth:" -"`map_async` to add a number of requests. The following code uses a :class:" -"`Pool` to spread requests across 5 worker processes and retrieve a list of " -"results::" +"Two other classes, :class:`~multiprocessing.pool.Pool` and :class:" +"`~multiprocessing.Manager`, provide higher-level interfaces. :class:" +"`~multiprocessing.pool.Pool` will create a fixed number of worker processes, " +"and requests can then be distributed to the workers by calling :meth:" +"`~multiprocessing.pool.Pool.apply` or :meth:`~multiprocessing.pool.Pool." +"apply_async` to add a single request, and :meth:`~multiprocessing.pool.Pool." +"map` or :meth:`~multiprocessing.pool.Pool.map_async` to add a number of " +"requests. The following code uses a :class:`~multiprocessing.pool.Pool` to " +"spread requests across 5 worker processes and retrieve a list of results::" msgstr "" msgid "" @@ -764,14 +767,16 @@ msgid "" msgstr "" msgid "" -"The other high-level interface, the :class:`Manager` class, creates a " -"separate server process that can hold master copies of Python data " +"The other high-level interface, the :class:`~multiprocessing.Manager` class, " +"creates a separate server process that can hold master copies of Python data " "structures. Other processes can then access and modify these data " "structures using proxy objects. The following example creates a shared " "dictionary by calling the :meth:`dict` method; the worker processes then " "insert values into the dictionary. (Locking is not done for you " -"automatically, which doesn't matter in this example. :class:`Manager`'s " -"methods also include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to " +"automatically, which doesn't matter in this example. :class:" +"`~multiprocessing.Manager`'s methods also include :meth:`~multiprocessing." +"managers.SyncManager.Lock`, :meth:`~multiprocessing.managers.SyncManager." +"RLock`, and :meth:`~multiprocessing.managers.SyncManager.Semaphore` to " "create shared locks.)" msgstr "" @@ -1050,8 +1055,8 @@ msgid "" msgstr "" msgid "" -"Classes and types can define a :meth:`__format__` method to control how " -"they're formatted. It receives a single argument, the format specifier::" +"Classes and types can define a :meth:`~object.__format__` method to control " +"how they're formatted. It receives a single argument, the format specifier::" msgstr "" msgid "" @@ -1064,7 +1069,8 @@ msgstr "" msgid "" "There's also a :func:`format` builtin that will format a single value. It " -"calls the type's :meth:`__format__` method with the provided specifier::" +"calls the type's :meth:`~object.__format__` method with the provided " +"specifier::" msgstr "" msgid "" @@ -1271,8 +1277,10 @@ msgstr "" msgid "" "Byte arrays support most of the methods of string types, such as :meth:" -"`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the " -"methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`." +"`~bytearray.startswith`/:meth:`~bytearray.endswith`, :meth:`~bytearray." +"find`/:meth:`~bytearray.rfind`, and some of the methods of lists, such as :" +"meth:`~bytearray.append`, :meth:`~bytearray.pop`, and :meth:`~bytearray." +"reverse`." msgstr "" msgid "" @@ -1305,8 +1313,8 @@ msgstr "" msgid "" "Python's built-in file objects support a number of methods, but file-like " "objects don't necessarily support all of them. Objects that imitate files " -"usually support :meth:`read` and :meth:`write`, but they may not support :" -"meth:`readline`, for example. Python 3.0 introduces a layered I/O library " +"usually support :meth:`!read` and :meth:`!write`, but they may not support :" +"meth:`!readline`, for example. Python 3.0 introduces a layered I/O library " "in the :mod:`io` module that separates buffering and text-handling features " "from the fundamental read and write operations." msgstr "" @@ -1317,12 +1325,13 @@ msgid "" msgstr "" msgid "" -":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:" -"`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " -"and :meth:`close`. Most of the methods of this class will often map to a " -"single system call. There are also :meth:`readable`, :meth:`writable`, and :" -"meth:`seekable` methods for determining what operations a given object will " -"allow." +":class:`~io.RawIOBase` defines raw I/O operations: :meth:`~io.RawIOBase." +"read`, :meth:`~io.RawIOBase.readinto`, :meth:`~io.RawIOBase.write`, :meth:" +"`~io.IOBase.seek`, :meth:`~io.IOBase.tell`, :meth:`~io.IOBase.truncate`, " +"and :meth:`~io.IOBase.close`. Most of the methods of this class will often " +"map to a single system call. There are also :meth:`~io.IOBase.readable`, :" +"meth:`~io.IOBase.writable`, and :meth:`~io.IOBase.seekable` methods for " +"determining what operations a given object will allow." msgstr "" msgid "" @@ -1331,36 +1340,37 @@ msgid "" msgstr "" msgid "" -":class:`BufferedIOBase` is an abstract base class that buffers data in " +":class:`~io.BufferedIOBase` is an abstract base class that buffers data in " "memory to reduce the number of system calls used, making I/O processing more " -"efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :" -"attr:`raw` attribute holding the underlying raw object." +"efficient. It supports all of the methods of :class:`~io.RawIOBase`, and " +"adds a :attr:`~io.BufferedIOBase.raw` attribute holding the underlying raw " +"object." msgstr "" msgid "" -"There are five concrete classes implementing this ABC. :class:" -"`BufferedWriter` and :class:`BufferedReader` are for objects that support " -"write-only or read-only usage that have a :meth:`seek` method for random " -"access. :class:`BufferedRandom` objects support read and write access upon " -"the same underlying stream, and :class:`BufferedRWPair` is for objects such " -"as TTYs that have both read and write operations acting upon unconnected " -"streams of data. The :class:`BytesIO` class supports reading, writing, and " -"seeking over an in-memory buffer." +"There are five concrete classes implementing this ABC. :class:`~io." +"BufferedWriter` and :class:`~io.BufferedReader` are for objects that support " +"write-only or read-only usage that have a :meth:`~io.IOBase.seek` method for " +"random access. :class:`~io.BufferedRandom` objects support read and write " +"access upon the same underlying stream, and :class:`~io.BufferedRWPair` is " +"for objects such as TTYs that have both read and write operations acting " +"upon unconnected streams of data. The :class:`~io.BytesIO` class supports " +"reading, writing, and seeking over an in-memory buffer." msgstr "" msgid "" -":class:`TextIOBase`: Provides functions for reading and writing strings " +":class:`~io.TextIOBase`: Provides functions for reading and writing strings " "(remember, strings will be Unicode in Python 3.0), and supporting :term:" -"`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` " +"`universal newlines`. :class:`~io.TextIOBase` defines the :meth:`readline` " "method and supports iteration upon objects." msgstr "" msgid "" -"There are two concrete implementations. :class:`TextIOWrapper` wraps a " +"There are two concrete implementations. :class:`~io.TextIOWrapper` wraps a " "buffered I/O object, supporting all of the methods for text I/O and adding " -"a :attr:`buffer` attribute for access to the underlying object. :class:" -"`StringIO` simply buffers everything in memory without ever writing anything " -"to disk." +"a :attr:`~io.TextIOBase.buffer` attribute for access to the underlying " +"object. :class:`~io.StringIO` simply buffers everything in memory without " +"ever writing anything to disk." msgstr "" msgid "" @@ -1457,10 +1467,10 @@ msgid "" "that a class has a given set of methods or supports a given access " "protocol. Abstract Base Classes (or ABCs) are an equivalent feature for " "Python. The ABC support consists of an :mod:`abc` module containing a " -"metaclass called :class:`ABCMeta`, special handling of this metaclass by " -"the :func:`isinstance` and :func:`issubclass` builtins, and a collection of " -"basic ABCs that the Python developers think will be widely useful. Future " -"versions of Python will probably add more ABCs." +"metaclass called :class:`~abc.ABCMeta`, special handling of this metaclass " +"by the :func:`isinstance` and :func:`issubclass` builtins, and a collection " +"of basic ABCs that the Python developers think will be widely useful. " +"Future versions of Python will probably add more ABCs." msgstr "" msgid "" @@ -1468,19 +1478,19 @@ msgid "" "dictionary-style access. The phrase \"dictionary-style\" is vague, however. " "It probably means that accessing items with ``obj[1]`` works. Does it imply " "that setting items with ``obj[2] = value`` works? Or that the object will " -"have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about " -"the iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:" -"`update`? Iterating over the object with :func:`iter`?" +"have :meth:`!keys`, :meth:`!values`, and :meth:`!items` methods? What about " +"the iterative variants such as :meth:`!iterkeys`? :meth:`!copy`and :meth:`!" +"update`? Iterating over the object with :func:`!iter`?" msgstr "" msgid "" "The Python 2.6 :mod:`collections` module includes a number of different ABCs " "that represent these distinctions. :class:`Iterable` indicates that a class " -"defines :meth:`__iter__`, and :class:`Container` means the class defines a :" -"meth:`__contains__` method and therefore supports ``x in y`` expressions. " -"The basic dictionary interface of getting items, setting items, and :meth:" -"`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:" -"`MutableMapping` ABC." +"defines :meth:`~object.__iter__`, and :class:`Container` means the class " +"defines a :meth:`~object.__contains__` method and therefore supports ``x in " +"y`` expressions. The basic dictionary interface of getting items, setting " +"items, and :meth:`!keys`, :meth:`!values`, and :meth:`!items`, is defined by " +"the :class:`MutableMapping` ABC." msgstr "" msgid "" @@ -1497,8 +1507,8 @@ msgstr "" msgid "" "Alternatively, you could write the class without deriving from the desired " -"ABC and instead register the class by calling the ABC's :meth:`register` " -"method::" +"ABC and instead register the class by calling the ABC's :meth:`~abc.ABCMeta." +"register` method::" msgstr "" msgid "" @@ -1512,10 +1522,10 @@ msgstr "" msgid "" "For classes that you write, deriving from the ABC is probably clearer. The :" -"meth:`register` method is useful when you've written a new ABC that can " -"describe an existing type or class, or if you want to declare that some " -"third-party class implements an ABC. For example, if you defined a :class:" -"`PrintableType` ABC, it's legal to do::" +"meth:`~abc.ABCMeta.register` method is useful when you've written a new ABC " +"that can describe an existing type or class, or if you want to declare that " +"some third-party class implements an ABC. For example, if you defined a :" +"class:`!PrintableType` ABC, it's legal to do::" msgstr "" msgid "" @@ -1576,19 +1586,19 @@ msgid "" msgstr "" msgid "" -"In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " -"the object at twice its size and can be implemented in terms of other " -"methods described in :class:`Drawable`. Classes implementing this ABC " -"therefore don't need to provide their own implementation of :meth:" -"`draw_doubled`, though they can do so. An implementation of :meth:`draw` is " +"In the :class:`!Drawable` ABC above, the :meth:`!draw_doubled` method " +"renders the object at twice its size and can be implemented in terms of " +"other methods described in :class:`!Drawable`. Classes implementing this " +"ABC therefore don't need to provide their own implementation of :meth:`!" +"draw_doubled`, though they can do so. An implementation of :meth:`!draw` is " "necessary, though; the ABC can't provide a useful generic implementation." msgstr "" msgid "" -"You can apply the ``@abstractmethod`` decorator to methods such as :meth:" -"`draw` that must be implemented; Python will then raise an exception for " -"classes that don't define the method. Note that the exception is only raised " -"when you actually try to create an instance of a subclass lacking the " +"You can apply the :deco:`~abc.abstractmethod` decorator to methods such as :" +"meth:`!draw` that must be implemented; Python will then raise an exception " +"for classes that don't define the method. Note that the exception is only " +"raised when you actually try to create an instance of a subclass lacking the " "method::" msgstr "" @@ -1618,7 +1628,7 @@ msgid "" " return self._x" msgstr "" -msgid "Subclasses must then define a :meth:`readonly` property." +msgid "Subclasses must then define a ``readonly`` property." msgstr "" msgid ":pep:`3119` - Introducing Abstract Base Classes" @@ -1923,8 +1933,9 @@ msgid "" msgstr "" msgid "" -"Tuples now have :meth:`index` and :meth:`count` methods matching the list " -"type's :meth:`index` and :meth:`count` methods::" +"Tuples now have :meth:`~tuple.index` and :meth:`~tuple.count` methods " +"matching the list type's :meth:`~list.index` and :meth:`~list.count` " +"methods::" msgstr "" msgid "" @@ -3452,13 +3463,13 @@ msgid "" "transformations such as changing line numbers." msgstr "" -msgid "The :mod:`future_builtins` module" +msgid "The :mod:`!future_builtins` module" msgstr "" msgid "" "Python 3.0 makes many changes to the repertoire of built-in functions, and " "most of the changes can't be introduced in the Python 2.x series because " -"they would break compatibility. The :mod:`future_builtins` module provides " +"they would break compatibility. The :mod:`!future_builtins` module provides " "versions of these built-in functions that can be imported when writing 3.0-" "compatible code." msgstr "" @@ -3539,10 +3550,10 @@ msgstr "" msgid "" "import sys\n" "import plistlib\n" -"import datetime\n" +"import datetime as dt\n" "\n" "# Create data structure\n" -"data_struct = dict(lastAccessed=datetime.datetime.now(),\n" +"data_struct = dict(lastAccessed=dt.datetime.now(),\n" " version=1,\n" " categories=('Personal','Shared','Private'))\n" "\n" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 7ab25d949b..74b81d9843 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -4,17 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1052,11 +1051,10 @@ msgid "" msgstr "" msgid "" -"When using :class:`@classmethod ` and :class:`@staticmethod " -"` to wrap methods as class or static methods, the wrapper " -"object now exposes the wrapped function as their :attr:`~method.__func__` " -"attribute. (Contributed by Amaury Forgeot d'Arc, after a suggestion by " -"George Sakkis; :issue:`5982`.)" +"When using :deco:`classmethod` and :deco:`staticmethod` to wrap methods as " +"class or static methods, the wrapper object now exposes the wrapped function " +"as their :attr:`~method.__func__` attribute. (Contributed by Amaury Forgeot " +"d'Arc, after a suggestion by George Sakkis; :issue:`5982`.)" msgstr "" msgid "" @@ -1882,8 +1880,9 @@ msgid "" "The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the " "buffer API, which fixed a test suite failure (fix by Antoine Pitrou; :issue:" "`7133`) and automatically set OpenSSL's :c:macro:`!SSL_MODE_AUTO_RETRY`, " -"which will prevent an error code being returned from :meth:`recv` operations " -"that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:`8222`)." +"which will prevent an error code being returned from :meth:`!recv` " +"operations that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:" +"`8222`)." msgstr "" msgid "" @@ -2519,8 +2518,8 @@ msgstr "" msgid "" "ElementTree's code for converting trees to a string has been significantly " "reworked, making it roughly twice as fast in many cases. The :meth:" -"`ElementTree.write() ` and :meth:" -"`Element.write` methods now have a *method* parameter that can be " +"`ElementTree.write() ` and :meth:`!" +"Element.write` methods now have a *method* parameter that can be " "\"xml\" (the default), \"html\", or \"text\". HTML mode will output empty " "elements as ```` instead of ````, and text mode will " "skip over elements and only output the text chunks. If you set the :attr:" @@ -2534,7 +2533,7 @@ msgid "" "Namespace handling has also been improved. All ``xmlns:`` " "declarations are now output on the root element, not scattered throughout " "the resulting XML. You can set the default namespace for a tree by setting " -"the :attr:`default_namespace` attribute and can register new prefixes with :" +"the :attr:`!default_namespace` attribute and can register new prefixes with :" "meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use " "the true/false *xml_declaration* parameter to suppress the XML declaration." msgstr "" @@ -2754,8 +2753,8 @@ msgstr "" msgid "" "When using the :c:type:`PyMemberDef` structure to define attributes of a " -"type, Python will no longer let you try to delete or set a :c:macro:" -"`T_STRING_INPLACE` attribute." +"type, Python will no longer let you try to delete or set a :c:macro:`!" +"T_STRING_INPLACE` attribute." msgstr "" msgid "" @@ -2786,16 +2785,16 @@ msgstr "" msgid "" "The :program:`configure` script now checks for floating-point rounding bugs " -"on certain 32-bit Intel chips and defines a :c:macro:`X87_DOUBLE_ROUNDING` " +"on certain 32-bit Intel chips and defines a :c:macro:`!X87_DOUBLE_ROUNDING` " "preprocessor definition. No code currently uses this definition, but it's " "available if anyone wishes to use it. (Added by Mark Dickinson; :issue:" "`2937`.)" msgstr "" msgid "" -":program:`configure` also now sets a :envvar:`LDCXXSHARED` Makefile variable " -"for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar " -"Arahesis; :issue:`1222585`.)" +":program:`configure` also now sets a :envvar:`!LDCXXSHARED` Makefile " +"variable for supporting C++ linking. (Contributed by Arfrever Frehtes " +"Taifersar Arahesis; :issue:`1222585`.)" msgstr "" msgid "" diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index 27c78c0f6d..239e99b94c 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Stefan Ocetkiewicz , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2024 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2024\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index 3ed3a5ad8f..4060ee8453 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2021 -# Seweryn Piórkowski , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index a52777463a..59f7d27563 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Rafael Fontenelle , 2024 -# Marysia Olko, 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-17 14:51+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,6 +37,9 @@ msgid "" "Python 3.10 was released on October 4, 2021. For full details, see the :ref:" "`changelog `." msgstr "" +"W tym artykule wyjaśniono nowe funkcje w Pythonie 3.10 w porównaniu z wersją " +"3.9. Python 3.10 został wydany 4 października 2021 r. Aby uzyskać " +"szczegółowe informacje, zobacz :ref:`changelog `." msgid "Summary -- Release highlights" msgstr "Podsumowanie – najważniejsze nowości" @@ -195,6 +194,11 @@ msgid "" "pointing to some incorrect location. For instance, consider the following " "code (notice the unclosed '{'):" msgstr "" +"Podczas analizowania kodu, który zawiera niezamknięte nawiasy lub nawiasy, " +"interpreter uwzględnia teraz lokalizację niezamkniętych nawiasów, zamiast " +"wyświetlać *SyntaxError: nieoczekiwany EOF podczas analizowania* lub " +"wskazywać nieprawidłową lokalizację. Rozważmy na przykład następujący kod " +"(zwróć uwagę na niezamknięte '{'):" msgid "" "expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4,\n" @@ -206,6 +210,8 @@ msgid "" "Previous versions of the interpreter reported confusing places as the " "location of the syntax error:" msgstr "" +"Poprzednie wersje interpretera podawały mylące miejsca jako lokalizację " +"błędu składniowego:" msgid "" "File \"example.py\", line 3\n" @@ -215,7 +221,7 @@ msgid "" msgstr "" msgid "but in Python 3.10 a more informative error is emitted:" -msgstr "" +msgstr "ale w Pythonie 3.10 emitowany jest bardziej informacyjny błąd:" msgid "" "File \"example.py\", line 1\n" @@ -229,10 +235,14 @@ msgid "" "triple quoted) now point to the start of the string instead of reporting EOF/" "EOL." msgstr "" +"W podobny sposób błędy związane z niezamkniętymi literałami łańcuchowymi " +"(pojedyncze i potrójne cudzysłowy) wskazują teraz początek łańcucha zamiast " +"raportowania EOF/EOL." msgid "" "These improvements are inspired by previous work in the PyPy interpreter." msgstr "" +"Te ulepszenia są inspirowane wcześniejszymi pracami nad interpreterem PyPy." msgid "" "(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :" @@ -255,7 +265,7 @@ msgid "" msgstr "" msgid "now Python 3.10 will display the exception as:" -msgstr "" +msgstr "teraz Python 3.10 wyświetli wyjątek jako:" msgid "" ">>> foo(x, z for z in range(10), t, w)\n" @@ -266,7 +276,7 @@ msgid "" msgstr "" msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`." -msgstr "" +msgstr "Do poprawy tej przyczynił się Pablo Galindo w :issue:`43914`" msgid "" "A considerable amount of new specialized messages for :exc:`SyntaxError` " @@ -275,7 +285,7 @@ msgid "" msgstr "" msgid "Missing ``:`` before blocks:" -msgstr "" +msgstr "Brakuje ``:`` przed blokami:" msgid "" ">>> if rocket.position > event_horizon\n" @@ -286,7 +296,7 @@ msgid "" msgstr "" msgid "(Contributed by Pablo Galindo in :issue:`42997`.)" -msgstr "" +msgstr "(Autor: Pablo Galindo w :issue:`42997`.)" msgid "Unparenthesised tuples in comprehensions targets:" msgstr "" @@ -300,10 +310,10 @@ msgid "" msgstr "" msgid "(Contributed by Pablo Galindo in :issue:`43017`.)" -msgstr "" +msgstr "(Autor: Pablo Galindo w :issue:`43017`.)" msgid "Missing commas in collection literals and between expressions:" -msgstr "" +msgstr "Brakujące przecinki w literałach kolekcji i między wyrażeniami:" msgid "" ">>> items = {\n" @@ -474,7 +484,7 @@ msgid "" msgstr "" msgid "PEP 626: Precise line numbers for debugging and other tools" -msgstr "" +msgstr "PEP 626: Precyzyjne numerowanie linii do debugowania i innych narzędzi" msgid "" "PEP 626 brings more precise and reliable line numbers for debugging, " @@ -482,6 +492,10 @@ msgid "" "are generated for all lines of code executed and only for lines of code that " "are executed." msgstr "" +"PEP 626 zapewnia bardziej precyzyjne i niezawodne numerowanie linii dla " +"narzędzi do debugowania, profilowania i pokrycia. Zdarzenia śledzenia z " +"poprawnym numerem wiersza są generowane dla wszystkich wykonanych wierszy " +"kodu i tylko dla wykonanych wierszy kodu." msgid "" "The :attr:`~frame.f_lineno` attribute of frame objects will always contain " @@ -508,10 +522,10 @@ msgid "" msgstr "" msgid "Syntax and operations" -msgstr "" +msgstr "Składnia i operacje" msgid "The generic syntax of pattern matching is::" -msgstr "" +msgstr "Ogólna składnia dopasowywania wzorców jest następująca::" msgid "" "match subject:\n" @@ -530,6 +544,9 @@ msgid "" "patterns given as one or more case blocks. Specifically, pattern matching " "operates by:" msgstr "" +"Instrukcja dopasowania przyjmuje wyrażenie i porównuje jego wartość z " +"kolejnymi wzorcami podanymi jako jeden lub więcej bloków przypadków. W " +"szczególności dopasowanie wzorców działa poprzez:" msgid "using data with type and shape (the ``subject``)" msgstr "" @@ -582,7 +599,7 @@ msgid "" msgstr "" msgid "Simple pattern: match to a literal" -msgstr "" +msgstr "Prosty wzór: dopasowanie do literału" msgid "" "Let's look at this example as pattern matching in its simplest form: a " @@ -710,13 +727,14 @@ msgstr "" msgid "" "If you are using classes to structure your data, you can use as a pattern " "the class name followed by an argument list resembling a constructor. This " -"pattern has the ability to capture class attributes into variables::" +"pattern has the ability to capture instance attributes into variables::" msgstr "" msgid "" "class Point:\n" -" x: int\n" -" y: int\n" +" def __init__(self, x, y):\n" +" self.x = x\n" +" self.y = y\n" "\n" "def location(point):\n" " match point:\n" @@ -829,7 +847,7 @@ msgid "Other Key Features" msgstr "" msgid "Several other key features:" -msgstr "" +msgstr "Kilka innych kluczowych cech:" msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " @@ -1119,12 +1137,11 @@ msgid "" msgstr "" msgid "" -"Static methods (:func:`@staticmethod `) and class methods (:" -"func:`@classmethod `) now inherit the method attributes " -"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, " -"``__annotations__``) and have a new ``__wrapped__`` attribute. Moreover, " -"static methods are now callable as regular functions. (Contributed by Victor " -"Stinner in :issue:`43682`.)" +"Static methods (:deco:`staticmethod`) and class methods (:deco:" +"`classmethod`) now inherit the method attributes (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__``, ``__annotations__``) and have a " +"new ``__wrapped__`` attribute. Moreover, static methods are now callable as " +"regular functions. (Contributed by Victor Stinner in :issue:`43682`.)" msgstr "" msgid "" @@ -1190,9 +1207,8 @@ msgid "asyncio" msgstr "" msgid "" -"Add missing :meth:`~asyncio.events.AbstractEventLoop." -"connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:" -"`41332`.)" +"Add missing :meth:`~asyncio.loop.connect_accepted_socket` method. " +"(Contributed by Alex Grönholm in :issue:`41332`.)" msgstr "" msgid "argparse" @@ -1234,8 +1250,8 @@ msgid "bdb" msgstr "" msgid "" -"Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " -"(Contributed by Irit Katriel in :issue:`24160`.)" +"Add :meth:`!clearBreakpoints` to reset all set breakpoints. (Contributed by " +"Irit Katriel in :issue:`24160`.)" msgstr "" msgid "bisect" @@ -1820,9 +1836,9 @@ msgid "sqlite3" msgstr "" msgid "" -"Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." -"Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." -"load_extension`. (Contributed by Erlend E. Aasland in :issue:`43762`.)" +"Add audit events for :func:`~sqlite3.connect`, :meth:`~sqlite3.Connection." +"enable_load_extension`, and :meth:`~sqlite3.Connection.load_extension`. " +"(Contributed by Erlend E. Aasland in :issue:`43762`.)" msgstr "" msgid "sys" @@ -2300,7 +2316,7 @@ msgid ":func:`!match_hostname`" msgstr ":func:`!match_hostname`" msgid ":func:`!RAND_pseudo_bytes`, :func:`!RAND_egd`" -msgstr "" +msgstr ":func:`!RAND_pseudo_bytes`, :func:`!RAND_egd`" msgid "" "NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." diff --git a/whatsnew/3.11.po b/whatsnew/3.11.po index b6ac19d119..0ab4f4767b 100644 --- a/whatsnew/3.11.po +++ b/whatsnew/3.11.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Rafael Fontenelle , 2024 -# Maciej Olko , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-21 14:21+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2076,7 +2073,7 @@ msgid ":opcode:`!SETUP_ASYNC_WITH`" msgstr ":opcode:`!SETUP_ASYNC_WITH`" msgid ":opcode:`!BEFORE_WITH`" -msgstr "" +msgstr ":opcode:`!BEFORE_WITH`" msgid ":keyword:`with` block setup" msgstr "" diff --git a/whatsnew/3.12.po b/whatsnew/3.12.po index 7b74b92c56..68b09cb4c2 100644 --- a/whatsnew/3.12.po +++ b/whatsnew/3.12.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2023 -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2023-05-24 13:08+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1475,11 +1472,30 @@ msgid "" "FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" +msgid ":mod:`collections.abc`: Deprecated :class:`collections.abc.ByteString`." +msgstr "" + +msgid "" +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`~collections.abc.Buffer` or a union " +"that explicitly specifies the types your code supports (e.g., ``bytes | " +"bytearray | memoryview``)." +msgstr "" + msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`Sequence` or :class:`collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." -"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." +msgstr "" + +msgid "" +"See :pep:`PEP 688 <688#current-options>` for more details. (Contributed by " +"Shantanu Jain in :gh:`91896`.)" msgstr "" msgid "" @@ -1630,7 +1646,7 @@ msgid "" msgstr "" msgid "" -":class:`!typing.ByteString`, deprecated since Python 3.9, now causes a :exc:" +":class:`typing.ByteString`, deprecated since Python 3.9, now causes a :exc:" "`DeprecationWarning` to be emitted when it is used. (Contributed by Alex " "Waygood in :gh:`91896`.)" msgstr "" @@ -1752,62 +1768,32 @@ msgid "APIs:" msgstr "APIs:" msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" -msgstr "" +msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" msgid "``locale.resetlocale()`` (:gh:`90817`)" -msgstr "" +msgstr "``locale.resetlocale()`` (:gh:`90817`)" msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" -msgstr "" +msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" msgid ":func:`!unittest.findTestCases` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)" msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" msgid ":func:`!unittest.makeSuite` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)" msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" -msgstr "" +msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)" -msgstr "" +msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)" msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)" msgstr "" -msgid ":mod:`importlib.resources` deprecated methods:" -msgstr "" - -msgid "``contents()``" -msgstr "``contents()``" - -msgid "``is_resource()``" -msgstr "``is_resource()``" - -msgid "``open_binary()``" -msgstr "``open_binary()``" - -msgid "``open_text()``" -msgstr "``open_text()``" - -msgid "``path()``" -msgstr "``path()``" - -msgid "``read_binary()``" -msgstr "``read_binary()``" - -msgid "``read_text()``" -msgstr "``read_text()``" - -msgid "" -"Use :func:`importlib.resources.files` instead. Refer to `importlib-" -"resources: Migrating from Legacy `_ (:gh:`106531`)" -msgstr "" - msgid "Pending removal in Python 3.14" msgstr "" @@ -1817,13 +1803,6 @@ msgid "" "runtime when they are accessed or used, and will be removed in Python 3.14:" msgstr "" -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." -"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" -msgstr "" - msgid "" ":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." "localtime`. (Contributed by Alan Williams in :gh:`72346`.)" @@ -1878,11 +1857,6 @@ msgid "" "a sequence instead of a :class:`dict`." msgstr "" -msgid "" -":mod:`typing`: :class:`!typing.ByteString`, deprecated since Python 3.9, now " -"causes a :exc:`DeprecationWarning` to be emitted when it is used." -msgstr "" - msgid "" ":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " "intended to be a public API. (Contributed by Gregory P. Smith in :gh:" @@ -1966,7 +1940,7 @@ msgid "" msgstr "" msgid ":mod:`sysconfig`:" -msgstr "" +msgstr ":mod:`sysconfig`:" msgid "" "The *check_home* argument of :func:`sysconfig.is_python_build` has been " @@ -1978,7 +1952,7 @@ msgstr ":mod:`threading`:" msgid "" ":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does " +"arguments has been deprecated since Python 3.14, as the Python version does " "not permit any arguments, but the C version allows any number of positional " "or keyword arguments, ignoring every argument." msgstr "" @@ -2024,7 +1998,7 @@ msgid "" msgstr "" msgid ":mod:`zipimport`:" -msgstr "" +msgstr ":mod:`zipimport`:" msgid "" ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " @@ -2063,22 +2037,22 @@ msgid "" msgstr "" msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.AbstractEventLoopPolicy`" msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.DefaultEventLoopPolicy`" msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.get_event_loop_policy`" msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.set_event_loop_policy`" msgid "" "Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " @@ -2112,7 +2086,7 @@ msgid "" msgstr "" msgid ":mod:`functools`:" -msgstr "" +msgstr ":mod:`functools`:" msgid "" "Calling the Python implementation of :func:`functools.reduce` with " @@ -2121,7 +2095,7 @@ msgid "" msgstr "" msgid ":mod:`logging`:" -msgstr "" +msgstr ":mod:`logging`:" msgid "" "Support for custom logging handlers with the *strm* argument is deprecated " @@ -2182,6 +2156,13 @@ msgstr "" msgid "Pending removal in Python 3.17" msgstr "" +msgid ":mod:`collections.abc`:" +msgstr "" + +msgid "" +":class:`collections.abc.ByteString` is scheduled for removal in Python 3.17." +msgstr "" + msgid "" "Before Python 3.14, old-style unions were implemented using the private " "class ``typing._UnionGenericAlias``. This class is no longer needed for the " @@ -2191,6 +2172,11 @@ msgid "" "of relying on private implementation details." msgstr "" +msgid "" +":class:`typing.ByteString`, deprecated since Python 3.9, is scheduled for " +"removal in Python 3.17." +msgstr "" + msgid "Pending removal in future versions" msgstr "" @@ -2200,7 +2186,7 @@ msgid "" msgstr "" msgid ":mod:`argparse`:" -msgstr "" +msgstr ":mod:`argparse`:" msgid "" "Nesting argument groups and nesting mutually exclusive groups are deprecated." @@ -2214,9 +2200,6 @@ msgstr "" msgid "The :class:`argparse.FileType` type converter is deprecated." msgstr "" -msgid "``bool(NotImplemented)``." -msgstr "``bool(NotImplemented)``." - msgid "" "Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature " "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " @@ -2252,9 +2235,6 @@ msgid "" "`complex`." msgstr "" -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - msgid "" "Passing a complex number as the *real* or *imag* argument in the :func:" "`complex` constructor is now deprecated; it should only be passed as a " @@ -2407,7 +2387,7 @@ msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." msgstr "" msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." msgid "" "The internal class ``typing._UnionGenericAlias`` is no longer used to " @@ -2649,7 +2629,7 @@ msgid "``imp.get_magic()``" msgstr "``imp.get_magic()``" msgid ":const:`importlib.util.MAGIC_NUMBER`" -msgstr "" +msgstr ":const:`importlib.util.MAGIC_NUMBER`" msgid "``imp.get_suffixes()``" msgstr "``imp.get_suffixes()``" @@ -2663,7 +2643,7 @@ msgid "``imp.get_tag()``" msgstr "``imp.get_tag()``" msgid ":attr:`sys.implementation.cache_tag `" -msgstr "" +msgstr ":attr:`sys.implementation.cache_tag `" msgid "``imp.load_module()``" msgstr "``imp.load_module()``" @@ -3192,13 +3172,13 @@ msgid "Add platform triplets for 64-bit LoongArch:" msgstr "" msgid "loongarch64-linux-gnusf" -msgstr "" +msgstr "loongarch64-linux-gnusf" msgid "loongarch64-linux-gnuf32" -msgstr "" +msgstr "loongarch64-linux-gnuf32" msgid "loongarch64-linux-gnu" -msgstr "" +msgstr "loongarch64-linux-gnu" msgid "(Contributed by Zhang Na in :gh:`90656`.)" msgstr "" @@ -3855,9 +3835,6 @@ msgid "" "bases (:gh:`95388`)." msgstr "" -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." @@ -4082,6 +4059,9 @@ msgid "" "get these options at runtime." msgstr "" +msgid "The bundled copy of ``libmpdec``." +msgstr "" + msgid "" "The following APIs are deprecated and will be removed, although there is " "currently no date scheduled for their removal." diff --git a/whatsnew/3.13.po b/whatsnew/3.13.po index 453b3dc4d8..3e640a09cf 100644 --- a/whatsnew/3.13.po +++ b/whatsnew/3.13.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2024 -# Krzysztof Abramowicz, 2024 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:09+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -51,21 +48,13 @@ msgid "Summary -- Release Highlights" msgstr "Podsumowanie – najważniejsze informacje o wydaniu" msgid "" -"Python 3.13 is the latest stable release of the Python programming language, " -"with a mix of changes to the language, the implementation and the standard " -"library. The biggest changes include a new `interactive interpreter " -"`_, experimental support for " -"running in a `free-threaded mode `_ (:" -"pep:`703`), and a `Just-In-Time compiler `_ (:pep:" -"`744`)." +"Python 3.13 is a stable release of the Python programming language, with a " +"mix of changes to the language, the implementation and the standard library. " +"The biggest changes include a new `interactive interpreter `_, experimental support for running in a " +"`free-threaded mode `_ (:pep:`703`), and " +"a `Just-In-Time compiler `_ (:pep:`744`)." msgstr "" -"Python 3.13 jest najnowszą stabilną wersją języka programowania Python, z " -"mieszanką zmian w języku, implementacji i bibliotece standardowej. " -"Największe zmiany obejmują nowy `interaktywny interpreter `_, eksperymentalne wsparcie dla " -"uruchamiania w `trybie free-threaded `_ " -"(:pep:`703`) oraz `kompilator Just-In-Time `_ (:" -"pep:`744`)." msgid "" "Error messages continue to improve, with tracebacks now highlighted in color " @@ -981,6 +970,23 @@ msgid "" "(Contributed by Arthur Tacca and Jason Zhang in :gh:`115957`.)" msgstr "" +msgid "" +"The function and methods named ``create_task`` have received a new " +"``**kwargs`` argument that is passed through to the task constructor. This " +"change was accidentally added in 3.13.3, and broke the API contract for " +"custom task factories. Several third-party task factories implemented " +"workarounds for this. In 3.13.4 and later releases the old factory contract " +"is honored once again (until 3.14). To keep the workarounds working, the " +"extra ``**kwargs`` argument still allows passing additional keyword " +"arguments to :class:`~asyncio.Task` and to custom task factories." +msgstr "" + +msgid "" +"This affects the following function and methods: :meth:`asyncio." +"create_task`, :meth:`asyncio.loop.create_task`, :meth:`asyncio.TaskGroup." +"create_task`. (Contributed by Thomas Grainger in :gh:`128307`.)" +msgstr "" + msgid "base64" msgstr "" @@ -1034,7 +1040,7 @@ msgid "" msgstr "" msgid ":class:`inspect.Signature`, :class:`inspect.Parameter`" -msgstr "" +msgstr ":class:`inspect.Signature`, :class:`inspect.Parameter`" msgid ":class:`types.SimpleNamespace`" msgstr ":class:`types.SimpleNamespace`" @@ -1090,9 +1096,9 @@ msgid "" msgstr "" msgid "" -"Allow removing all items from the database through the new :meth:`.gdbm." -"clear` and :meth:`.ndbm.clear` methods. (Contributed by Donghee Na in :gh:" -"`107122`.)" +"Allow removing all items from the database through the new :meth:`!clear` " +"methods of the GDBM and NDBM database objects. (Contributed by Donghee Na " +"in :gh:`107122`.)" msgstr "" msgid "dis" @@ -1945,11 +1951,6 @@ msgid "" ":pypi:`bcrypt`: Modern password hashing for your software and your servers." msgstr "" -msgid "" -":pypi:`passlib`: Comprehensive password hashing framework supporting over 30 " -"schemes." -msgstr "" - msgid ":pypi:`argon2-cffi`: The secure Argon2 password hashing algorithm." msgstr "" @@ -2305,7 +2306,8 @@ msgstr ":mod:`decimal`:" msgid "" "Deprecate the non-standard and undocumented :class:`~decimal.Decimal` format " "specifier ``'N'``, which is only supported in the :mod:`!decimal` module's C " -"implementation. (Contributed by Serhiy Storchaka in :gh:`89902`.)" +"implementation. Scheduled to be removed in Python 3.18. (Contributed by " +"Serhiy Storchaka in :gh:`89902`.)" msgstr "" msgid ":mod:`dis`:" @@ -2473,8 +2475,8 @@ msgstr "" msgid "" "Deprecate the :func:`typing.no_type_check_decorator` decorator function, to " -"be removed in in Python 3.15. After eight years in the :mod:`typing` module, " -"it has yet to be supported by any major type checker. (Contributed by Alex " +"be removed in Python 3.15. After eight years in the :mod:`typing` module, it " +"has yet to be supported by any major type checker. (Contributed by Alex " "Waygood in :gh:`106309`.)" msgstr "" @@ -2555,13 +2557,6 @@ msgid "" "Rossum in :gh:`100160`.)" msgstr "" -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." -"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" -msgstr "" - msgid "" ":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." "localtime`. (Contributed by Alan Williams in :gh:`72346`.)" @@ -2637,11 +2632,6 @@ msgid "" "a sequence instead of a :class:`dict`." msgstr "" -msgid "" -":mod:`typing`: :class:`!typing.ByteString`, deprecated since Python 3.9, now " -"causes a :exc:`DeprecationWarning` to be emitted when it is used." -msgstr "" - msgid "" ":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " "intended to be a public API. (Contributed by Gregory P. Smith in :gh:" @@ -2713,7 +2703,7 @@ msgid "" msgstr "" msgid ":mod:`sysconfig`:" -msgstr "" +msgstr ":mod:`sysconfig`:" msgid "" "The *check_home* argument of :func:`sysconfig.is_python_build` has been " @@ -2725,7 +2715,7 @@ msgstr ":mod:`threading`:" msgid "" ":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does " +"arguments has been deprecated since Python 3.14, as the Python version does " "not permit any arguments, but the C version allows any number of positional " "or keyword arguments, ignoring every argument." msgstr "" @@ -2768,7 +2758,7 @@ msgid "" msgstr "" msgid ":mod:`zipimport`:" -msgstr "" +msgstr ":mod:`zipimport`:" msgid "" ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " @@ -2804,22 +2794,22 @@ msgid "" msgstr "" msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.AbstractEventLoopPolicy`" msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.DefaultEventLoopPolicy`" msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" +msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.get_event_loop_policy`" msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" +msgstr ":func:`asyncio.set_event_loop_policy`" msgid "" "Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " @@ -2853,7 +2843,7 @@ msgid "" msgstr "" msgid ":mod:`functools`:" -msgstr "" +msgstr ":mod:`functools`:" msgid "" "Calling the Python implementation of :func:`functools.reduce` with " @@ -2862,7 +2852,7 @@ msgid "" msgstr "" msgid ":mod:`logging`:" -msgstr "" +msgstr ":mod:`logging`:" msgid "" "Support for custom logging handlers with the *strm* argument is deprecated " @@ -2914,6 +2904,36 @@ msgstr "" msgid "Pending removal in Python 3.17" msgstr "" +msgid ":mod:`collections.abc`:" +msgstr "" + +msgid "" +":class:`collections.abc.ByteString` is scheduled for removal in Python 3.17." +msgstr "" + +msgid "" +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`~collections.abc.Buffer` or a union " +"that explicitly specifies the types your code supports (e.g., ``bytes | " +"bytearray | memoryview``)." +msgstr "" + +msgid "" +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." +msgstr "" + +msgid "" +"See :pep:`PEP 688 <688#current-options>` for more details. (Contributed by " +"Shantanu Jain in :gh:`91896`.)" +msgstr "" + msgid "" "Before Python 3.14, old-style unions were implemented using the private " "class ``typing._UnionGenericAlias``. This class is no longer needed for the " @@ -2923,6 +2943,30 @@ msgid "" "of relying on private implementation details." msgstr "" +msgid "" +":class:`typing.ByteString`, deprecated since Python 3.9, is scheduled for " +"removal in Python 3.17." +msgstr "" + +msgid "Pending removal in Python 3.18" +msgstr "" + +msgid "" +"The non-standard and undocumented :class:`~decimal.Decimal` format specifier " +"``'N'``, which is only supported in the :mod:`!decimal` module's C " +"implementation, has been deprecated since Python 3.13. (Contributed by " +"Serhiy Storchaka in :gh:`89902`.)" +msgstr "" + +msgid "Pending removal in Python 3.19" +msgstr "" + +msgid "" +"Implicitly switching to the MSVC-compatible struct layout by setting :attr:" +"`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` on non-" +"Windows platforms." +msgstr "" + msgid "Pending removal in future versions" msgstr "" @@ -2932,7 +2976,7 @@ msgid "" msgstr "" msgid ":mod:`argparse`:" -msgstr "" +msgstr ":mod:`argparse`:" msgid "" "Nesting argument groups and nesting mutually exclusive groups are deprecated." @@ -2946,9 +2990,6 @@ msgstr "" msgid "The :class:`argparse.FileType` type converter is deprecated." msgstr "" -msgid "``bool(NotImplemented)``." -msgstr "``bool(NotImplemented)``." - msgid "" "Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature " "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " @@ -2984,9 +3025,6 @@ msgid "" "`complex`." msgstr "" -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - msgid "" "Passing a complex number as the *real* or *imag* argument in the :func:" "`complex` constructor is now deprecated; it should only be passed as a " @@ -3145,7 +3183,7 @@ msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." msgstr "" msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." msgid "" "The internal class ``typing._UnionGenericAlias`` is no longer used to " @@ -3258,7 +3296,7 @@ msgid ":c:func:`PyMonitoring_FireJumpEvent`" msgstr ":c:func:`PyMonitoring_FireJumpEvent`" msgid "``PyMonitoring_FireBranchEvent``" -msgstr "" +msgstr "``PyMonitoring_FireBranchEvent``" msgid ":c:func:`PyMonitoring_FireCReturnEvent`" msgstr ":c:func:`PyMonitoring_FireCReturnEvent`" @@ -3439,7 +3477,7 @@ msgstr "" msgid "" "Add the :c:func:`PyList_Extend` and :c:func:`PyList_Clear` functions, " -"mirroring the Python :meth:`!list.extend` and :meth:`!list.clear` methods. " +"mirroring the Python :meth:`list.extend` and :meth:`list.clear` methods. " "(Contributed by Victor Stinner in :gh:`111138`.)" msgstr "" @@ -3658,9 +3696,7 @@ msgstr ":c:func:`PySys_AuditTuple`" msgid ":c:func:`PyType_GetModuleByDef`" msgstr ":c:func:`PyType_GetModuleByDef`" -msgid "" -"(Contributed by Victor Stinner in :gh:`85283`, :gh:`85283`, and :gh:" -"`116936`.)" +msgid "(Contributed by Victor Stinner in :gh:`85283` and :gh:`116936`.)" msgstr "" msgid "" @@ -3812,7 +3848,7 @@ msgid "" msgstr "" msgid ":c:func:`PyEval_SaveThread` and :c:func:`PyEval_RestoreThread`;" -msgstr "" +msgstr ":c:func:`PyEval_SaveThread` oraz :c:func:`PyEval_RestoreThread`;" msgid "" "low-level :c:func:`PyEval_AcquireThread` and :c:func:`PyEval_RestoreThread`;" @@ -3942,9 +3978,6 @@ msgid "" "bases (:gh:`95388`)." msgstr "" -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." @@ -4164,10 +4197,12 @@ msgid "" "get these options at runtime." msgstr "" -msgid "Pending removal in Python 3.18" +msgid "The bundled copy of ``libmpdec``." msgstr "" -msgid "Deprecated private functions (:gh:`128863`):" +msgid "" +"The following private functions are deprecated and planned for removal in " +"Python 3.18:" msgstr "" msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." @@ -4178,7 +4213,7 @@ msgid "" "`PyDict_GetItemStringRef`." msgstr "" -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." +msgid ":c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`." msgstr "" msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." @@ -4236,7 +4271,7 @@ msgstr "" msgid "" ":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " "``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with :c:func:" -"`PyUnicodeWriter_WriteUTF8(writer, str) `." +"`PyUnicodeWriter_WriteASCII(writer, str) `." msgstr "" msgid "" @@ -4259,7 +4294,8 @@ msgstr "" msgid "" "The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and older." +">`__ can be used to get these new public functions on Python 3.13 and older. " +"(Contributed by Victor Stinner in :gh:`128863`.)" msgstr "" msgid "" @@ -4387,8 +4423,7 @@ msgstr "" msgid "" "The :file:`configure` option :option:`--with-system-libmpdec` now defaults " -"to ``yes``. The bundled copy of ``libmpdecimal`` will be removed in Python " -"3.15." +"to ``yes``. The bundled copy of ``libmpdec`` will be removed in Python 3.16." msgstr "" msgid "" diff --git a/whatsnew/3.14.po b/whatsnew/3.14.po index 9de857fb65..f21309a9ba 100644 --- a/whatsnew/3.14.po +++ b/whatsnew/3.14.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2025 -# Maciej Olko , 2025 -# haaritsubaki, 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:05+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-27 14:44+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,543 +26,614 @@ msgstr "" msgid "What's new in Python 3.14" msgstr "" -msgid "Editor" -msgstr "redakcja" +msgid "Editors" +msgstr "Redaktorzy" -msgid "Hugo van Kemenade" +msgid "Adam Turner and Hugo van Kemenade" msgstr "" msgid "" -"This article explains the new features in Python 3.14, compared to 3.13." +"This article explains the new features in Python 3.14, compared to 3.13. " +"Python 3.14 was released on 7 October 2025. For full details, see the :ref:" +"`changelog `." msgstr "" -msgid "For full details, see the :ref:`changelog `." -msgstr "Pełne szczegóły znajdziesz w :ref:`changelogu `." - msgid ":pep:`745` -- Python 3.14 release schedule" msgstr "" +msgid "Summary -- Release highlights" +msgstr "Podsumowanie – najważniejsze nowości" + msgid "" -"Prerelease users should be aware that this document is currently in draft " -"form. It will be updated substantially as Python 3.14 moves towards release, " -"so it's worth checking back even after reading earlier versions." +"Python 3.14 is the latest stable release of the Python programming language, " +"with a mix of changes to the language, the implementation, and the standard " +"library. The biggest changes include :ref:`template string literals " +"`, :ref:`deferred evaluation of " +"annotations `, and support for :ref:" +"`subinterpreters ` in the standard " +"library." msgstr "" -msgid "Summary -- release highlights" +msgid "" +"The library changes include significantly improved capabilities for :ref:" +"`introspection in asyncio `, :ref:" +"`support for Zstandard ` via a new :mod:`compression." +"zstd` module, syntax highlighting in the REPL, as well as the usual " +"deprecations and removals, and improvements in user-friendliness and " +"correctness." msgstr "" msgid "" -"Python 3.14 beta is the pre-release of the next version of the Python " -"programming language, with a mix of changes to the language, the " -"implementation and the standard library." +"This article doesn't attempt to provide a complete specification of all new " +"features, but instead gives a convenient overview. For full details refer to " +"the documentation, such as the :ref:`Library Reference ` and :" +"ref:`Language Reference `. To understand the complete " +"implementation and design rationale for a change, refer to the PEP for a " +"particular new feature; but note that PEPs usually are not kept up-to-date " +"once a feature has been fully implemented. See `Porting to Python 3.14`_ for " +"guidance on upgrading from earlier versions of Python." msgstr "" +msgid "Interpreter improvements:" +msgstr "Udoskonalenia interpretera:" + msgid "" -"The biggest changes to the implementation include template strings (:pep:" -"`750`), deferred evaluation of annotations (:pep:`649`), and a new type of " -"interpreter that uses tail calls." +":pep:`649` and :pep:`749`: :ref:`Deferred evaluation of annotations " +"`" msgstr "" msgid "" -"The library changes include the addition of a new :mod:`!annotationlib` " -"module for introspecting and wrapping annotations (:pep:`649`), a new :mod:`!" -"compression.zstd` module for Zstandard support (:pep:`784`), plus syntax " -"highlighting in the REPL, as well as the usual deprecations and removals, " -"and improvements in user-friendliness and correctness." +":pep:`734`: :ref:`Multiple interpreters in the standard library `" msgstr "" msgid "" -":ref:`PEP 649 and 749: deferred evaluation of annotations `" +":pep:`750`: :ref:`Template strings `" msgstr "" -msgid ":ref:`PEP 741: Python Configuration C API `" +msgid "" +":pep:`758`: :ref:`Allow except and except* expressions without brackets " +"`" msgstr "" -msgid ":ref:`PEP 750: Template strings `" +msgid "" +":pep:`765`: :ref:`Control flow in finally blocks `" msgstr "" msgid "" -":ref:`PEP 758: Allow except and except* expressions without parentheses " -"`" +":pep:`768`: :ref:`Safe external debugger interface for CPython `" msgstr "" -msgid ":ref:`PEP 761: Discontinuation of PGP signatures `" +msgid ":ref:`A new type of interpreter `" msgstr "" msgid "" -":ref:`PEP 765: Disallow return/break/continue that exit a finally block " -"`" +":ref:`Free-threaded mode improvements `" msgstr "" -msgid "" -":ref:`Free-threaded mode improvements `" +msgid ":ref:`Improved error messages `" msgstr "" -msgid "" -":ref:`PEP 768: Safe external debugger interface for CPython `" +msgid ":ref:`Incremental garbage collection `" +msgstr "" + +msgid "Significant improvements in the standard library:" msgstr "" msgid "" -":ref:`PEP 784: Adding Zstandard to the standard library `" +":pep:`784`: :ref:`Zstandard support in the standard library `" msgstr "" -msgid ":ref:`A new type of interpreter `" +msgid ":ref:`whatsnew314-asyncio-introspection`" +msgstr "" + +msgid ":ref:`whatsnew314-concurrent-warnings-control`" msgstr "" msgid "" -":ref:`Syntax highlighting in PyREPL `, and " -"color output in :ref:`unittest `, :ref:`argparse " -"`, :ref:`json ` and :ref:" -"`calendar ` CLIs" +":ref:`Syntax highlighting in the default interactive shell `, and color output in several standard library CLIs" +msgstr "" + +msgid "C API improvements:" +msgstr "" + +msgid ":pep:`741`: :ref:`Python configuration C API `" +msgstr "" + +msgid "Platform support:" msgstr "" msgid "" -":ref:`Binary releases for the experimental just-in-time compiler " -"`" +":pep:`776`: Emscripten is now an :ref:`officially supported platform " +"`, at :pep:`tier 3 <11#tier-3>`." msgstr "" -msgid "Incompatible changes" +msgid "Release changes:" msgstr "" msgid "" -"On platforms other than macOS and Windows, the default :ref:`start method " -"` for :mod:`multiprocessing` and :class:" -"`~concurrent.futures.ProcessPoolExecutor` switches from *fork* to " -"*forkserver*." +":pep:`779`: :ref:`Free-threaded Python is officially supported `" msgstr "" msgid "" -"See :ref:`(1) ` and :ref:`(2) " -"` for details." +":pep:`761`: :ref:`PGP signatures have been discontinued for official " +"releases `" msgstr "" msgid "" -"If you encounter :exc:`NameError`\\s or pickling errors coming out of :mod:" -"`multiprocessing` or :mod:`concurrent.futures`, see the :ref:`forkserver " -"restrictions `." +":ref:`Windows and macOS binary releases now support the experimental just-in-" +"time compiler `" msgstr "" msgid "" -"The interpreter avoids some reference count modifications internally when " -"it's safe to do so. This can lead to different values returned from :func:" -"`sys.getrefcount` and :c:func:`Py_REFCNT` compared to previous versions of " -"Python. See :ref:`below ` for details." +":ref:`Binary releases for Android are now provided `" msgstr "" msgid "New features" msgstr "" -msgid "PEP 750: Template strings" +msgid ":pep:`649` & :pep:`749`: Deferred evaluation of annotations" msgstr "" msgid "" -"Template string literals (t-strings) are a generalization of f-strings, " -"using a ``t`` in place of the ``f`` prefix. Instead of evaluating to :class:" -"`str`, t-strings evaluate to a new :class:`!string.templatelib.Template` " -"type:" +"The :term:`annotations ` on functions, classes, and modules are " +"no longer evaluated eagerly. Instead, annotations are stored in special-" +"purpose :term:`annotate functions ` and evaluated only " +"when necessary (except if ``from __future__ import annotations`` is used)." msgstr "" msgid "" -"from string.templatelib import Template\n" -"\n" -"name = \"World\"\n" -"template: Template = t\"Hello {name}\"" +"This change is designed to improve performance and usability of annotations " +"in Python in most circumstances. The runtime cost for defining annotations " +"is minimized, but it remains possible to introspect annotations at runtime. " +"It is no longer necessary to enclose annotations in strings if they contain " +"forward references." msgstr "" msgid "" -"The template can then be combined with functions that operate on the " -"template's structure to produce a :class:`str` or a string-like result. For " -"example, sanitizing input:" +"The new :mod:`annotationlib` module provides tools for inspecting deferred " +"annotations. Annotations may be evaluated in the :attr:`~annotationlib." +"Format.VALUE` format (which evaluates annotations to runtime values, similar " +"to the behavior in earlier Python versions), the :attr:`~annotationlib." +"Format.FORWARDREF` format (which replaces undefined names with special " +"markers), and the :attr:`~annotationlib.Format.STRING` format (which returns " +"annotations as strings)." msgstr "" -msgid "" -"evil = \"\"\n" -"template = t\"

{evil}

\"\n" -"assert html(template) == \"

<script>alert('evil')</script>\"" +msgid "This example shows how these formats behave:" msgstr "" -msgid "As another example, generating HTML attributes from data:" +msgid "" +">>> from annotationlib import get_annotations, Format\n" +">>> def func(arg: Undefined):\n" +"... pass\n" +">>> get_annotations(func, format=Format.VALUE)\n" +"Traceback (most recent call last):\n" +" ...\n" +"NameError: name 'Undefined' is not defined\n" +">>> get_annotations(func, format=Format.FORWARDREF)\n" +"{'arg': ForwardRef('Undefined', owner=)}\n" +">>> get_annotations(func, format=Format.STRING)\n" +"{'arg': 'Undefined'}" msgstr "" msgid "" -"attributes = {\"src\": \"shrubbery.jpg\", \"alt\": \"looks nice\"}\n" -"template = t\"\"\n" -"assert html(template) == '\"looks'" +"The :ref:`porting ` section contains " +"guidance on changes that may be needed due to these changes, though in the " +"majority of cases, code will continue working as-is." msgstr "" msgid "" -"Compared to using an f-string, the ``html`` function has access to template " -"attributes containing the original information: static strings, " -"interpolations, and values from the original scope. Unlike existing " -"templating approaches, t-strings build from the well-known f-string syntax " -"and rules. Template systems thus benefit from Python tooling as they are " -"much closer to the Python language, syntax, scoping, and more." +"(Contributed by Jelle Zijlstra in :pep:`749` and :gh:`119180`; :pep:`649` " +"was written by Larry Hastings.)" +msgstr "" + +msgid ":pep:`649`" +msgstr "" + +msgid "Deferred Evaluation Of Annotations Using Descriptors" +msgstr "" + +msgid ":pep:`749`" +msgstr "" + +msgid "Implementing PEP 649" msgstr "" -msgid "Writing template handlers is straightforward:" +msgid ":pep:`734`: Multiple interpreters in the standard library" msgstr "" msgid "" -"from string.templatelib import Template, Interpolation\n" -"\n" -"def lower_upper(template: Template) -> str:\n" -" \"\"\"Render static parts lowercased and interpolations uppercased." -"\"\"\"\n" -" parts: list[str] = []\n" -" for item in template:\n" -" if isinstance(item, Interpolation):\n" -" parts.append(str(item.value).upper())\n" -" else:\n" -" parts.append(item.lower())\n" -" return \"\".join(parts)\n" -"\n" -"name = \"world\"\n" -"assert lower_upper(t\"HELLO {name}\") == \"hello WORLD\"" +"The CPython runtime supports running multiple copies of Python in the same " +"process simultaneously and has done so for over 20 years. Each of these " +"separate copies is called an 'interpreter'. However, the feature had been " +"available only through the :ref:`C-API `." msgstr "" msgid "" -"With this in place, developers can write template systems to sanitize SQL, " -"make safe shell operations, improve logging, tackle modern ideas in web " -"development (HTML, CSS, and so on), and implement lightweight, custom " -"business DSLs." +"That limitation is removed in Python 3.14, with the new :mod:`concurrent." +"interpreters` module." msgstr "" msgid "" -"(Contributed by Jim Baker, Guido van Rossum, Paul Everitt, Koudai Aono, " -"Lysandros Nikolaou, Dave Peck, Adam Turner, Jelle Zijlstra, Bénédikt Tran, " -"and Pablo Galindo Salgado in :gh:`132661`.)" +"There are at least two notable reasons why using multiple interpreters has " +"significant benefits:" msgstr "" -msgid ":pep:`750`." +msgid "they support a new (to Python), human-friendly concurrency model" msgstr "" -msgid "PEP 768: Safe external debugger interface for CPython" +msgid "true multi-core parallelism" msgstr "" msgid "" -":pep:`768` introduces a zero-overhead debugging interface that allows " -"debuggers and profilers to safely attach to running Python processes. This " -"is a significant enhancement to Python's debugging capabilities allowing " -"debuggers to forego unsafe alternatives. See :ref:`below ` for how this feature is leveraged to implement the new :mod:`pdb` " -"module's remote attaching capabilities." +"For some use cases, concurrency in software improves efficiency and can " +"simplify design, at a high level. At the same time, implementing and " +"maintaining all but the simplest concurrency is often a struggle for the " +"human brain. That especially applies to plain threads (for example, :mod:" +"`threading`), where all memory is shared between all threads." msgstr "" msgid "" -"The new interface provides safe execution points for attaching debugger code " -"without modifying the interpreter's normal execution path or adding runtime " -"overhead. This enables tools to inspect and interact with Python " -"applications in real-time without stopping or restarting them — a crucial " -"capability for high-availability systems and production environments." +"With multiple isolated interpreters, you can take advantage of a class of " +"concurrency models, like Communicating Sequential Processes (CSP) or the " +"actor model, that have found success in other programming languages, like " +"Smalltalk, Erlang, Haskell, and Go. Think of multiple interpreters as " +"threads but with opt-in sharing." msgstr "" msgid "" -"For convenience, CPython implements this interface through the :mod:`sys` " -"module with a :func:`sys.remote_exec` function::" +"Regarding multi-core parallelism: as of Python 3.12, interpreters are now " +"sufficiently isolated from one another to be used in parallel (see :pep:" +"`684`). This unlocks a variety of CPU-intensive use cases for Python that " +"were limited by the :term:`GIL`." msgstr "" -msgid "sys.remote_exec(pid, script_path)" +msgid "" +"Using multiple interpreters is similar in many ways to :mod:" +"`multiprocessing`, in that they both provide isolated logical \"processes\" " +"that can run in parallel, with no sharing by default. However, when using " +"multiple interpreters, an application will use fewer system resources and " +"will operate more efficiently (since it stays within the same process). " +"Think of multiple interpreters as having the isolation of processes with the " +"efficiency of threads." msgstr "" msgid "" -"This function allows sending Python code to be executed in a target process " -"at the next safe execution point. However, tool authors can also implement " -"the protocol directly as described in the PEP, which details the underlying " -"mechanisms used to safely attach to running processes." +"While the feature has been around for decades, multiple interpreters have " +"not been used widely, due to low awareness and the lack of a standard " +"library module. Consequently, they currently have several notable " +"limitations, which are expected to improve significantly now that the " +"feature is going mainstream." +msgstr "" + +msgid "Current limitations:" +msgstr "" + +msgid "starting each interpreter has not been optimized yet" msgstr "" msgid "" -"Here's a simple example that inspects object types in a running Python " -"process:" +"each interpreter uses more memory than necessary (work continues on " +"extensive internal sharing between interpreters)" msgstr "" msgid "" -"import os\n" -"import sys\n" -"import tempfile\n" -"\n" -"# Create a temporary script\n" -"with tempfile.NamedTemporaryFile(mode='w', suffix='.py', delete=False) as " -"f:\n" -" script_path = f.name\n" -" f.write(f\"import my_debugger; my_debugger.connect({os.getpid()})\")\n" -"try:\n" -" # Execute in process with PID 1234\n" -" print(\"Behold! An offering:\")\n" -" sys.remote_exec(1234, script_path)\n" -"finally:\n" -" os.unlink(script_path)" +"there aren't many options *yet* for truly sharing objects or other data " +"between interpreters (other than :type:`memoryview`)" msgstr "" msgid "" -"The debugging interface has been carefully designed with security in mind " -"and includes several mechanisms to control access:" +"many third-party extension modules on PyPI are not yet compatible with " +"multiple interpreters (all standard library extension modules *are* " +"compatible)" msgstr "" -msgid "A :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` environment variable." +msgid "" +"the approach to writing applications that use multiple isolated interpreters " +"is mostly unfamiliar to Python users, for now" msgstr "" -msgid "A :option:`-X disable-remote-debug` command-line option." +msgid "" +"The impact of these limitations will depend on future CPython improvements, " +"how interpreters are used, and what the community solves through PyPI " +"packages. Depending on the use case, the limitations may not have much " +"impact, so try it out!" msgstr "" msgid "" -"A :option:`--without-remote-debug` configure flag to completely disable the " -"feature at build time." +"Furthermore, future CPython releases will reduce or eliminate overhead and " +"provide utilities that are less appropriate on PyPI. In the meantime, most " +"of the limitations can also be addressed through extension modules, meaning " +"PyPI packages can fill any gap for 3.14, and even back to 3.12 where " +"interpreters were finally properly isolated and stopped sharing the :term:" +"`GIL`. Likewise, libraries on PyPI are expected to emerge for high-level " +"abstractions on top of interpreters." msgstr "" msgid "" -"A key implementation detail is that the interface piggybacks on the " -"interpreter's existing evaluation loop and safe points, ensuring zero " -"overhead during normal execution while providing a reliable way for external " -"processes to coordinate debugging operations." +"Regarding extension modules, work is in progress to update some PyPI " +"projects, as well as tools like Cython, pybind11, nanobind, and PyO3. The " +"steps for isolating an extension module are found at :ref:`isolating-" +"extensions-howto`. Isolating a module has a lot of overlap with what is " +"required to support :ref:`free-threading `, so the ongoing work in the community in that area will help " +"accelerate support for multiple interpreters." msgstr "" msgid "" -"(Contributed by Pablo Galindo Salgado, Matt Wozniski, and Ivona Stojanovic " -"in :gh:`131591`.)" +"Also added in 3.14: :ref:`concurrent.futures.InterpreterPoolExecutor " +"`." msgstr "" -msgid ":pep:`768`." +msgid "(Contributed by Eric Snow in :gh:`134939`.)" msgstr "" -msgid "PEP 784: Adding Zstandard to the standard library" +msgid ":pep:`734`" +msgstr ":pep:`734`" + +msgid ":pep:`750`: Template string literals" msgstr "" msgid "" -"The new ``compression`` package contains modules :mod:`!compression.lzma`, :" -"mod:`!compression.bz2`, :mod:`!compression.gzip` and :mod:`!compression." -"zlib` which re-export the :mod:`lzma`, :mod:`bz2`, :mod:`gzip` and :mod:" -"`zlib` modules respectively. The new import names under ``compression`` are " -"the canonical names for importing these compression modules going forward. " -"However, the existing modules names have not been deprecated. Any " -"deprecation or removal of the existing compression modules will occur no " -"sooner than five years after the release of 3.14." +"Template strings are a new mechanism for custom string processing. They " +"share the familiar syntax of f-strings but, unlike f-strings, return an " +"object representing the static and interpolated parts of the string, instead " +"of a simple :class:`str`." msgstr "" -msgid "" -"The new :mod:`!compression.zstd` module provides compression and " -"decompression APIs for the Zstandard format via bindings to `Meta's zstd " -"library `__. Zstandard is a widely " -"adopted, highly efficient, and fast compression format. In addition to the " -"APIs introduced in :mod:`!compression.zstd`, support for reading and writing " -"Zstandard compressed archives has been added to the :mod:`tarfile`, :mod:" -"`zipfile`, and :mod:`shutil` modules." +msgid "To write a t-string, use a ``'t'`` prefix instead of an ``'f'``:" msgstr "" -msgid "Here's an example of using the new module to compress some data:" +msgid "" +">>> variety = 'Stilton'\n" +">>> template = t'Try some {variety} cheese!'\n" +">>> type(template)\n" +"" msgstr "" msgid "" -"from compression import zstd\n" -"import math\n" -"\n" -"data = str(math.pi).encode() * 20\n" -"\n" -"compressed = zstd.compress(data)\n" -"\n" -"ratio = len(compressed) / len(data)\n" -"print(f\"Achieved compression ratio of {ratio}\")" +":class:`~string.templatelib.Template` objects provide access to the static " +"and interpolated (in curly braces) parts of a string *before* they are " +"combined. Iterate over :class:`!Template` instances to access their parts in " +"order:" msgstr "" msgid "" -"As can be seen, the API is similar to the APIs of the :mod:`!lzma` and :mod:" -"`!bz2` modules." +">>> list(template)\n" +"['Try some ', Interpolation('Stilton', 'variety', None, ''), ' cheese!']" msgstr "" msgid "" -"(Contributed by Emma Harper Smith, Adam Turner, Gregory P. Smith, Tomas " -"Roun, Victor Stinner, and Rogdham in :gh:`132983`)" +"It's easy to write (or call) code to process :class:`!Template` instances. " +"For example, here's a function that renders static parts lowercase and :" +"class:`~string.templatelib.Interpolation` instances uppercase:" msgstr "" -msgid ":pep:`784`." +msgid "" +"from string.templatelib import Interpolation\n" +"\n" +"def lower_upper(template):\n" +" \"\"\"Render static parts lowercase and interpolations uppercase.\"\"\"\n" +" parts = []\n" +" for part in template:\n" +" if isinstance(part, Interpolation):\n" +" parts.append(str(part.value).upper())\n" +" else:\n" +" parts.append(part.lower())\n" +" return ''.join(parts)\n" +"\n" +"name = 'Wenslydale'\n" +"template = t'Mister {name}'\n" +"assert lower_upper(template) == 'mister WENSLYDALE'" msgstr "" -msgid "Remote attaching to a running Python process with PDB" +msgid "" +"Because :class:`!Template` instances distinguish between static strings and " +"interpolations at runtime, they can be useful for sanitising user input. " +"Writing a :func:`!html` function that escapes user input in HTML is an " +"exercise left to the reader! Template processing code can provide improved " +"flexibility. For instance, a more advanced :func:`!html` function could " +"accept a :class:`!dict` of HTML attributes directly in the template:" msgstr "" msgid "" -"The :mod:`pdb` module now supports remote attaching to a running Python " -"process using a new ``-p PID`` command-line option:" +"attributes = {'src': 'limburger.jpg', 'alt': 'lovely cheese'}\n" +"template = t''\n" +"assert html(template) == '\"lovely'" msgstr "" -msgid "python -m pdb -p 1234" +msgid "" +"Of course, template processing code does not need to return a string-like " +"result. An even *more* advanced :func:`!html` could return a custom type " +"representing a DOM-like structure." msgstr "" msgid "" -"This will connect to the Python process with the given PID and allow you to " -"debug it interactively. Notice that due to how the Python interpreter works " -"attaching to a remote process that is blocked in a system call or waiting " -"for I/O will only work once the next bytecode instruction is executed or " -"when the process receives a signal." +"With t-strings in place, developers can write systems that sanitise SQL, " +"make safe shell operations, improve logging, tackle modern ideas in web " +"development (HTML, CSS, and so on), and implement lightweight custom " +"business DSLs." msgstr "" msgid "" -"This feature uses :pep:`768` and the :func:`sys.remote_exec` function to " -"attach to the remote process and send the PDB commands to it." +"(Contributed by Jim Baker, Guido van Rossum, Paul Everitt, Koudai Aono, " +"Lysandros Nikolaou, Dave Peck, Adam Turner, Jelle Zijlstra, Bénédikt Tran, " +"and Pablo Galindo Salgado in :gh:`132661`.)" msgstr "" -msgid "(Contributed by Matt Wozniski and Pablo Galindo in :gh:`131591`.)" +msgid ":pep:`750`." +msgstr ":pep:`750`." + +msgid ":pep:`768`: Safe external debugger interface" msgstr "" -msgid "PEP 758 – Allow except and except* expressions without parentheses" +msgid "" +"Python 3.14 introduces a zero-overhead debugging interface that allows " +"debuggers and profilers to safely attach to running Python processes without " +"stopping or restarting them. This is a significant enhancement to Python's " +"debugging capabilities, meaning that unsafe alternatives are no longer " +"required." msgstr "" msgid "" -"The :keyword:`except` and :keyword:`except* ` expressions now " -"allow parentheses to be omitted when there are multiple exception types and " -"the ``as`` clause is not used. For example the following expressions are now " -"valid:" +"The new interface provides safe execution points for attaching debugger code " +"without modifying the interpreter's normal execution path or adding any " +"overhead at runtime. Due to this, tools can now inspect and interact with " +"Python applications in real-time, which is a crucial capability for high-" +"availability systems and production environments." msgstr "" msgid "" -"try:\n" -" release_new_sleep_token_album()\n" -"except AlbumNotFound, SongsTooGoodToBeReleased:\n" -" print(\"Sorry, no new album this year.\")\n" -"\n" -" # The same applies to except* (for exception groups):\n" -"try:\n" -" release_new_sleep_token_album()\n" -"except* AlbumNotFound, SongsTooGoodToBeReleased:\n" -" print(\"Sorry, no new album this year.\")" +"For convenience, this interface is implemented in the :func:`sys." +"remote_exec` function. For example:" msgstr "" -msgid "Check :pep:`758` for more details." +msgid "" +"import sys\n" +"from tempfile import NamedTemporaryFile\n" +"\n" +"with NamedTemporaryFile(mode='w', suffix='.py', delete=False) as f:\n" +" script_path = f.name\n" +" f.write(f'import my_debugger; my_debugger.connect({os.getpid()})')\n" +"\n" +"# Execute in process with PID 1234\n" +"print('Behold! An offering:')\n" +"sys.remote_exec(1234, script_path)" msgstr "" -msgid "(Contributed by Pablo Galindo and Brett Cannon in :gh:`131831`.)" +msgid "" +"This function allows sending Python code to be executed in a target process " +"at the next safe execution point. However, tool authors can also implement " +"the protocol directly as described in the PEP, which details the underlying " +"mechanisms used to safely attach to running processes." msgstr "" -msgid ":pep:`758`." +msgid "" +"The debugging interface has been carefully designed with security in mind " +"and includes several mechanisms to control access:" msgstr "" -msgid "PEP 649 and 749: deferred evaluation of annotations" +msgid "A :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` environment variable." msgstr "" -msgid "" -"The :term:`annotations ` on functions, classes, and modules are " -"no longer evaluated eagerly. Instead, annotations are stored in special-" -"purpose :term:`annotate functions ` and evaluated only " -"when necessary (except if ``from __future__ import annotations`` is used). " -"This is specified in :pep:`649` and :pep:`749`." +msgid "A :option:`-X disable-remote-debug` command-line option." msgstr "" msgid "" -"This change is designed to make annotations in Python more performant and " -"more usable in most circumstances. The runtime cost for defining annotations " -"is minimized, but it remains possible to introspect annotations at runtime. " -"It is no longer necessary to enclose annotations in strings if they contain " -"forward references." +"A :option:`--without-remote-debug` configure flag to completely disable the " +"feature at build time." msgstr "" msgid "" -"The new :mod:`annotationlib` module provides tools for inspecting deferred " -"annotations. Annotations may be evaluated in the :attr:`~annotationlib." -"Format.VALUE` format (which evaluates annotations to runtime values, similar " -"to the behavior in earlier Python versions), the :attr:`~annotationlib." -"Format.FORWARDREF` format (which replaces undefined names with special " -"markers), and the :attr:`~annotationlib.Format.STRING` format (which returns " -"annotations as strings)." +"(Contributed by Pablo Galindo Salgado, Matt Wozniski, and Ivona Stojanovic " +"in :gh:`131591`.)" msgstr "" -msgid "This example shows how these formats behave:" -msgstr "" +msgid ":pep:`768`." +msgstr ":pep:`768`." -msgid "" -">>> from annotationlib import get_annotations, Format\n" -">>> def func(arg: Undefined):\n" -"... pass\n" -">>> get_annotations(func, format=Format.VALUE)\n" -"Traceback (most recent call last):\n" -" ...\n" -"NameError: name 'Undefined' is not defined\n" -">>> get_annotations(func, format=Format.FORWARDREF)\n" -"{'arg': ForwardRef('Undefined', owner=)}\n" -">>> get_annotations(func, format=Format.STRING)\n" -"{'arg': 'Undefined'}" +msgid "A new type of interpreter" msgstr "" -msgid "Implications for annotated code" +msgid "" +"A new type of interpreter has been added to CPython. It uses tail calls " +"between small C functions that implement individual Python opcodes, rather " +"than one large C ``case`` statement. For certain newer compilers, this " +"interpreter provides significantly better performance. Preliminary " +"benchmarks suggest a geometric mean of 3-5% faster on the standard " +"``pyperformance`` benchmark suite, depending on platform and architecture. " +"The baseline is Python 3.14 built with Clang 19, without this new " +"interpreter." msgstr "" msgid "" -"If you define annotations in your code (for example, for use with a static " -"type checker), then this change probably does not affect you: you can keep " -"writing annotations the same way you did with previous versions of Python." +"This interpreter currently only works with Clang 19 and newer on x86-64 and " +"AArch64 architectures. However, a future release of GCC is expected to " +"support this as well." msgstr "" msgid "" -"You will likely be able to remove quoted strings in annotations, which are " -"frequently used for forward references. Similarly, if you use ``from " -"__future__ import annotations`` to avoid having to write strings in " -"annotations, you may well be able to remove that import once you support " -"only Python 3.14 and newer. However, if you rely on third-party libraries " -"that read annotations, those libraries may need changes to support unquoted " -"annotations before they work as expected." +"This feature is opt-in for now. Enabling profile-guided optimization is " +"highly recommended when using the new interpreter as it is the only " +"configuration that has been tested and validated for improved performance. " +"For further information, see :option:`--with-tail-call-interp`." msgstr "" -msgid "Implications for readers of ``__annotations__``" +msgid "" +"This is not to be confused with `tail call optimization`__ of Python " +"functions, which is currently not implemented in CPython." msgstr "" msgid "" -"If your code reads the ``__annotations__`` attribute on objects, you may " -"want to make changes in order to support code that relies on deferred " -"evaluation of annotations. For example, you may want to use :func:" -"`annotationlib.get_annotations` with the :attr:`~annotationlib.Format." -"FORWARDREF` format, as the :mod:`dataclasses` module now does." +"This new interpreter type is an internal implementation detail of the " +"CPython interpreter. It doesn't change the visible behavior of Python " +"programs at all. It can improve their performance, but doesn't change " +"anything else." msgstr "" msgid "" -"The external :pypi:`typing_extensions` package provides partial backports of " -"some of the functionality of the :mod:`annotationlib` module, such as the :" -"class:`~annotationlib.Format` enum and the :func:`~annotationlib." -"get_annotations` function. These can be used to write cross-version code " -"that takes advantage of the new behavior in Python 3.14." +"(Contributed by Ken Jin in :gh:`128563`, with ideas on how to implement this " +"in CPython by Mark Shannon, Garrett Gu, Haoran Xu, and Josh Haberman.)" msgstr "" -msgid "Related changes" +msgid "Free-threaded mode improvements" msgstr "" msgid "" -"The changes in Python 3.14 are designed to rework how ``__annotations__`` " -"works at runtime while minimizing breakage to code that contains annotations " -"in source code and to code that reads ``__annotations__``. However, if you " -"rely on undocumented details of the annotation behavior or on private " -"functions in the standard library, there are many ways in which your code " -"may not work in Python 3.14. To safeguard your code against future changes, " -"use only the documented functionality of the :mod:`annotationlib` module." +"CPython's free-threaded mode (:pep:`703`), initially added in 3.13, has been " +"significantly improved in Python 3.14. The implementation described in PEP " +"703 has been finished, including C API changes, and temporary workarounds in " +"the interpreter were replaced with more permanent solutions. The " +"specializing adaptive interpreter (:pep:`659`) is now enabled in free-" +"threaded mode, which along with many other optimizations greatly improves " +"its performance. The performance penalty on single-threaded code in free-" +"threaded mode is now roughly 5-10%, depending on the platform and C compiler " +"used." msgstr "" msgid "" -"In particular, do not read annotations directly from the namespace " -"dictionary attribute of type objects. Use :func:`annotationlib." -"get_annotate_from_class_namespace` during class construction and :func:" -"`annotationlib.get_annotations` afterwards." -msgstr "" - -msgid "``from __future__ import annotations``" +"From Python 3.14, when compiling extension modules for the free-threaded " +"build of CPython on Windows, the preprocessor variable ``Py_GIL_DISABLED`` " +"now needs to be specified by the build backend, as it will no longer be " +"determined automatically by the C compiler. For a running interpreter, the " +"setting that was used at compile time can be found using :func:`sysconfig." +"get_config_var`." msgstr "" msgid "" -"In Python 3.7, :pep:`563` introduced the ``from __future__ import " -"annotations`` directive, which turns all annotations into strings. This " -"directive is now considered deprecated and it is expected to be removed in a " -"future version of Python. However, this removal will not happen until after " -"Python 3.13, the last version of Python without deferred evaluation of " -"annotations, reaches its end of life in 2029. In Python 3.14, the behavior " -"of code using ``from __future__ import annotations`` is unchanged." +"The new :option:`-X context_aware_warnings <-X>` flag controls if :ref:" +"`concurrent safe warnings control ` " +"is enabled. The flag defaults to true for the free-threaded build and false " +"for the GIL-enabled build." msgstr "" msgid "" -"(Contributed by Jelle Zijlstra in :gh:`119180`; :pep:`649` was written by " -"Larry Hastings.)" +"A new :data:`~sys.flags.thread_inherit_context` flag has been added, which " +"if enabled means that threads created with :class:`threading.Thread` start " +"with a copy of the :class:`~contextvars.Context()` of the caller of :meth:" +"`~threading.Thread.start`. Most significantly, this makes the warning " +"filtering context established by :class:`~warnings.catch_warnings` be " +"\"inherited\" by threads (or asyncio tasks) started within that context. It " +"also affects other modules that use context variables, such as the :mod:" +"`decimal` context manager. This flag defaults to true for the free-threaded " +"build and false for the GIL-enabled build." msgstr "" -msgid ":pep:`649` and :pep:`749`." +msgid "" +"(Contributed by Sam Gross, Matt Page, Neil Schemenauer, Thomas Wouters, " +"Donghee Na, Kirill Podoprigora, Ken Jin, Itamar Oren, Brett Simmers, Dino " +"Viehland, Nathan Goldbaum, Ralf Gommers, Lysandros Nikolaou, Kumar Aditya, " +"Edgar Margffoy, and many others. Some of these contributors are employed by " +"Meta, which has continued to provide significant engineering resources to " +"support this project.)" msgstr "" msgid "Improved error messages" @@ -586,30 +654,7 @@ msgid "" " File \"\", line 1\n" " whille True:\n" " ^^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'while'?\n" -"\n" -">>> asynch def fetch_data():\n" -"... pass\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" asynch def fetch_data():\n" -" ^^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'async'?\n" -"\n" -">>> async def foo():\n" -"... awaid fetch_data()\n" -"Traceback (most recent call last):\n" -" File \"\", line 2\n" -" awaid fetch_data()\n" -" ^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'await'?\n" -"\n" -">>> raisee ValueError(\"Error\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" raisee ValueError(\"Error\")\n" -" ^^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'raise'?" +"SyntaxError: invalid syntax. Did you mean 'while'?" msgstr "" msgid "" @@ -619,23 +664,8 @@ msgid "" msgstr "" msgid "" -"When unpacking assignment fails due to incorrect number of variables, the " -"error message prints the received number of values in more cases than " -"before. (Contributed by Tushar Sadhwani in :gh:`122239`.)" -msgstr "" - -msgid "" -">>> x, y, z = 1, 2, 3, 4\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" x, y, z = 1, 2, 3, 4\n" -" ^^^^^^^\n" -"ValueError: too many values to unpack (expected 3, got 4)" -msgstr "" - -msgid "" -":keyword:`elif` statements that follow an :keyword:`else` block now have a " -"specific error message. (Contributed by Steele Farnsworth in :gh:`129902`.)" +":keyword:`elif` statements that follow an :keyword:`else` block now have a " +"specific error message. (Contributed by Steele Farnsworth in :gh:`129902`.)" msgstr "" msgid "" @@ -652,13 +682,11 @@ msgid "" msgstr "" msgid "" -"If a statement (:keyword:`pass`, :keyword:`del`, :keyword:`return`, :keyword:" -"`yield`, :keyword:`raise`, :keyword:`break`, :keyword:`continue`, :keyword:" -"`assert`, :keyword:`import`, :keyword:`from`) is passed to the :ref:" -"`if_expr` after :keyword:`else`, or one of :keyword:`pass`, :keyword:" -"`break`, or :keyword:`continue` is passed before :keyword:`if`, then the " -"error message highlights where the :token:`~python-grammar:expression` is " -"required. (Contributed by Sergey Miryanov in :gh:`129515`.)" +"If a statement is passed to the :ref:`if_expr` after :keyword:`else`, or one " +"of :keyword:`pass`, :keyword:`break`, or :keyword:`continue` is passed " +"before :keyword:`if`, then the error message highlights where the :token:" +"`~python-grammar:expression` is required. (Contributed by Sergey Miryanov " +"in :gh:`129515`.)" msgstr "" msgid "" @@ -722,14 +750,6 @@ msgid "" "`123440`.)" msgstr "" -msgid "" -">>> import ast as arr[0]\n" -" File \"\", line 1\n" -" import ast as arr[0]\n" -" ^^^^^^\n" -"SyntaxError: cannot use subscript as import target" -msgstr "" - msgid "" "Improved error message when trying to add an instance of an unhashable type " "to a :class:`dict` or :class:`set`. (Contributed by CF Bolz-Tereick and " @@ -754,74 +774,84 @@ msgid "" "TypeError: cannot use 'list' as a dict key (unhashable type: 'list')" msgstr "" -msgid "PEP 741: Python Configuration C API" +msgid "" +"Improved error message when an object supporting the synchronous context " +"manager protocol is entered using :keyword:`async with` instead of :keyword:" +"`with`, and vice versa for the asynchronous context manager protocol. " +"(Contributed by Bénédikt Tran in :gh:`128398`.)" msgstr "" -msgid "" -"Add a :ref:`PyInitConfig C API ` to configure the Python " -"initialization without relying on C structures and the ability to make ABI-" -"compatible changes in the future." +msgid ":pep:`784`: Zstandard support in the standard library" msgstr "" msgid "" -"Complete the :pep:`587` :ref:`PyConfig C API ` by adding :c:" -"func:`PyInitConfig_AddModule` which can be used to add a built-in extension " -"module; feature previously referred to as the “inittab”." +"The new :mod:`!compression` package contains modules :mod:`!compression." +"lzma`, :mod:`!compression.bz2`, :mod:`!compression.gzip` and :mod:`!" +"compression.zlib` which re-export the :mod:`lzma`, :mod:`bz2`, :mod:`gzip` " +"and :mod:`zlib` modules respectively. The new import names under :mod:`!" +"compression` are the preferred names for importing these compression modules " +"from Python 3.14. However, the existing modules names have not been " +"deprecated. Any deprecation or removal of the existing compression modules " +"will occur no sooner than five years after the release of 3.14." msgstr "" msgid "" -"Add :c:func:`PyConfig_Get` and :c:func:`PyConfig_Set` functions to get and " -"set the current runtime configuration." +"The new :mod:`!compression.zstd` module provides compression and " +"decompression APIs for the Zstandard format via bindings to `Meta's zstd " +"library `__. Zstandard is a widely " +"adopted, highly efficient, and fast compression format. In addition to the " +"APIs introduced in :mod:`!compression.zstd`, support for reading and writing " +"Zstandard compressed archives has been added to the :mod:`tarfile`, :mod:" +"`zipfile`, and :mod:`shutil` modules." msgstr "" -msgid "" -"PEP 587 “Python Initialization Configuration” unified all the ways to " -"configure the Python initialization. This PEP unifies also the configuration " -"of the Python preinitialization and the Python initialization in a single " -"API. Moreover, this PEP only provides a single choice to embed Python, " -"instead of having two “Python” and “Isolated” choices (PEP 587), to simplify " -"the API further." +msgid "Here's an example of using the new module to compress some data:" msgstr "" msgid "" -"The lower level PEP 587 PyConfig API remains available for use cases with an " -"intentionally higher level of coupling to CPython implementation details " -"(such as emulating the full functionality of CPython’s CLI, including its " -"configuration mechanisms)." +"from compression import zstd\n" +"import math\n" +"\n" +"data = str(math.pi).encode() * 20\n" +"compressed = zstd.compress(data)\n" +"ratio = len(compressed) / len(data)\n" +"print(f\"Achieved compression ratio of {ratio}\")" msgstr "" -msgid "(Contributed by Victor Stinner in :gh:`107954`.)" +msgid "" +"As can be seen, the API is similar to the APIs of the :mod:`!lzma` and :mod:" +"`!bz2` modules." msgstr "" -msgid ":pep:`741`." +msgid "" +"(Contributed by Emma Harper Smith, Adam Turner, Gregory P. Smith, Tomas " +"Roun, Victor Stinner, and Rogdham in :gh:`132983`.)" msgstr "" +msgid ":pep:`784`." +msgstr ":pep:`784`." + msgid "Asyncio introspection capabilities" msgstr "" msgid "" "Added a new command-line interface to inspect running Python processes using " -"asynchronous tasks, available via:" -msgstr "" - -msgid "python -m asyncio ps PID" +"asynchronous tasks, available via ``python -m asyncio ps PID`` or ``python -" +"m asyncio pstree PID``." msgstr "" msgid "" -"This tool inspects the given process ID (PID) and displays information about " -"currently running asyncio tasks. It outputs a task table: a flat listing of " -"all tasks, their names, their coroutine stacks, and which tasks are awaiting " -"them." -msgstr "" - -msgid "python -m asyncio pstree PID" +"The ``ps`` subcommand inspects the given process ID (PID) and displays " +"information about currently running asyncio tasks. It outputs a task table: " +"a flat listing of all tasks, their names, their coroutine stacks, and which " +"tasks are awaiting them." msgstr "" msgid "" -"This tool fetches the same information, but renders a visual async call " -"tree, showing coroutine relationships in a hierarchical format. This " -"command is particularly useful for debugging long-running or stuck " -"asynchronous programs. It can help developers quickly identify where a " +"The ``pstree`` subcommand fetches the same information, but instead renders " +"a visual async call tree, showing coroutine relationships in a hierarchical " +"format. This command is particularly useful for debugging long-running or " +"stuck asynchronous programs. It can help developers quickly identify where a " "program is blocked, what tasks are pending, and how coroutines are chained " "together." msgstr "" @@ -832,24 +862,25 @@ msgstr "" msgid "" "import asyncio\n" "\n" -"async def play(track):\n" +"async def play_track(track):\n" " await asyncio.sleep(5)\n" -" print(f\"🎵 Finished: {track}\")\n" +" print(f'🎵 Finished: {track}')\n" "\n" -"async def album(name, tracks):\n" +"async def play_album(name, tracks):\n" " async with asyncio.TaskGroup() as tg:\n" " for track in tracks:\n" -" tg.create_task(play(track), name=track)\n" +" tg.create_task(play_track(track), name=track)\n" "\n" "async def main():\n" " async with asyncio.TaskGroup() as tg:\n" " tg.create_task(\n" -" album(\"Sundowning\", [\"TNDNBTG\", \"Levitate\"]), " -"name=\"Sundowning\")\n" +" play_album('Sundowning', ['TNDNBTG', 'Levitate']),\n" +" name='Sundowning')\n" " tg.create_task(\n" -" album(\"TMBTE\", [\"DYWTYLM\", \"Aqua Regia\"]), name=\"TMBTE\")\n" +" play_album('TMBTE', ['DYWTYLM', 'Aqua Regia']),\n" +" name='TMBTE')\n" "\n" -"if __name__ == \"__main__\":\n" +"if __name__ == '__main__':\n" " asyncio.run(main())" msgstr "" @@ -861,53 +892,81 @@ msgid "" "python -m asyncio ps 12345\n" "\n" "tid task id task name coroutine " -"chain awaiter name awaiter id\n" -"---------------------------------------------------------------------------------------------------------------------------------------\n" -"8138752 0x564bd3d0210 " -"Task-1 " +"stack awaiter " +"chain awaiter name awaiter id\n" +"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n" +"1935500 0x7fc930c18050 Task-1 TaskGroup._aexit -> " +"TaskGroup.__aexit__ -> " +"main " "0x0\n" -"8138752 0x564bd3d0410 Sundowning _aexit -> __aexit__ -> " -"main Task-1 0x564bd3d0210\n" -"8138752 0x564bd3d0610 TMBTE _aexit -> __aexit__ -> " -"main Task-1 0x564bd3d0210\n" -"8138752 0x564bd3d0810 TNDNBTG _aexit -> __aexit__ -> " -"album Sundowning 0x564bd3d0410\n" -"8138752 0x564bd3d0a10 Levitate _aexit -> __aexit__ -> " -"album Sundowning 0x564bd3d0410\n" -"8138752 0x564bd3e0550 DYWTYLM _aexit -> __aexit__ -> " -"album TMBTE 0x564bd3d0610\n" -"8138752 0x564bd3e0710 Aqua Regia _aexit -> __aexit__ -> " -"album TMBTE 0x564bd3d0610" -msgstr "" - -msgid "or:" +"1935500 0x7fc930c18230 Sundowning TaskGroup._aexit -> " +"TaskGroup.__aexit__ -> album TaskGroup._aexit -> TaskGroup.__aexit__ -> " +"main Task-1 0x7fc930c18050\n" +"1935500 0x7fc93173fa50 TMBTE TaskGroup._aexit -> " +"TaskGroup.__aexit__ -> album TaskGroup._aexit -> TaskGroup.__aexit__ -> " +"main Task-1 0x7fc930c18050\n" +"1935500 0x7fc93173fdf0 TNDNBTG sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album Sundowning 0x7fc930c18230\n" +"1935500 0x7fc930d32510 Levitate sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album Sundowning 0x7fc930c18230\n" +"1935500 0x7fc930d32890 DYWTYLM sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album TMBTE 0x7fc93173fa50\n" +"1935500 0x7fc93161ec30 Aqua Regia sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album TMBTE 0x7fc93173fa50" +msgstr "" + +msgid "or a tree like this:" msgstr "" msgid "" "python -m asyncio pstree 12345\n" "\n" "└── (T) Task-1\n" -" └── main\n" -" └── __aexit__\n" -" └── _aexit\n" +" └── main example.py:13\n" +" └── TaskGroup.__aexit__ Lib/asyncio/taskgroups.py:72\n" +" └── TaskGroup._aexit Lib/asyncio/taskgroups.py:121\n" " ├── (T) Sundowning\n" -" │ └── album\n" -" │ └── __aexit__\n" -" │ └── _aexit\n" +" │ └── album example.py:8\n" +" │ └── TaskGroup.__aexit__ Lib/asyncio/taskgroups." +"py:72\n" +" │ └── TaskGroup._aexit Lib/asyncio/taskgroups." +"py:121\n" " │ ├── (T) TNDNBTG\n" +" │ │ └── play example.py:4\n" +" │ │ └── sleep Lib/asyncio/tasks.py:702\n" " │ └── (T) Levitate\n" +" │ └── play example.py:4\n" +" │ └── sleep Lib/asyncio/tasks.py:702\n" " └── (T) TMBTE\n" -" └── album\n" -" └── __aexit__\n" -" └── _aexit\n" +" └── album example.py:8\n" +" └── TaskGroup.__aexit__ Lib/asyncio/taskgroups." +"py:72\n" +" └── TaskGroup._aexit Lib/asyncio/taskgroups." +"py:121\n" " ├── (T) DYWTYLM\n" -" └── (T) Aqua Regia" +" │ └── play example.py:4\n" +" │ └── sleep Lib/asyncio/tasks.py:702\n" +" └── (T) Aqua Regia\n" +" └── play example.py:4\n" +" └── sleep Lib/asyncio/tasks.py:702" msgstr "" msgid "" "If a cycle is detected in the async await graph (which could indicate a " "programming issue), the tool raises an error and lists the cycle paths that " -"prevent tree construction." +"prevent tree construction:" +msgstr "" + +msgid "" +"python -m asyncio pstree 12345\n" +"\n" +"ERROR: await-graph contains cycles - cannot print a tree!\n" +"\n" +"cycle: Task-2 → Task-3 → Task-2" msgstr "" msgid "" @@ -915,312 +974,277 @@ msgid "" "Macias in :gh:`91048`.)" msgstr "" -msgid "A new type of interpreter" +msgid "Concurrent safe warnings control" msgstr "" msgid "" -"A new type of interpreter has been added to CPython. It uses tail calls " -"between small C functions that implement individual Python opcodes, rather " -"than one large C case statement. For certain newer compilers, this " -"interpreter provides significantly better performance. Preliminary numbers " -"on our machines suggest anywhere up to 30% faster Python code, and a " -"geometric mean of 3-5% faster on ``pyperformance`` depending on platform and " -"architecture. The baseline is Python 3.14 built with Clang 19 without this " -"new interpreter." +"The :class:`warnings.catch_warnings` context manager will now optionally use " +"a context variable for warning filters. This is enabled by setting the :data:" +"`~sys.flags.context_aware_warnings` flag, either with the ``-X`` command-" +"line option or an environment variable. This gives predictable warnings " +"control when using :class:`~warnings.catch_warnings` combined with multiple " +"threads or asynchronous tasks. The flag defaults to true for the free-" +"threaded build and false for the GIL-enabled build." msgstr "" -msgid "" -"This interpreter currently only works with Clang 19 and newer on x86-64 and " -"AArch64 architectures. However, we expect that a future release of GCC will " -"support this as well." +msgid "(Contributed by Neil Schemenauer and Kumar Aditya in :gh:`130010`.)" msgstr "" -msgid "" -"This feature is opt-in for now. We highly recommend enabling profile-guided " -"optimization with the new interpreter as it is the only configuration we " -"have tested and can validate its improved performance. For further " -"information on how to build Python, see :option:`--with-tail-call-interp`." +msgid "Other language changes" msgstr "" msgid "" -"This is not to be confused with `tail call optimization`__ of Python " -"functions, which is currently not implemented in CPython." +"All Windows code pages are now supported as 'cpXXX' codecs on Windows. " +"(Contributed by Serhiy Storchaka in :gh:`123803`.)" msgstr "" msgid "" -"This new interpreter type is an internal implementation detail of the " -"CPython interpreter. It doesn't change the visible behavior of Python " -"programs at all. It can improve their performance, but doesn't change " -"anything else." +"Implement mixed-mode arithmetic rules combining real and complex numbers as " +"specified by the C standard since C99. (Contributed by Sergey B Kirpichev " +"in :gh:`69639`.)" msgstr "" msgid "" -"This section previously reported a 9-15% geometric mean speedup. This number " -"has since been cautiously revised down to 3-5%. While we expect performance " -"results to be better than what we report, our estimates are more " -"conservative due to a `compiler bug `_ found in Clang/LLVM 19, which causes the normal interpreter " -"to be slower. We were unaware of this bug, resulting in inaccurate results. " -"We sincerely apologize for communicating results that were only accurate for " -"LLVM v19.1.x and v20.1.0. In the meantime, the bug has been fixed in LLVM " -"v20.1.1 and for the upcoming v21.1, but it will remain unfixed for LLVM " -"v19.1.x and v20.1.0. Thus any benchmarks with those versions of LLVM may " -"produce inaccurate numbers. (Thanks to Nelson Elhage for bringing this to " -"light.)" +"More syntax errors are now detected regardless of optimisation and the :" +"option:`-O` command-line option. This includes writes to ``__debug__``, " +"incorrect use of :keyword:`await`, and asynchronous comprehensions outside " +"asynchronous functions. For example, ``python -O -c 'assert (__debug__ := " +"1)'`` or ``python -O -c 'assert await 1'`` now produce :exc:`SyntaxError`\\ " +"s. (Contributed by Irit Katriel and Jelle Zijlstra in :gh:`122245` & :gh:" +"`121637`.)" msgstr "" msgid "" -"(Contributed by Ken Jin in :gh:`128563`, with ideas on how to implement this " -"in CPython by Mark Shannon, Garrett Gu, Haoran Xu, and Josh Haberman.)" +"When subclassing a pure C type, the C slots for the new type are no longer " +"replaced with a wrapped version on class creation if they are not explicitly " +"overridden in the subclass. (Contributed by Tomasz Pytel in :gh:`132284`.)" msgstr "" -msgid "Free-threaded mode" +msgid "Built-ins" msgstr "" msgid "" -"Free-threaded mode (:pep:`703`), initially added in 3.13, has been " -"significantly improved. The implementation described in PEP 703 was " -"finished, including C API changes, and temporary workarounds in the " -"interpreter were replaced with more permanent solutions. The specializing " -"adaptive interpreter (:pep:`659`) is now enabled in free-threaded mode, " -"which along with many other optimizations greatly improves its performance. " -"The performance penalty on single-threaded code in free-threaded mode is now " -"roughly 5-10%, depending on platform and C compiler used." +"The :meth:`bytes.fromhex` and :meth:`bytearray.fromhex` methods now accept " +"ASCII :class:`bytes` and :term:`bytes-like objects `. " +"(Contributed by Daniel Pope in :gh:`129349`.)" msgstr "" msgid "" -"This work was done by many contributors: Sam Gross, Matt Page, Neil " -"Schemenauer, Thomas Wouters, Donghee Na, Kirill Podoprigora, Ken Jin, Itamar " -"Oren, Brett Simmers, Dino Viehland, Nathan Goldbaum, Ralf Gommers, Lysandros " -"Nikolaou, Kumar Aditya, Edgar Margffoy, and many others." +"Add class methods :meth:`float.from_number` and :meth:`complex.from_number` " +"to convert a number to :class:`float` or :class:`complex` type " +"correspondingly. They raise a :exc:`TypeError` if the argument is not a real " +"number. (Contributed by Serhiy Storchaka in :gh:`84978`.)" msgstr "" msgid "" -"Some of these contributors are employed by Meta, which has continued to " -"provide significant engineering resources to support this project." +"Support underscore and comma as thousands separators in the fractional part " +"for floating-point presentation types of the new-style string formatting " +"(with :func:`format` or :ref:`f-strings`). (Contributed by Sergey B " +"Kirpichev in :gh:`87790`.)" msgstr "" -msgid "Syntax highlighting in PyREPL" +msgid "" +"The :func:`int` function no longer delegates to :meth:`~object.__trunc__`. " +"Classes that want to support conversion to :func:`!int` must implement " +"either :meth:`~object.__int__` or :meth:`~object.__index__`. (Contributed by " +"Mark Dickinson in :gh:`119743`.)" msgstr "" msgid "" -"The default :term:`interactive` shell now highlights Python syntax as you " -"type. The feature is enabled by default unless the :envvar:" -"`PYTHON_BASIC_REPL` environment is set or any color-disabling environment " -"variables are used. See :ref:`using-on-controlling-color` for details." +"The :func:`map` function now has an optional keyword-only *strict* flag " +"like :func:`zip` to check that all the iterables are of equal length. " +"(Contributed by Wannes Boeykens in :gh:`119793`.)" msgstr "" msgid "" -"The default color theme for syntax highlighting strives for good contrast " -"and uses exclusively the 4-bit VGA standard ANSI color codes for maximum " -"compatibility. The theme can be customized using an experimental API " -"``_colorize.set_theme()``. This can be called interactively, as well as in " -"the :envvar:`PYTHONSTARTUP` script." +"The :class:`memoryview` type now supports subscription, making it a :term:" +"`generic type`. (Contributed by Brian Schubert in :gh:`126012`.)" msgstr "" -msgid "(Contributed by Łukasz Langa in :gh:`131507`.)" +msgid "" +"Using :data:`NotImplemented` in a boolean context will now raise a :exc:" +"`TypeError`. This has raised a :exc:`DeprecationWarning` since Python 3.9. " +"(Contributed by Jelle Zijlstra in :gh:`118767`.)" msgstr "" -msgid "Binary releases for the experimental just-in-time compiler" +msgid "" +"Three-argument :func:`pow` now tries calling :meth:`~object.__rpow__` if " +"necessary. Previously it was only called in two-argument :func:`!pow` and " +"the binary power operator. (Contributed by Serhiy Storchaka in :gh:`130104`.)" msgstr "" msgid "" -"The official macOS and Windows release binaries now include an " -"*experimental* just-in-time (JIT) compiler. Although it is **not** " -"recommended for production use, it can be tested by setting :envvar:" -"`PYTHON_JIT=1 ` as an environment variable. Downstream source " -"builds and redistributors can use the :option:`--enable-experimental-jit=yes-" -"off` configuration option for similar behavior." +":class:`super` objects are now :mod:`copyable ` and :mod:`pickleable " +"`. (Contributed by Serhiy Storchaka in :gh:`125767`.)" msgstr "" -msgid "" -"The JIT is at an early stage and still in active development. As such, the " -"typical performance impact of enabling it can range from 10% slower to 20% " -"faster, depending on workload. To aid in testing and evaluation, a set of " -"introspection functions has been provided in the :data:`sys._jit` " -"namespace. :func:`sys._jit.is_available` can be used to determine if the " -"current executable supports JIT compilation, while :func:`sys._jit." -"is_enabled` can be used to tell if JIT compilation has been enabled for the " -"current process." +msgid "Command line and environment" msgstr "" msgid "" -"Currently, the most significant missing functionality is that native " -"debuggers and profilers like ``gdb`` and ``perf`` are unable to unwind " -"through JIT frames (Python debuggers and profilers, like :mod:`pdb` or :mod:" -"`profile`, continue to work without modification). Free-threaded builds do " -"not support JIT compilation." +"The import time flag can now track modules that are already loaded " +"('cached'), via the new :option:`-X importtime=2 <-X>`. When such a module " +"is imported, the ``self`` and ``cumulative`` times are replaced by the " +"string ``cached``." msgstr "" msgid "" -"Please report any bugs or major performance regressions that you encounter!" +"Values above ``2`` for ``-X importtime`` are now reserved for future use." msgstr "" -msgid ":pep:`744`" -msgstr ":pep:`744`" - -msgid "Other language changes" +msgid "(Contributed by Noah Kim and Adam Turner in :gh:`118655`.)" msgstr "" msgid "" -"The default :term:`interactive` shell now supports import autocompletion. " -"This means that typing ``import foo`` and pressing ```` will suggest " -"modules starting with ``foo``. Similarly, typing ``from foo import b`` will " -"suggest submodules of ``foo`` starting with ``b``. Note that autocompletion " -"of module attributes is not currently supported. (Contributed by Tomas Roun " -"in :gh:`69605`.)" +"The command-line option :option:`-c` now automatically dedents its code " +"argument before execution. The auto-dedentation behavior mirrors :func:" +"`textwrap.dedent`. (Contributed by Jon Crall and Steven Sun in :gh:`103998`.)" msgstr "" msgid "" -"The :func:`map` built-in now has an optional keyword-only *strict* flag " -"like :func:`zip` to check that all the iterables are of equal length. " -"(Contributed by Wannes Boeykens in :gh:`119793`.)" +":option:`!-J` is no longer a reserved flag for Jython_, and now has no " +"special meaning. (Contributed by Adam Turner in :gh:`133336`.)" msgstr "" -msgid "" -"Incorrect usage of :keyword:`await` and asynchronous comprehensions is now " -"detected even if the code is optimized away by the :option:`-O` command-line " -"option. For example, ``python -O -c 'assert await 1'`` now produces a :exc:" -"`SyntaxError`. (Contributed by Jelle Zijlstra in :gh:`121637`.)" +msgid "PEP 758: Allow ``except`` and ``except*`` expressions without brackets" msgstr "" msgid "" -"Writes to ``__debug__`` are now detected even if the code is optimized away " -"by the :option:`-O` command-line option. For example, ``python -O -c 'assert " -"(__debug__ := 1)'`` now produces a :exc:`SyntaxError`. (Contributed by Irit " -"Katriel in :gh:`122245`.)" +"The :keyword:`except` and :keyword:`except* ` expressions now " +"allow brackets to be omitted when there are multiple exception types and the " +"``as`` clause is not used. For example:" msgstr "" msgid "" -"Add class methods :meth:`float.from_number` and :meth:`complex.from_number` " -"to convert a number to :class:`float` or :class:`complex` type " -"correspondingly. They raise an error if the argument is a string. " -"(Contributed by Serhiy Storchaka in :gh:`84978`.)" +"try:\n" +" connect_to_server()\n" +"except TimeoutError, ConnectionRefusedError:\n" +" print('The network has ceased to be!')" msgstr "" msgid "" -"Implement mixed-mode arithmetic rules combining real and complex numbers as " -"specified by C standards since C99. (Contributed by Sergey B Kirpichev in :" -"gh:`69639`.)" +"(Contributed by Pablo Galindo and Brett Cannon in :pep:`758` and :gh:" +"`131831`.)" msgstr "" -msgid "" -"All Windows code pages are now supported as \"cpXXX\" codecs on Windows. " -"(Contributed by Serhiy Storchaka in :gh:`123803`.)" +msgid "PEP 765: Control flow in :keyword:`finally` blocks" msgstr "" msgid "" -":class:`super` objects are now :mod:`pickleable ` and :mod:`copyable " -"`. (Contributed by Serhiy Storchaka in :gh:`125767`.)" +"The compiler now emits a :exc:`SyntaxWarning` when a :keyword:`return`, :" +"keyword:`break`, or :keyword:`continue` statement have the effect of leaving " +"a :keyword:`finally` block. This change is specified in :pep:`765`." msgstr "" msgid "" -"The :class:`memoryview` type now supports subscription, making it a :term:" -"`generic type`. (Contributed by Brian Schubert in :gh:`126012`.)" +"In situations where this change is inconvenient (such as those where the " +"warnings are redundant due to code linting), the :ref:`warning filter " +"` can be used to turn off all syntax warnings by adding " +"``ignore::SyntaxWarning`` as a filter. This can be specified in combination " +"with a filter that converts other warnings to errors (for example, passing " +"``-Werror -Wignore::SyntaxWarning`` as CLI options, or setting " +"``PYTHONWARNINGS=error,ignore::SyntaxWarning``)." msgstr "" msgid "" -"Support underscore and comma as thousands separators in the fractional part " -"for floating-point presentation types of the new-style string formatting " -"(with :func:`format` or :ref:`f-strings`). (Contributed by Sergey B " -"Kirpichev in :gh:`87790`.)" +"Note that applying such a filter at runtime using the :mod:`warnings` module " +"will only suppress the warning in code that is compiled *after* the filter " +"is adjusted. Code that is compiled prior to the filter adjustment (for " +"example, when a module is imported) will still emit the syntax warning." msgstr "" -msgid "" -"The :func:`bytes.fromhex` and :func:`bytearray.fromhex` methods now accept " -"ASCII :class:`bytes` and :term:`bytes-like objects `. " -"(Contributed by Daniel Pope in :gh:`129349`.)" +msgid "(Contributed by Irit Katriel in :gh:`130080`.)" msgstr "" -msgid "" -"Support ``\\z`` as a synonym for ``\\Z`` in :mod:`regular expressions `. " -"It is interpreted unambiguously in many other regular expression engines, " -"unlike ``\\Z``, which has subtly different behavior. (Contributed by Serhiy " -"Storchaka in :gh:`133306`.)" +msgid "Incremental garbage collection" msgstr "" msgid "" -"``\\B`` in :mod:`regular expression ` now matches empty input string. " -"Now it is always the opposite of ``\\b``. (Contributed by Serhiy Storchaka " -"in :gh:`124130`.)" +"The cycle garbage collector is now incremental. This means that maximum " +"pause times are reduced by an order of magnitude or more for larger heaps." msgstr "" msgid "" -"iOS and macOS apps can now be configured to redirect ``stdout`` and " -"``stderr`` content to the system log. (Contributed by Russell Keith-Magee " -"in :gh:`127592`.)" +"There are now only two generations: young and old. When :func:`gc.collect` " +"is not called directly, the GC is invoked a little less frequently. When " +"invoked, it collects the young generation and an increment of the old " +"generation, instead of collecting one or more generations." msgstr "" -msgid "" -"The iOS testbed is now able to stream test output while the test is running. " -"The testbed can also be used to run the test suite of projects other than " -"CPython itself. (Contributed by Russell Keith-Magee in :gh:`127592`.)" +msgid "The behavior of :func:`!gc.collect` changes slightly:" msgstr "" msgid "" -"Three-argument :func:`pow` now tries calling :meth:`~object.__rpow__` if " -"necessary. Previously it was only called in two-argument :func:`!pow` and " -"the binary power operator. (Contributed by Serhiy Storchaka in :gh:`130104`.)" +"``gc.collect(1)``: Performs an increment of garbage collection, rather than " +"collecting generation 1." msgstr "" -msgid "" -"Add a built-in implementation for HMAC (:rfc:`2104`) using formally verified " -"code from the `HACL* `__ project. " -"This implementation is used as a fallback when the OpenSSL implementation of " -"HMAC is not available. (Contributed by Bénédikt Tran in :gh:`99108`.)" +msgid "Other calls to :func:`!gc.collect` are unchanged." msgstr "" -msgid "" -"The import time flag can now track modules that are already loaded " -"('cached'), via the new :option:`-X importtime=2 <-X>`. When such a module " -"is imported, the ``self`` and ``cumulative`` times are replaced by the " -"string ``cached``. Values above ``2`` for ``-X importtime`` are now reserved " -"for future use. (Contributed by Noah Kim and Adam Turner in :gh:`118655`.)" +msgid "(Contributed by Mark Shannon in :gh:`108362`.)" msgstr "" -msgid "" -"When subclassing from a pure C type, the C slots for the new type are no " -"longer replaced with a wrapped version on class creation if they are not " -"explicitly overridden in the subclass. (Contributed by Tomasz Pytel in :gh:" -"`132329`.)" +msgid "Default interactive shell" msgstr "" msgid "" -"The command-line option :option:`-c` now automatically dedents its code " -"argument before execution. The auto-dedentation behavior mirrors :func:" -"`textwrap.dedent`. (Contributed by Jon Crall and Steven Sun in :gh:`103998`.)" +"The default :term:`interactive` shell now highlights Python syntax. The " +"feature is enabled by default, save if :envvar:`PYTHON_BASIC_REPL` or any " +"other environment variable that disables colour is set. See :ref:`using-on-" +"controlling-color` for details." msgstr "" msgid "" -"Improve error message when an object supporting the synchronous context " -"manager protocol is entered using :keyword:`async with` instead of :keyword:" -"`with`. And vice versa with the asynchronous context manager protocol. " -"(Contributed by Bénédikt Tran in :gh:`128398`.)" +"The default color theme for syntax highlighting strives for good contrast " +"and exclusively uses the 4-bit VGA standard ANSI color codes for maximum " +"compatibility. The theme can be customized using an experimental API :func:`!" +"_colorize.set_theme`. This can be called interactively or in the :envvar:" +"`PYTHONSTARTUP` script. Note that this function has no stability guarantees, " +"and may change or be removed." +msgstr "" + +msgid "(Contributed by Łukasz Langa in :gh:`131507`.)" msgstr "" msgid "" -":option:`!-J` is no longer a reserved flag for Jython_, and now has no " -"special meaning. (Contributed by Adam Turner in :gh:`133336`.)" +"The default :term:`interactive` shell now supports import auto-completion. " +"This means that typing ``import co`` and pressing :kbd:`` will suggest " +"modules starting with ``co``. Similarly, typing ``from concurrent import i`` " +"will suggest submodules of ``concurrent`` starting with ``i``. Note that " +"autocompletion of module attributes is not currently supported. (Contributed " +"by Tomas Roun in :gh:`69605`.)" msgstr "" +msgid "New modules" +msgstr "Nowe moduły" + msgid "" -"PEP 765: Disallow ``return``/``break``/``continue`` that exit a ``finally`` " -"block" +":mod:`annotationlib`: For introspecting :term:`annotations `. " +"See :ref:`PEP 749 ` for more details. " +"(Contributed by Jelle Zijlstra in :gh:`119180`.)" msgstr "" msgid "" -"The compiler emits a :exc:`SyntaxWarning` when a :keyword:`return`, :keyword:" -"`break` or :keyword:`continue` statements appears where it exits a :keyword:" -"`finally` block. This change is specified in :pep:`765`." +":mod:`compression` (including :mod:`compression.zstd`): A package for " +"compression-related modules, including a new module to support the Zstandard " +"compression format. See :ref:`PEP 784 ` for more " +"details. (Contributed by Emma Harper Smith, Adam Turner, Gregory P. Smith, " +"Tomas Roun, Victor Stinner, and Rogdham in :gh:`132983`.)" msgstr "" -msgid "New modules" -msgstr "Nowe moduły" +msgid "" +":mod:`concurrent.interpreters`: Support for multiple interpreters in the " +"standard library. See :ref:`PEP 734 ` for " +"more details. (Contributed by Eric Snow in :gh:`134939`.)" +msgstr "" msgid "" -":mod:`annotationlib`: For introspecting :term:`annotations `. " -"See :pep:`749` for more details. (Contributed by Jelle Zijlstra in :gh:" -"`119180`.)" +":mod:`string.templatelib`: Support for template string literals (t-strings). " +"See :ref:`PEP 750 ` for more details. " +"(Contributed by Jim Baker, Guido van Rossum, Paul Everitt, Koudai Aono, " +"Lysandros Nikolaou, Dave Peck, Adam Turner, Jelle Zijlstra, Bénédikt Tran, " +"and Pablo Galindo Salgado in :gh:`132661`.)" msgstr "" msgid "Improved modules" @@ -1244,19 +1268,18 @@ msgid "" msgstr "" msgid "" -"Introduced the optional *color* parameter to :class:`argparse." -"ArgumentParser`, enabling color for help text. This can be controlled by :" -"ref:`environment variables `. Color has also " -"been enabled for help in the :ref:`stdlib CLIs ` which use :" -"mod:`!argparse`. (Contributed by Hugo van Kemenade in :gh:`130645`.)" +"Enable color for help text, which can be disabled with the optional *color* " +"parameter to :class:`argparse.ArgumentParser`. This can also be controlled " +"by :ref:`environment variables `. (Contributed " +"by Hugo van Kemenade in :gh:`130645`.)" msgstr "" msgid "ast" msgstr "" msgid "" -"Add :func:`ast.compare` for comparing two ASTs. (Contributed by Batuhan " -"Taskaya and Jeremy Hylton in :gh:`60191`.)" +"Add :func:`~ast.compare`, a function for comparing two ASTs. (Contributed by " +"Batuhan Taskaya and Jeremy Hylton in :gh:`60191`.)" msgstr "" msgid "" @@ -1270,27 +1293,50 @@ msgid "" msgstr "" msgid "" -"The ``repr()`` output for AST nodes now includes more information. " +"The :func:`repr` output for AST nodes now includes more information. " "(Contributed by Tomas Roun in :gh:`116022`.)" msgstr "" msgid "" -":func:`ast.parse`, when called with an AST as input, now always verifies " -"that the root node type is appropriate. (Contributed by Irit Katriel in :gh:" -"`130139`.)" +"When called with an AST as input, the :func:`~ast.parse` function now always " +"verifies that the root node type is appropriate. (Contributed by Irit " +"Katriel in :gh:`130139`.)" msgstr "" msgid "" -"Add new ``--feature-version``, ``--optimize``, ``--show-empty`` options to " -"command-line interface. (Contributed by Semyon Moroz in :gh:`133367`.)" +"Add new options to the command-line interface: :option:`--feature-version " +"`, :option:`--optimize `, and :option:" +"`--show-empty `. (Contributed by Semyon Moroz in :gh:" +"`133367`.)" msgstr "" -msgid "bdb" +msgid "asyncio" +msgstr "" + +msgid "" +"The function and methods named :func:`!create_task` now take an arbitrary " +"list of keyword arguments. All keyword arguments are passed to the :class:" +"`~asyncio.Task` constructor or the custom task factory. (See :meth:`~asyncio." +"loop.set_task_factory` for details.) The ``name`` and ``context`` keyword " +"arguments are no longer special; the name should now be set using the " +"``name`` keyword argument of the factory, and ``context`` may be ``None``." +msgstr "" + +msgid "" +"This affects the following function and methods: :meth:`asyncio." +"create_task`, :meth:`asyncio.loop.create_task`, :meth:`asyncio.TaskGroup." +"create_task`." +msgstr "" + +msgid "(Contributed by Thomas Grainger in :gh:`128307`.)" msgstr "" msgid "" -"The :mod:`bdb` module now supports the :mod:`sys.monitoring` backend. " -"(Contributed by Tian Gao in :gh:`124533`.)" +"There are two new utility functions for introspecting and printing a " +"program's call graph: :func:`~asyncio.capture_call_graph` and :func:" +"`~asyncio.print_call_graph`. See :ref:`Asyncio introspection capabilities " +"` for more details. (Contributed by Yury " +"Selivanov, Pablo Galindo Salgado, and Łukasz Langa in :gh:`91048`.)" msgstr "" msgid "calendar" @@ -1307,18 +1353,25 @@ msgid "concurrent.futures" msgstr "" msgid "" -"Add :class:`~concurrent.futures.InterpreterPoolExecutor`, which exposes " -"\"subinterpreters\" (multiple Python interpreters in the same process) to " -"Python code. This is separate from the proposed API in :pep:`734`. " +"Add a new executor class, :class:`~concurrent.futures." +"InterpreterPoolExecutor`, which exposes multiple Python interpreters in the " +"same process ('subinterpreters') to Python code. This uses a pool of " +"independent Python interpreters to execute calls asynchronously." +msgstr "" + +msgid "" +"This is separate from the new :mod:`~concurrent.interpreters` module " +"introduced by :ref:`PEP 734 `. " "(Contributed by Eric Snow in :gh:`124548`.)" msgstr "" msgid "" -"The default :class:`~concurrent.futures.ProcessPoolExecutor` :ref:`start " -"method ` changed from :ref:`fork " -"` to :ref:`forkserver ` on platforms other than macOS and Windows where it " -"was already :ref:`spawn `." +"On Unix platforms other than macOS, :ref:`'forkserver' ` is now the default :ref:`start method " +"` for :class:`~concurrent.futures." +"ProcessPoolExecutor` (replacing :ref:`'fork' `). This change does not affect Windows or macOS, where :ref:`'spawn' " +"` remains the default start method." msgstr "" msgid "" @@ -1338,26 +1391,38 @@ msgid "(Contributed by Gregory P. Smith in :gh:`84559`.)" msgstr "" msgid "" -"Add :meth:`concurrent.futures.ProcessPoolExecutor.terminate_workers` and :" -"meth:`concurrent.futures.ProcessPoolExecutor.kill_workers` as ways to " -"terminate or kill all living worker processes in the given pool. " -"(Contributed by Charles Machalow in :gh:`130849`.)" +"Add two new methods to :class:`~concurrent.futures.ProcessPoolExecutor`, :" +"meth:`~concurrent.futures.ProcessPoolExecutor.terminate_workers` and :meth:" +"`~concurrent.futures.ProcessPoolExecutor.kill_workers`, as ways to terminate " +"or kill all living worker processes in the given pool. (Contributed by " +"Charles Machalow in :gh:`130849`.)" +msgstr "" + +msgid "" +"Add the optional *buffersize* parameter to :meth:`Executor.map ` to limit the number of submitted tasks whose results " +"have not yet been yielded. If the buffer is full, iteration over the " +"*iterables* pauses until a result is yielded from the buffer. (Contributed " +"by Enzo Bonnal and Josh Rosenberg in :gh:`74028`.)" +msgstr "" + +msgid "configparser" msgstr "" msgid "" -"Add the optional ``buffersize`` parameter to :meth:`concurrent.futures." -"Executor.map` to limit the number of submitted tasks whose results have not " -"yet been yielded. If the buffer is full, iteration over the *iterables* " -"pauses until a result is yielded from the buffer. (Contributed by Enzo " -"Bonnal and Josh Rosenberg in :gh:`74028`.)" +":mod:`!configparser` will no longer write config files it cannot read, to " +"improve security. Attempting to :meth:`~configparser.ConfigParser.write` " +"keys containing delimiters or beginning with the section header pattern will " +"raise an :class:`~configparser.InvalidWriteError`. (Contributed by Jacob " +"Lincoln in :gh:`129270`.)" msgstr "" msgid "contextvars" msgstr "" msgid "" -"Support context manager protocol by :class:`contextvars.Token`. (Contributed " -"by Andrew Svetlov in :gh:`129889`.)" +"Support the :term:`context manager` protocol for :class:`~contextvars.Token` " +"objects. (Contributed by Andrew Svetlov in :gh:`129889`.)" msgstr "" msgid "ctypes" @@ -1365,9 +1430,9 @@ msgstr "" msgid "" "The layout of :ref:`bit fields ` in :" -"class:`~ctypes.Structure` and :class:`~ctypes.Union` now matches platform " -"defaults (GCC/Clang or MSVC) more closely. In particular, fields no longer " -"overlap. (Contributed by Matthias Görgens in :gh:`97702`.)" +"class:`~ctypes.Structure` and :class:`~ctypes.Union` objects is now a closer " +"match to platform defaults (GCC/Clang or MSVC). In particular, fields no " +"longer overlap. (Contributed by Matthias Görgens in :gh:`97702`.)" msgstr "" msgid "" @@ -1393,16 +1458,17 @@ msgid "" msgstr "" msgid "" -":func:`ctypes.memoryview_at` now exists to create a :class:`memoryview` " -"object that refers to the supplied pointer and length. This works like :func:" -"`ctypes.string_at` except it avoids a buffer copy, and is typically useful " -"when implementing pure Python callback functions that are passed dynamically-" -"sized buffers. (Contributed by Rian Hunter in :gh:`112018`.)" +"Add :func:`~ctypes.memoryview_at`, a function to create a :class:" +"`memoryview` object that refers to the supplied pointer and length. This " +"works like :func:`ctypes.string_at` except it avoids a buffer copy, and is " +"typically useful when implementing pure Python callback functions that are " +"passed dynamically-sized buffers. (Contributed by Rian Hunter in :gh:" +"`112018`.)" msgstr "" msgid "" "Complex types, :class:`~ctypes.c_float_complex`, :class:`~ctypes." -"c_double_complex` and :class:`~ctypes.c_longdouble_complex`, are now " +"c_double_complex`, and :class:`~ctypes.c_longdouble_complex`, are now " "available if both the compiler and the ``libffi`` library support complex C " "types. (Contributed by Sergey B Kirpichev in :gh:`61103`.)" msgstr "" @@ -1414,23 +1480,28 @@ msgstr "" msgid "" "Move :func:`ctypes.POINTER` types cache from a global internal cache " -"(``_pointer_type_cache``) to the :attr:`ctypes._CData.__pointer_type__` " -"attribute of the corresponding :mod:`ctypes` types. This will stop the cache " -"from growing without limits in some situations. (Contributed by Sergey " -"Miryanov in :gh:`100926`.)" +"(``_pointer_type_cache``) to the :attr:`_CData.__pointer_type__ ` attribute of the corresponding :mod:`!ctypes` " +"types. This will stop the cache from growing without limits in some " +"situations. (Contributed by Sergey Miryanov in :gh:`100926`.)" msgstr "" msgid "" -"The :class:`ctypes.py_object` type now supports subscription, making it a :" +"The :class:`~ctypes.py_object` type now supports subscription, making it a :" "term:`generic type`. (Contributed by Brian Schubert in :gh:`132168`.)" msgstr "" +msgid "" +":mod:`!ctypes` now supports :term:`free-threading builds `. " +"(Contributed by Kumar Aditya and Peter Bierma in :gh:`127945`.)" +msgstr "" + msgid "curses" msgstr "" msgid "" "Add the :func:`~curses.assume_default_colors` function, a refinement of the :" -"func:`~curses.use_default_colors` function which allows to change the color " +"func:`~curses.use_default_colors` function which allows changing the color " "pair ``0``. (Contributed by Serhiy Storchaka in :gh:`133139`.)" msgstr "" @@ -1438,21 +1509,21 @@ msgid "datetime" msgstr "" msgid "" -"Add :meth:`datetime.time.strptime` and :meth:`datetime.date.strptime`. " -"(Contributed by Wannes Boeykens in :gh:`41431`.)" +"Add the :meth:`~datetime.date.strptime` method to the :class:`datetime.date` " +"and :class:`datetime.time` classes. (Contributed by Wannes Boeykens in :gh:" +"`41431`.)" msgstr "" msgid "decimal" msgstr "" msgid "" -"Add alternative :class:`~decimal.Decimal` constructor :meth:`Decimal." -"from_number() `. (Contributed by Serhiy " -"Storchaka in :gh:`121798`.)" +"Add :meth:`.Decimal.from_number` as an alternative constructor for :class:" +"`~decimal.Decimal`. (Contributed by Serhiy Storchaka in :gh:`121798`.)" msgstr "" msgid "" -"Expose :func:`decimal.IEEEContext` to support creation of contexts " +"Expose :func:`~decimal.IEEEContext` to support creation of contexts " "corresponding to the IEEE 754 (2008) decimal interchange formats. " "(Contributed by Sergey B Kirpichev in :gh:`53032`.)" msgstr "" @@ -1461,8 +1532,8 @@ msgid "difflib" msgstr "" msgid "" -"Comparison pages with highlighted changes generated by the :class:`difflib." -"HtmlDiff` class now support dark mode. (Contributed by Jiahao Li in :gh:" +"Comparison pages with highlighted changes generated by the :class:`~difflib." +"HtmlDiff` class now support 'dark mode'. (Contributed by Jiahao Li in :gh:" "`129939`.)" msgstr "" @@ -1477,16 +1548,16 @@ msgid "" msgstr "" msgid ":class:`dis.Bytecode`" -msgstr "" +msgstr ":class:`dis.Bytecode`" msgid ":func:`dis.dis`" -msgstr "" +msgstr ":func:`dis.dis`" msgid ":func:`dis.distb`" -msgstr "" +msgstr ":func:`dis.distb`" msgid ":func:`dis.disassemble`" -msgstr "" +msgstr ":func:`dis.disassemble`" msgid "" "This feature is also exposed via :option:`dis --show-positions`. " @@ -1502,8 +1573,8 @@ msgid "errno" msgstr "" msgid "" -"Add :data:`errno.EHWPOISON` error code. (Contributed by James Roy in :gh:" -"`126585`.)" +"Add the :data:`~errno.EHWPOISON` error code constant. (Contributed by James " +"Roy in :gh:`126585`.)" msgstr "" msgid "faulthandler" @@ -1511,45 +1582,46 @@ msgstr "" msgid "" "Add support for printing the C stack trace on systems that :ref:`support it " -"` via :func:`faulthandler.dump_c_stack` or via the " -"*c_stack* argument in :func:`faulthandler.enable`. (Contributed by Peter " -"Bierma in :gh:`127604`.)" +"` via the new :func:`~faulthandler.dump_c_stack` " +"function or via the *c_stack* argument in :func:`faulthandler.enable`. " +"(Contributed by Peter Bierma in :gh:`127604`.)" msgstr "" msgid "fnmatch" msgstr "" msgid "" -"Added :func:`fnmatch.filterfalse` for excluding names matching a pattern. " -"(Contributed by Bénédikt Tran in :gh:`74598`.)" +"Add :func:`~fnmatch.filterfalse`, a function to reject names matching a " +"given pattern. (Contributed by Bénédikt Tran in :gh:`74598`.)" msgstr "" msgid "fractions" msgstr "" msgid "" -"Add support for converting any objects that have the :meth:`!" -"as_integer_ratio` method to a :class:`~fractions.Fraction`. (Contributed by " -"Serhiy Storchaka in :gh:`82017`.)" +"A :class:`~fractions.Fraction` object may now be constructed from any object " +"with the :meth:`!as_integer_ratio` method. (Contributed by Serhiy Storchaka " +"in :gh:`82017`.)" msgstr "" msgid "" -"Add alternative :class:`~fractions.Fraction` constructor :meth:`Fraction." -"from_number() `. (Contributed by Serhiy " -"Storchaka in :gh:`121797`.)" +"Add :meth:`.Fraction.from_number` as an alternative constructor for :class:" +"`~fractions.Fraction`. (Contributed by Serhiy Storchaka in :gh:`121797`.)" msgstr "" msgid "functools" msgstr "" msgid "" -"Add support to :func:`functools.partial` and :func:`functools.partialmethod` " -"for :data:`functools.Placeholder` sentinels to reserve a place for " -"positional arguments. (Contributed by Dominykas Grigonis in :gh:`119127`.)" +"Add the :data:`~functools.Placeholder` sentinel. This may be used with the :" +"func:`~functools.partial` or :func:`~functools.partialmethod` functions to " +"reserve a place for positional arguments in the returned :ref:`partial " +"object `. (Contributed by Dominykas Grigonis in :gh:" +"`119127`.)" msgstr "" msgid "" -"Allow the *initial* parameter of :func:`functools.reduce` to be passed as a " +"Allow the *initial* parameter of :func:`~functools.reduce` to be passed as a " "keyword argument. (Contributed by Sayandip Dutta in :gh:`125916`.)" msgstr "" @@ -1570,40 +1642,41 @@ msgid "getpass" msgstr "" msgid "" -"Support keyboard feedback by :func:`getpass.getpass` via the keyword-only " -"optional argument ``echo_char``. Placeholder characters are rendered " -"whenever a character is entered, and removed when a character is deleted. " -"(Contributed by Semyon Moroz in :gh:`77065`.)" +"Support keyboard feedback in the :func:`~getpass.getpass` function via the " +"keyword-only optional argument *echo_char*. Placeholder characters are " +"rendered whenever a character is entered, and removed when a character is " +"deleted. (Contributed by Semyon Moroz in :gh:`77065`.)" msgstr "" msgid "graphlib" msgstr "" msgid "" -"Allow :meth:`graphlib.TopologicalSorter.prepare` to be called more than once " -"as long as sorting has not started. (Contributed by Daniel Pope in :gh:" -"`130914`.)" +"Allow :meth:`.TopologicalSorter.prepare` to be called more than once as long " +"as sorting has not started. (Contributed by Daniel Pope in :gh:`130914`.)" msgstr "" msgid "heapq" msgstr "" -msgid "Add functions for working with max-heaps:" +msgid "" +"The :mod:`!heapq` module has improved support for working with max-heaps, " +"via the following new functions:" msgstr "" -msgid ":func:`heapq.heapify_max`," +msgid ":func:`~heapq.heapify_max`" msgstr "" -msgid ":func:`heapq.heappush_max`," +msgid ":func:`~heapq.heappush_max`" msgstr "" -msgid ":func:`heapq.heappop_max`," +msgid ":func:`~heapq.heappop_max`" msgstr "" -msgid ":func:`heapq.heapreplace_max`" +msgid ":func:`~heapq.heapreplace_max`" msgstr "" -msgid ":func:`heapq.heappushpop_max`" +msgid ":func:`~heapq.heappushpop_max`" msgstr "" msgid "hmac" @@ -1612,7 +1685,8 @@ msgstr "" msgid "" "Add a built-in implementation for HMAC (:rfc:`2104`) using formally verified " "code from the `HACL* `__ project. " -"(Contributed by Bénédikt Tran in :gh:`99108`.)" +"This implementation is used as a fallback when the OpenSSL implementation of " +"HMAC is not available. (Contributed by Bénédikt Tran in :gh:`99108`.)" msgstr "" msgid "http" @@ -1631,15 +1705,19 @@ msgid "" "options:" msgstr "" -msgid "``--tls-cert ``: Path to the TLS certificate file." +msgid "" +":option:`--tls-cert \\ `: Path to the TLS " +"certificate file." msgstr "" -msgid "``--tls-key ``: Optional path to the private key file." +msgid "" +":option:`--tls-key \\ `: Optional path to the " +"private key file." msgstr "" msgid "" -"``--tls-password-file ``: Optional path to the password file for the " -"private key." +":option:`--tls-password-file \\ `: " +"Optional path to the password file for the private key." msgstr "" msgid "(Contributed by Semyon Moroz in :gh:`85162`.)" @@ -1649,28 +1727,27 @@ msgid "imaplib" msgstr "" msgid "" -"Add :meth:`IMAP4.idle() `, implementing the IMAP4 " -"``IDLE`` command as defined in :rfc:`2177`. (Contributed by Forest in :gh:" -"`55454`.)" +"Add :meth:`.IMAP4.idle`, implementing the IMAP4 ``IDLE`` command as defined " +"in :rfc:`2177`. (Contributed by Forest in :gh:`55454`.)" msgstr "" msgid "inspect" msgstr "" msgid "" -":func:`inspect.signature` takes a new argument *annotation_format* to " +":func:`~inspect.signature` takes a new argument *annotation_format* to " "control the :class:`annotationlib.Format` used for representing annotations. " "(Contributed by Jelle Zijlstra in :gh:`101552`.)" msgstr "" msgid "" -":meth:`inspect.Signature.format` takes a new argument *unquote_annotations*. " -"If true, string :term:`annotations ` are displayed without " +":meth:`.Signature.format` takes a new argument *unquote_annotations*. If " +"true, string :term:`annotations ` are displayed without " "surrounding quotes. (Contributed by Jelle Zijlstra in :gh:`101552`.)" msgstr "" msgid "" -"Add function :func:`inspect.ispackage` to determine whether an object is a :" +"Add function :func:`~inspect.ispackage` to determine whether an object is a :" "term:`package` or not. (Contributed by Zhikang Yan in :gh:`125634`.)" msgstr "" @@ -1684,7 +1761,7 @@ msgid "" msgstr "" msgid "" -"Add protocols :class:`io.Reader` and :class:`io.Writer` as a simpler " +"Add the :class:`~io.Reader` and :class:`~io.Writer` protocols as simpler " "alternatives to the pseudo-protocols :class:`typing.IO`, :class:`typing." "TextIO`, and :class:`typing.BinaryIO`. (Contributed by Sebastian Rittau in :" "gh:`127648`.)" @@ -1694,15 +1771,16 @@ msgid "json" msgstr "json" msgid "" -"Add notes for JSON serialization errors that allow to identify the source of " -"the error. (Contributed by Serhiy Storchaka in :gh:`122163`.)" +"Add exception notes for JSON serialization errors that allow identifying the " +"source of the error. (Contributed by Serhiy Storchaka in :gh:`122163`.)" msgstr "" msgid "" -"Enable the :mod:`json` module to work as a script using the :option:`-m` " -"switch: :program:`python -m json`. See the :ref:`JSON command-line interface " -"` documentation. (Contributed by Trey Hunner in :gh:" -"`122873`.)" +"Allow using the :mod:`json` module as a script using the :option:`-m` " +"switch: :program:`python -m json`. This is now preferred to :program:`python " +"-m json.tool`, which is :term:`soft deprecated`. See the :ref:`JSON command-" +"line interface ` documentation. (Contributed by Trey " +"Hunner in :gh:`122873`.)" msgstr "" msgid "" @@ -1716,7 +1794,7 @@ msgid "linecache" msgstr "" msgid "" -":func:`linecache.getline` can retrieve source code for frozen modules. " +":func:`~linecache.getline` can now retrieve source code for frozen modules. " "(Contributed by Tian Gao in :gh:`131638`.)" msgstr "" @@ -1724,9 +1802,9 @@ msgid "logging.handlers" msgstr "" msgid "" -":class:`logging.handlers.QueueListener` now implements the context manager " -"protocol, allowing it to be used in a :keyword:`with` statement. " -"(Contributed by Charles Machalow in :gh:`132106`.)" +":class:`~logging.handlers.QueueListener` objects now support the :term:" +"`context manager` protocol. (Contributed by Charles Machalow in :gh:" +"`132106`.)" msgstr "" msgid "" @@ -1740,21 +1818,22 @@ msgstr "" msgid "" "Added more detailed error messages for domain errors in the module. " -"(Contributed by by Charlie Zhao and Sergey B Kirpichev in :gh:`101410`.)" +"(Contributed by Charlie Zhao and Sergey B Kirpichev in :gh:`101410`.)" msgstr "" msgid "mimetypes" msgstr "" msgid "" -"Document the command-line for :mod:`mimetypes`. It now exits with ``1`` on " -"failure instead of ``0`` and ``2`` on incorrect command-line parameters " -"instead of ``1``. Also, errors are printed to stderr instead of stdout and " -"their text is made tighter. (Contributed by Oleg Iarygin and Hugo van " -"Kemenade in :gh:`93096`.)" +"Add a public :ref:`command-line ` for the module, invoked " +"via :program:`python -m mimetypes`. (Contributed by Oleg Iarygin and Hugo " +"van Kemenade in :gh:`93096`.)" +msgstr "" + +msgid "Add several new MIME types based on RFCs and common usage:" msgstr "" -msgid "Add MS and :rfc:`8081` MIME types for fonts:" +msgid "Microsoft and :rfc:`8081` MIME types for fonts" msgstr "" msgid "Embedded OpenType: ``application/vnd.ms-fontobject``" @@ -1772,12 +1851,8 @@ msgstr "" msgid "WOFF 2.0 ``font/woff2``" msgstr "" -msgid "(Contributed by Sahil Prajapati and Hugo van Kemenade in :gh:`84852`.)" -msgstr "" - msgid "" -"Add :rfc:`9559` MIME types for Matroska audiovisual data container " -"structures, containing:" +":rfc:`9559` MIME types for Matroska audiovisual data container structures" msgstr "" msgid "audio with no video: ``audio/matroska`` (``.mka``)" @@ -1789,10 +1864,7 @@ msgstr "" msgid "stereoscopic video: ``video/matroska-3d`` (``.mk3d``)" msgstr "" -msgid "(Contributed by Hugo van Kemenade in :gh:`89416`.)" -msgstr "" - -msgid "Add MIME types for images with RFCs:" +msgid "Images with RFCs" msgstr "" msgid ":rfc:`1494`: CCITT Group 3 (``.g3``)" @@ -1816,10 +1888,7 @@ msgid "" ":rfc:`7903`: Enhanced Metafile (``.emf``) and Windows Metafile (``.wmf``)" msgstr "" -msgid "(Contributed by Hugo van Kemenade in :gh:`85957`.)" -msgstr "" - -msgid "More MIME type changes:" +msgid "Other MIME type additions and changes" msgstr "" msgid "" @@ -1839,6 +1908,11 @@ msgstr "" msgid ":rfc:`9639`: Add FLAC ``audio/flac`` (``.flac``)" msgstr "" +msgid "" +":rfc:`9512` ``application/yaml`` MIME type for YAML files (``.yaml`` and ``." +"yml``)" +msgstr "" + msgid "Add 7z ``application/x-7z-compressed`` (``.7z``)" msgstr "" @@ -1893,38 +1967,36 @@ msgid "" "``application/epub+zip`` (``.epub``)" msgstr "" -msgid "(Contributed by Hugo van Kemenade in :gh:`129965`.)" -msgstr "" - msgid "" -"Add :rfc:`9512` ``application/yaml`` MIME type for YAML files (``.yaml`` and " -"``.yml``). (Contributed by Sasha \"Nelie\" Chernykh and Hugo van Kemenade " -"in :gh:`132056`.)" +"(Contributed by Sahil Prajapati and Hugo van Kemenade in :gh:`84852`, by " +"Sasha \"Nelie\" Chernykh and Hugo van Kemenade in :gh:`132056`, and by Hugo " +"van Kemenade in :gh:`89416`, :gh:`85957`, and :gh:`129965`.)" msgstr "" msgid "multiprocessing" msgstr "" msgid "" -"The default :ref:`start method ` changed " -"from :ref:`fork ` to :ref:`forkserver " -"` on platforms other than macOS and " -"Windows where it was already :ref:`spawn `." +"On Unix platforms other than macOS, :ref:`'forkserver' ` is now the default :ref:`start method " +"` (replacing :ref:`'fork' `). This change does not affect Windows or macOS, where :" +"ref:`'spawn' ` remains the default start " +"method." msgstr "" msgid "" "If the threading incompatible *fork* method is required, you must explicitly " -"request it via a context from :func:`multiprocessing.get_context` " -"(preferred) or change the default via :func:`multiprocessing." +"request it via a context from :func:`~multiprocessing.get_context` " +"(preferred) or change the default via :func:`~multiprocessing." "set_start_method`." msgstr "" msgid "" -":mod:`multiprocessing`'s ``\"forkserver\"`` start method now authenticates " -"its control socket to avoid solely relying on filesystem permissions to " -"restrict what other processes could cause the forkserver to spawn workers " -"and run code. (Contributed by Gregory P. Smith for :gh:`97514`.)" +":mod:`multiprocessing`'s ``'forkserver'`` start method now authenticates its " +"control socket to avoid solely relying on filesystem permissions to restrict " +"what other processes could cause the forkserver to spawn workers and run " +"code. (Contributed by Gregory P. Smith for :gh:`97514`.)" msgstr "" msgid "" @@ -1944,26 +2016,26 @@ msgid "(Contributed by Roy Hyunjin Han for :gh:`103134`.)" msgstr "" msgid "" -"Add support for shared :class:`set` objects via :meth:`SyncManager.set() " -"`. The :func:`set` in :func:" -"`multiprocessing.Manager` method is now available. (Contributed by Mingyu " -"Park in :gh:`129949`.)" +"Add support for shared :class:`set` objects via :meth:`.SyncManager.set`. " +"The :func:`set` in :func:`~multiprocessing.Manager` method is now available. " +"(Contributed by Mingyu Park in :gh:`129949`.)" msgstr "" msgid "" -"Add :func:`multiprocessing.Process.interrupt` which terminates the child " -"process by sending :py:const:`~signal.SIGINT`. This enables :keyword:" -"`finally` clauses to print a stack trace for the terminated process. " -"(Contributed by Artem Pulkin in :gh:`131913`.)" +"Add the :meth:`~multiprocessing.Process.interrupt` to :class:" +"`multiprocessing.Process` objects, which terminates the child process by " +"sending :py:const:`~signal.SIGINT`. This enables :keyword:`finally` clauses " +"to print a stack trace for the terminated process. (Contributed by Artem " +"Pulkin in :gh:`131913`.)" msgstr "" msgid "operator" msgstr "" msgid "" -"Two new functions :func:`operator.is_none` and :func:`operator.is_not_none` " -"have been added, such that ``operator.is_none(obj)`` is equivalent to ``obj " -"is None`` and ``operator.is_not_none(obj)`` is equivalent to ``obj is not " +"Add :func:`~operator.is_none` and :func:`~operator.is_not_none` as a pair of " +"functions, such that ``operator.is_none(obj)`` is equivalent to ``obj is " +"None`` and ``operator.is_not_none(obj)`` is equivalent to ``obj is not " "None``. (Contributed by Raymond Hettinger and Nico Mexis in :gh:`115808`.)" msgstr "" @@ -1971,23 +2043,34 @@ msgid "os" msgstr "" msgid "" -"Add the :func:`os.reload_environ` function to update :data:`os.environ` and :" -"data:`os.environb` with changes to the environment made by :func:`os." +"Add the :func:`~os.reload_environ` function to update :data:`os.environ` " +"and :data:`os.environb` with changes to the environment made by :func:`os." "putenv`, by :func:`os.unsetenv`, or made outside Python in the same process. " "(Contributed by Victor Stinner in :gh:`120057`.)" msgstr "" msgid "" "Add the :data:`~os.SCHED_DEADLINE` and :data:`~os.SCHED_NORMAL` constants to " -"the :mod:`os` module. (Contributed by James Roy in :gh:`127688`.)" +"the :mod:`!os` module. (Contributed by James Roy in :gh:`127688`.)" msgstr "" msgid "" -"Add the :func:`os.readinto` function to read into a :ref:`buffer object " +"Add the :func:`~os.readinto` function to read into a :ref:`buffer object " "` from a file descriptor. (Contributed by Cody Maloney in :gh:" "`129205`.)" msgstr "" +msgid "os.path" +msgstr "" + +msgid "" +"The *strict* parameter to :func:`~os.path.realpath` accepts a new value, :" +"data:`~os.path.ALLOW_MISSING`. If used, errors other than :exc:" +"`FileNotFoundError` will be re-raised; the resulting path can be missing but " +"it will be free of symlinks. (Contributed by Petr Viktorin for :cve:" +"`2025-4517`.)" +msgstr "" + msgid "pathlib" msgstr "" @@ -2014,24 +2097,49 @@ msgid "(Contributed by Barney Gale in :gh:`73991`.)" msgstr "" msgid "" -"Add :attr:`pathlib.Path.info` attribute, which stores an object implementing " -"the :class:`pathlib.types.PathInfo` protocol (also new). The object supports " -"querying the file type and internally caching :func:`~os.stat` results. Path " -"objects generated by :meth:`~pathlib.Path.iterdir` are initialized with file " -"type information gleaned from scanning the parent directory. (Contributed by " -"Barney Gale in :gh:`125413`.)" +"Add the :attr:`~pathlib.Path.info` attribute, which stores an object " +"implementing the new :class:`pathlib.types.PathInfo` protocol. The object " +"supports querying the file type and internally caching :func:`~os.stat` " +"results. Path objects generated by :meth:`~pathlib.Path.iterdir` are " +"initialized with file type information gleaned from scanning the parent " +"directory. (Contributed by Barney Gale in :gh:`125413`.)" msgstr "" msgid "pdb" msgstr "" msgid "" -"Hardcoded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace`) now " -"reuse the most recent :class:`~pdb.Pdb` instance that calls :meth:`~pdb.Pdb." -"set_trace`, instead of creating a new one each time. As a result, all the " -"instance specific data like :pdbcmd:`display` and :pdbcmd:`commands` are " -"preserved across hardcoded breakpoints. (Contributed by Tian Gao in :gh:" -"`121450`.)" +"The :mod:`pdb` module now supports remote attaching to a running Python " +"process using a new :option:`-p PID ` command-line option:" +msgstr "" + +msgid "python -m pdb -p 1234" +msgstr "" + +msgid "" +"This will connect to the Python process with the given PID and allow you to " +"debug it interactively. Notice that due to how the Python interpreter works " +"attaching to a remote process that is blocked in a system call or waiting " +"for I/O will only work once the next bytecode instruction is executed or " +"when the process receives a signal." +msgstr "" + +msgid "" +"This feature uses :ref:`PEP 768 ` and the new :" +"func:`sys.remote_exec` function to attach to the remote process and send the " +"PDB commands to it." +msgstr "" + +msgid "(Contributed by Matt Wozniski and Pablo Galindo in :gh:`131591`.)" +msgstr "" + +msgid "" +"Hardcoded breakpoints (:func:`breakpoint` and :func:`~pdb.set_trace`) now " +"reuse the most recent :class:`~pdb.Pdb` instance that calls :meth:`~pdb.Pdb." +"set_trace`, instead of creating a new one each time. As a result, all the " +"instance specific data like :pdbcmd:`display` and :pdbcmd:`commands` are " +"preserved across hardcoded breakpoints. (Contributed by Tian Gao in :gh:" +"`121450`.)" msgstr "" msgid "" @@ -2070,14 +2178,6 @@ msgid "" "(Contributed by Tian Gao in :gh:`124367`.)" msgstr "" -msgid "" -":mod:`pdb` now supports two backends: :func:`sys.settrace` and :mod:`sys." -"monitoring`. Using :mod:`pdb` CLI or :func:`breakpoint` will always use the :" -"mod:`sys.monitoring` backend. Explicitly instantiating :class:`pdb.Pdb` and " -"its derived classes will use the :func:`sys.settrace` backend by default, " -"which is configurable. (Contributed by Tian Gao in :gh:`124533`.)" -msgstr "" - msgid "" ":func:`pdb.set_trace_async` is added to support debugging asyncio " "coroutines. :keyword:`await` statements are supported with this function. " @@ -2086,9 +2186,9 @@ msgstr "" msgid "" "Source code displayed in :mod:`pdb` will be syntax-highlighted. This feature " -"can be controlled using the same methods as PyREPL, in addition to the newly " -"added ``colorize`` argument of :class:`pdb.Pdb`. (Contributed by Tian Gao " -"and Łukasz Langa in :gh:`133355`.)" +"can be controlled using the same methods as the default :term:`interactive` " +"shell, in addition to the newly added ``colorize`` argument of :class:`pdb." +"Pdb`. (Contributed by Tian Gao and Łukasz Langa in :gh:`133355`.)" msgstr "" msgid "pickle" @@ -2100,16 +2200,17 @@ msgid "" msgstr "" msgid "" -"Add notes for pickle serialization errors that allow to identify the source " -"of the error. (Contributed by Serhiy Storchaka in :gh:`122213`.)" +"Add exception notes for pickle serialization errors that allow identifying " +"the source of the error. (Contributed by Serhiy Storchaka in :gh:`122213`.)" msgstr "" msgid "platform" msgstr "" msgid "" -"Add :func:`platform.invalidate_caches` to invalidate the cached results. " -"(Contributed by Bénédikt Tran in :gh:`122549`.)" +"Add :func:`~platform.invalidate_caches`, a function to invalidate cached " +"results in the :mod:`!platform` module. (Contributed by Bénédikt Tran in :gh:" +"`122549`.)" msgstr "" msgid "pydoc" @@ -2121,6 +2222,22 @@ msgid "" "Zijlstra in :gh:`101552`.)" msgstr "" +msgid "re" +msgstr "" + +msgid "" +"Support ``\\z`` as a synonym for ``\\Z`` in :mod:`regular expressions `. " +"It is interpreted unambiguously in many other regular expression engines, " +"unlike ``\\Z``, which has subtly different behavior. (Contributed by Serhiy " +"Storchaka in :gh:`133306`.)" +msgstr "" + +msgid "" +"``\\B`` in :mod:`regular expression ` now matches the empty input " +"string, meaning that it is now always the opposite of ``\\b``. (Contributed " +"by Serhiy Storchaka in :gh:`124130`.)" +msgstr "" + msgid "socket" msgstr "" @@ -2170,9 +2287,9 @@ msgid "ssl" msgstr "" msgid "" -"Indicate through :data:`ssl.HAS_PHA` whether the :mod:`ssl` module supports " -"TLSv1.3 post-handshake client authentication (PHA). (Contributed by Will " -"Childs-Klein in :gh:`128036`.)" +"Indicate through the :data:`~ssl.HAS_PHA` Boolean whether the :mod:`!ssl` " +"module supports TLSv1.3 post-handshake client authentication (PHA). " +"(Contributed by Will Childs-Klein in :gh:`128036`.)" msgstr "" msgid "struct" @@ -2187,17 +2304,17 @@ msgstr "" msgid "symtable" msgstr "" -msgid "Expose the following :class:`symtable.Symbol` methods:" +msgid "Expose the following :class:`~symtable.Symbol` methods:" msgstr "" msgid ":meth:`~symtable.Symbol.is_comp_cell`" -msgstr "" +msgstr ":meth:`~symtable.Symbol.is_comp_cell`" msgid ":meth:`~symtable.Symbol.is_comp_iter`" -msgstr "" +msgstr ":meth:`~symtable.Symbol.is_comp_iter`" msgid ":meth:`~symtable.Symbol.is_free_class`" -msgstr "" +msgstr ":meth:`~symtable.Symbol.is_free_class`" msgid "(Contributed by Bénédikt Tran in :gh:`120029`.)" msgstr "" @@ -2208,7 +2325,8 @@ msgstr "sys" msgid "" "The previously undocumented special function :func:`sys.getobjects`, which " "only exists in specialized builds of Python, may now return objects from " -"other interpreters than the one it's called in." +"other interpreters than the one it's called in. (Contributed by Eric Snow " +"in :gh:`125286`.)" msgstr "" msgid "" @@ -2217,8 +2335,9 @@ msgid "" msgstr "" msgid "" -"On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore. " -"It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``." +"On FreeBSD, :data:`sys.platform` no longer contains the major version " +"number. It is always ``'freebsd'``, instead of ``'freebsd13'`` or " +"``'freebsd14'``. (Contributed by Michael Osipov in :gh:`129393`.)" msgstr "" msgid "" @@ -2226,22 +2345,66 @@ msgid "" "function was deprecated in Python 3.13 but it didn't raise a runtime warning." msgstr "" +msgid "" +"Add :func:`sys.remote_exec` to implement the new external debugger " +"interface. See :ref:`PEP 768 ` for details. " +"(Contributed by Pablo Galindo Salgado, Matt Wozniski, and Ivona Stojanovic " +"in :gh:`131591`.)" +msgstr "" + +msgid "" +"Add the :data:`sys._jit` namespace, containing utilities for introspecting " +"just-in-time compilation. (Contributed by Brandt Bucher in :gh:`133231`.)" +msgstr "" + msgid "sys.monitoring" msgstr "" msgid "" -"Two new events are added: :monitoring-event:`BRANCH_LEFT` and :monitoring-" -"event:`BRANCH_RIGHT`. The ``BRANCH`` event is deprecated." +"Add two new monitoring events, :monitoring-event:`BRANCH_LEFT` and :" +"monitoring-event:`BRANCH_RIGHT`. These replace and deprecate the :monitoring-" +"event:`!BRANCH` event. (Contributed by Mark Shannon in :gh:`122548`.)" msgstr "" msgid "sysconfig" msgstr "" msgid "" -"Add ``ABIFLAGS`` key to :func:`sysconfig.get_config_vars` on Windows. " +"Add ``ABIFLAGS`` key to :func:`~sysconfig.get_config_vars` on Windows. " "(Contributed by Xuehai Pan in :gh:`131799`.)" msgstr "" +msgid "tarfile" +msgstr "" + +msgid "" +":func:`~tarfile.data_filter` now normalizes symbolic link targets in order " +"to avoid path traversal attacks. (Contributed by Petr Viktorin in :gh:" +"`127987` and :cve:`2025-4138`.)" +msgstr "" + +msgid "" +":func:`~tarfile.TarFile.extractall` now skips fixing up directory attributes " +"when a directory was removed or replaced by another kind of file. " +"(Contributed by Petr Viktorin in :gh:`127987` and :cve:`2024-12718`.)" +msgstr "" + +msgid "" +":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` now " +"(re-)apply the extraction filter when substituting a link (hard or symbolic) " +"with a copy of another archive member, and when fixing up directory " +"attributes. The former raises a new exception, :exc:`~tarfile." +"LinkFallbackError`. (Contributed by Petr Viktorin for :cve:`2025-4330` and :" +"cve:`2024-12718`.)" +msgstr "" + +msgid "" +":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` no " +"longer extract rejected members when :func:`~tarfile.TarFile.errorlevel` is " +"zero. (Contributed by Matt Prodani and Petr Viktorin in :gh:`112887` and :" +"cve:`2025-4435`.)" +msgstr "" + msgid "threading" msgstr "" @@ -2255,12 +2418,11 @@ msgstr "" msgid "" "Make :mod:`tkinter` widget methods :meth:`!after` and :meth:`!after_idle` " -"accept arguments passed by keyword. (Contributed by Zhikang Yan in :gh:" -"`126899`.)" +"accept keyword arguments. (Contributed by Zhikang Yan in :gh:`126899`.)" msgstr "" msgid "" -"Add ability to specify name for :class:`!tkinter.OptionMenu` and :class:`!" +"Add ability to specify a name for :class:`!tkinter.OptionMenu` and :class:`!" "tkinter.ttk.OptionMenu`. (Contributed by Zhikang Yan in :gh:`130482`.)" msgstr "" @@ -2268,7 +2430,7 @@ msgid "turtle" msgstr "" msgid "" -"Add context managers for :func:`turtle.fill`, :func:`turtle.poly` and :func:" +"Add context managers for :func:`turtle.fill`, :func:`turtle.poly`, and :func:" "`turtle.no_animation`. (Contributed by Marie Roald and Yngve Mardal Moe in :" "gh:`126350`.)" msgstr "" @@ -2286,34 +2448,34 @@ msgid "typing" msgstr "" msgid "" -":class:`types.UnionType` and :class:`typing.Union` are now aliases for each " -"other, meaning that both old-style unions (created with ``Union[int, str]``) " -"and new-style unions (``int | str``) now create instances of the same " -"runtime type. This unifies the behavior between the two syntaxes, but leads " -"to some differences in behavior that may affect users who introspect types " -"at runtime:" +"The :class:`types.UnionType` and :class:`typing.Union` types are now aliases " +"for each other, meaning that both old-style unions (created with " +"``Union[int, str]``) and new-style unions (``int | str``) now create " +"instances of the same runtime type. This unifies the behavior between the " +"two syntaxes, but leads to some differences in behavior that may affect " +"users who introspect types at runtime:" msgstr "" msgid "" "Both syntaxes for creating a union now produce the same string " -"representation in ``repr()``. For example, ``repr(Union[int, str])`` is now " -"``\"int | str\"`` instead of ``\"typing.Union[int, str]\"``." +"representation in :func:`repr`. For example, ``repr(Union[int, str])`` is " +"now ``\"int | str\"`` instead of ``\"typing.Union[int, str]\"``." msgstr "" msgid "" "Unions created using the old syntax are no longer cached. Previously, " "running ``Union[int, str]`` multiple times would return the same object " "(``Union[int, str] is Union[int, str]`` would be ``True``), but now it will " -"return two different objects. Users should use ``==`` to compare unions for " -"equality, not ``is``. New-style unions have never been cached this way. This " -"change could increase memory usage for some programs that use a large number " -"of unions created by subscripting ``typing.Union``. However, several factors " -"offset this cost: unions used in annotations are no longer evaluated by " -"default in Python 3.14 because of :pep:`649`; an instance of :class:`types." -"UnionType` is itself much smaller than the object returned by ``Union[]`` " -"was on prior Python versions; and removing the cache also saves some space. " -"It is therefore unlikely that this change will cause a significant increase " -"in memory usage for most users." +"return two different objects. Use ``==`` to compare unions for equality, not " +"``is``. New-style unions have never been cached this way. This change could " +"increase memory usage for some programs that use a large number of unions " +"created by subscripting ``typing.Union``. However, several factors offset " +"this cost: unions used in annotations are no longer evaluated by default in " +"Python 3.14 because of :pep:`649`; an instance of :class:`types.UnionType` " +"is itself much smaller than the object returned by ``Union[]`` was on prior " +"Python versions; and removing the cache also saves some space. It is " +"therefore unlikely that this change will cause a significant increase in " +"memory usage for most users." msgstr "" msgid "" @@ -2321,7 +2483,7 @@ msgid "" "``typing._UnionGenericAlias``. This class is no longer needed for the " "implementation, but it has been retained for backward compatibility, with " "removal scheduled for Python 3.17. Users should use documented introspection " -"helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " +"helpers like :func:`~typing.get_origin` and :func:`typing.get_args` instead " "of relying on private implementation details." msgstr "" @@ -2332,12 +2494,12 @@ msgid "" msgstr "" msgid "" -"The ``__args__`` attribute of :class:`typing.Union` objects is no longer " -"writable." +"The :attr:`!__args__` attribute of :class:`typing.Union` objects is no " +"longer writable." msgstr "" msgid "" -"It is no longer possible to set any attributes on :class:`typing.Union` " +"It is no longer possible to set any attributes on :class:`~typing.Union` " "objects. This only ever worked for dunder attributes on previous versions, " "was never documented to work, and was subtly broken in many cases." msgstr "" @@ -2345,6 +2507,9 @@ msgstr "" msgid "(Contributed by Jelle Zijlstra in :gh:`105499`.)" msgstr "" +msgid ":class:`~typing.TypeAliasType` now supports star unpacking." +msgstr "" + msgid "unicodedata" msgstr "" @@ -2386,7 +2551,7 @@ msgid "" ":meth:`~unittest.TestCase.assertStartsWith`, :meth:`~unittest.TestCase." "assertNotStartsWith`, :meth:`~unittest.TestCase.assertEndsWith` and :meth:" "`~unittest.TestCase.assertNotEndsWith` check whether the Unicode or byte " -"string starts or ends with particular string(s)." +"string starts or ends with particular strings." msgstr "" msgid "(Contributed by Serhiy Storchaka in :gh:`71339`.)" @@ -2406,7 +2571,7 @@ msgid "" "`` URLs." msgstr "" -msgid "In :func:`urllib.request.url2pathname`:" +msgid "In :func:`~urllib.request.url2pathname`:" msgstr "" msgid "" @@ -2421,12 +2586,15 @@ msgid "" "*resolve_host* argument is set to true." msgstr "" +msgid "Discard URL query and fragment components." +msgstr "" + msgid "" "Raise :exc:`~urllib.error.URLError` if a URL authority isn't local, except " "on Windows where we return a UNC path as before." msgstr "" -msgid "In :func:`urllib.request.pathname2url`:" +msgid "In :func:`~urllib.request.pathname2url`:" msgstr "" msgid "" @@ -2451,20 +2619,21 @@ msgid "uuid" msgstr "" msgid "" -"Add support for UUID versions 6, 7, and 8 via :func:`uuid.uuid6`, :func:" -"`uuid.uuid7`, and :func:`uuid.uuid8` respectively, as specified in :rfc:" +"Add support for UUID versions 6, 7, and 8 via :func:`~uuid.uuid6`, :func:" +"`~uuid.uuid7`, and :func:`~uuid.uuid8` respectively, as specified in :rfc:" "`9562`. (Contributed by Bénédikt Tran in :gh:`89083`.)" msgstr "" msgid "" -":const:`uuid.NIL` and :const:`uuid.MAX` are now available to represent the " +":const:`~uuid.NIL` and :const:`~uuid.MAX` are now available to represent the " "Nil and Max UUID formats as defined by :rfc:`9562`. (Contributed by Nick " "Pope in :gh:`128427`.)" msgstr "" msgid "" -"Allow to generate multiple UUIDs at once via :option:`python -m uuid --count " -"`. (Contributed by Simon Legner in :gh:`131236`.)" +"Allow generating multiple UUIDs simultaneously on the command-line via :" +"option:`python -m uuid --count `. (Contributed by Simon Legner " +"in :gh:`131236`.)" msgstr "" msgid "webbrowser" @@ -2481,20 +2650,20 @@ msgid "" "supported browsers on macOS." msgstr "" -msgid "zipinfo" +msgid "zipfile" msgstr "" msgid "" -"Added :func:`ZipInfo._for_archive ` to resolve " -"suitable defaults for a :class:`~zipfile.ZipInfo` object as used by :func:" -"`ZipFile.writestr `. (Contributed by Bénédikt Tran " -"in :gh:`123424`.)" +"Added :meth:`ZipInfo._for_archive `, a method " +"to resolve suitable defaults for a :class:`~zipfile.ZipInfo` object as used " +"by :func:`ZipFile.writestr `. (Contributed by " +"Bénédikt Tran in :gh:`123424`.)" msgstr "" msgid "" -":meth:`zipfile.ZipFile.writestr` now respect ``SOURCE_DATE_EPOCH`` that " -"distributions can set centrally and have build tools consume this in order " -"to produce reproducible output. (Contributed by Jiahao Li in :gh:`91279`.)" +":meth:`.ZipFile.writestr` now respects the :envvar:`SOURCE_DATE_EPOCH` " +"environment variable in order to better support reproducible builds. " +"(Contributed by Jiahao Li in :gh:`91279`.)" msgstr "" msgid "Optimizations" @@ -2502,10 +2671,11 @@ msgstr "" msgid "" "The import time for several standard library modules has been improved, " -"including :mod:`ast`, :mod:`asyncio`, :mod:`base64`, :mod:`cmd`, :mod:" -"`csv`, :mod:`gettext`, :mod:`importlib.util`, :mod:`locale`, :mod:" -"`mimetypes`, :mod:`optparse`, :mod:`pickle`, :mod:`pprint`, :mod:`pstats`, :" -"mod:`socket`, :mod:`subprocess`, :mod:`threading`, :mod:`tomllib`, and :mod:" +"including :mod:`annotationlib`, :mod:`ast`, :mod:`asyncio`, :mod:`base64`, :" +"mod:`cmd`, :mod:`csv`, :mod:`gettext`, :mod:`importlib.util`, :mod:" +"`locale`, :mod:`mimetypes`, :mod:`optparse`, :mod:`pickle`, :mod:`pprint`, :" +"mod:`pstats`, :mod:`shlex`, :mod:`socket`, :mod:`string`, :mod:" +"`subprocess`, :mod:`threading`, :mod:`tomllib`, :mod:`types`, and :mod:" "`zipfile`." msgstr "" @@ -2514,363 +2684,758 @@ msgid "" "Hugo van Kemenade, Jelle Zijlstra, and others in :gh:`118761`.)" msgstr "" -msgid "asyncio" +msgid "" +"The interpreter now avoids some reference count modifications internally " +"when it's safe to do so. This can lead to different values being returned " +"from :func:`sys.getrefcount` and :c:func:`Py_REFCNT` compared to previous " +"versions of Python. See :ref:`below ` for details." msgstr "" msgid "" -":mod:`asyncio` now uses double linked list implementation for native tasks " -"which speeds up execution by 10% on standard pyperformance benchmarks and " -"reduces memory usage. (Contributed by Kumar Aditya in :gh:`107803`.)" +"Standard benchmark results have improved by 10-20% following the " +"implementation of a new per-thread doubly linked list for :class:`native " +"tasks `, also reducing memory usage. This enables external " +"introspection tools such as :ref:`python -m asyncio pstree ` to introspect the call graph of asyncio tasks " +"running in all threads. (Contributed by Kumar Aditya in :gh:`107803`.)" msgstr "" msgid "" -":mod:`asyncio` has new utility functions for introspecting and printing the " -"program's call graph: :func:`asyncio.capture_call_graph` and :func:`asyncio." -"print_call_graph`. (Contributed by Yury Selivanov, Pablo Galindo Salgado, " -"and Łukasz Langa in :gh:`91048`.)" +"The module now has first class support for :term:`free-threading builds " +"`. This enables parallel execution of multiple event loops " +"across different threads, scaling linearly with the number of threads. " +"(Contributed by Kumar Aditya in :gh:`128002`.)" msgstr "" msgid "base64" msgstr "" msgid "" -"Improve the performance of :func:`base64.b16decode` by up to ten times, and " -"reduce the import time of :mod:`base64` by up to six times. (Contributed by " +":func:`~base64.b16decode` is now up to six times faster. (Contributed by " "Bénédikt Tran, Chris Markiewicz, and Adam Turner in :gh:`118761`.)" msgstr "" -msgid "" -":mod:`io` which provides the built-in :func:`open` makes less system calls " -"when opening regular files as well as reading whole files. Reading a small " -"operating system cached file in full is up to 15% faster. :func:`pathlib." -"Path.read_bytes` has the most optimizations for reading a file's bytes in " -"full. (Contributed by Cody Maloney and Victor Stinner in :gh:`120754` and :" -"gh:`90102`.)" +msgid "bdb" msgstr "" msgid "" -"Improve generation of :class:`~uuid.UUID` objects via their dedicated " -"functions:" +"The basic debugger now has a :mod:`sys.monitoring`-based backend, which can " +"be selected via the passing ``'monitoring'`` to the :class:`~bdb.Bdb` " +"class's new *backend* parameter. (Contributed by Tian Gao in :gh:`124533`.)" msgstr "" msgid "" -":func:`~uuid.uuid3` and :func:`~uuid.uuid5` are both roughly 40% faster for " -"16-byte names and 20% faster for 1024-byte names. Performance for longer " -"names remains unchanged." +"The :func:`~difflib.IS_LINE_JUNK` function is now up to twice as fast. " +"(Contributed by Adam Turner and Semyon Moroz in :gh:`130167`.)" msgstr "" -msgid "" -":func:`~uuid.uuid4` and :func:`~uuid.uuid8` are 30% and 40% faster " -"respectively." +msgid "gc" msgstr "" -msgid "(Contributed by Bénédikt Tran in :gh:`128150`.)" +msgid "" +"The new :ref:`incremental garbage collector ` " +"means that maximum pause times are reduced by an order of magnitude or more " +"for larger heaps." msgstr "" -msgid "zlib" -msgstr "zlib" - msgid "" -"On Windows, ``zlib-ng`` is now used as the implementation of the :mod:`zlib` " -"module. This should produce compatible and comparable results with better " -"performance, though it is worth noting that ``zlib.Z_BEST_SPEED`` (1) may " -"result in significantly less compression than the previous implementation " -"(while also significantly reducing the time taken to compress). (Contributed " -"by Steve Dower in :gh:`91349`.)" +"Because of this optimization, the meaning of the results of :meth:`~gc." +"get_threshold` and :meth:`~gc.set_threshold` have changed, along with :meth:" +"`~gc.get_count` and :meth:`~gc.get_stats`." msgstr "" -msgid "Deprecated" +msgid "" +"For backwards compatibility, :meth:`~gc.get_threshold` continues to return a " +"three-item tuple. The first value is the threshold for young collections, as " +"before; the second value determines the rate at which the old collection is " +"scanned (the default is 10, and higher values mean that the old collection " +"is scanned more slowly). The third value is now meaningless and is always " +"zero." msgstr "" -msgid ":mod:`argparse`:" +msgid ":meth:`~gc.set_threshold` now ignores any items after the second." msgstr "" msgid "" -"Passing the undocumented keyword argument *prefix_chars* to :meth:`~argparse." -"ArgumentParser.add_argument_group` is now deprecated. (Contributed by " -"Savannah Ostrowski in :gh:`125563`.)" +":meth:`~gc.get_count` and :meth:`~gc.get_stats` continue to return the same " +"format of results. The only difference is that instead of the results " +"referring to the young, aging and old generations, the results refer to the " +"young generation and the aging and collecting spaces of the old generation." msgstr "" msgid "" -"Deprecated the :class:`argparse.FileType` type converter. Anything with " -"resource management should be done downstream after the arguments are " -"parsed. (Contributed by Serhiy Storchaka in :gh:`58032`.)" +"In summary, code that attempted to manipulate the behavior of the cycle GC " +"may not work exactly as intended, but it is very unlikely to be harmful. All " +"other code will work just fine." msgstr "" -msgid ":mod:`asyncio`:" -msgstr ":mod:`asyncio`:" - msgid "" -":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " -"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " -"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" +"Opening and reading files now executes fewer system calls. Reading a small " +"operating system cached file in full is up to 15% faster. (Contributed by " +"Cody Maloney and Victor Stinner in :gh:`120754` and :gh:`90102`.)" msgstr "" msgid "" -":mod:`asyncio` policy system is deprecated and will be removed in Python " -"3.16. In particular, the following classes and functions are deprecated:" +":func:`Path.read_bytes ` now uses unbuffered mode " +"to open files, which is between 9% and 17% faster to read in full. " +"(Contributed by Cody Maloney in :gh:`120754`.)" msgstr "" -msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" - -msgid ":class:`asyncio.DefaultEventLoopPolicy`" +msgid "" +":mod:`pdb` now supports two backends, based on either :func:`sys.settrace` " +"or :mod:`sys.monitoring`. Using the :ref:`pdb CLI ` or :func:" +"`breakpoint` will always use the :mod:`sys.monitoring` backend. Explicitly " +"instantiating :class:`pdb.Pdb` and its derived classes will use the :func:" +"`sys.settrace` backend by default, which is configurable. (Contributed by " +"Tian Gao in :gh:`124533`.)" msgstr "" -msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" +msgid "textwrap" msgstr "" -msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" +msgid "" +"Optimize the :func:`~textwrap.dedent` function, improving performance by an " +"average of 2.4x, with larger improvements for bigger inputs, and fix a bug " +"with incomplete normalization of blank lines with whitespace characters " +"other than space and tab." msgstr "" -msgid ":func:`asyncio.get_event_loop_policy`" +msgid "" +":func:`~uuid.uuid3` and :func:`~uuid.uuid5` are now both roughly 40% faster " +"for 16-byte names and 20% faster for 1024-byte names. Performance for longer " +"names remains unchanged. (Contributed by Bénédikt Tran in :gh:`128150`.)" msgstr "" -msgid ":func:`asyncio.set_event_loop_policy`" +msgid "" +":func:`~uuid.uuid4` is now c. 30% faster. (Contributed by Bénédikt Tran in :" +"gh:`128150`.)" msgstr "" -msgid ":func:`asyncio.set_event_loop`" -msgstr ":func:`asyncio.set_event_loop`" +msgid "zlib" +msgstr "zlib" msgid "" -"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " -"*loop_factory* to use the desired event loop implementation." +"On Windows, `zlib-ng `__ is now used as " +"the implementation of the :mod:`zlib` module in the default binaries. There " +"are no known incompatibilities between ``zlib-ng`` and the previously-used " +"``zlib`` implementation. This should result in better performance at all " +"compression levels." msgstr "" -msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" +msgid "" +"It is worth noting that ``zlib.Z_BEST_SPEED`` (``1``) may result in " +"significantly less compression than the previous implementation, whilst also " +"significantly reducing the time taken to compress." msgstr "" -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" +msgid "(Contributed by Steve Dower in :gh:`91349`.)" msgstr "" -msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" +msgid "Removed" msgstr "" msgid "" -":mod:`builtins`: Passing a complex number as the *real* or *imag* argument " -"in the :func:`complex` constructor is now deprecated; it should only be " -"passed as a single positional argument. (Contributed by Serhiy Storchaka in :" -"gh:`109218`.)" +"Remove the *type*, *choices*, and *metavar* parameters of :class:`!" +"BooleanOptionalAction`. These have been deprecated since Python 3.12. " +"(Contributed by Nikita Sobolev in :gh:`118805`.)" msgstr "" msgid "" -":mod:`codecs`: :func:`codecs.open` is now deprecated. Use :func:`open` " -"instead. (Contributed by Inada Naoki in :gh:`133036`.)" +"Calling :meth:`~argparse.ArgumentParser.add_argument_group` on an argument " +"group now raises a :exc:`ValueError`. Similarly, :meth:`~argparse." +"ArgumentParser.add_argument_group` or :meth:`~argparse.ArgumentParser." +"add_mutually_exclusive_group` on a mutually exclusive group now both raise :" +"exc:`ValueError`\\ s. This 'nesting' was never supported, often failed to " +"work correctly, and was unintentionally exposed through inheritance. This " +"functionality has been deprecated since Python 3.11. (Contributed by " +"Savannah Ostrowski in :gh:`127186`.)" msgstr "" -msgid ":mod:`ctypes`:" -msgstr ":mod:`ctypes`:" - msgid "" -"On non-Windows platforms, setting :attr:`.Structure._pack_` to use a MSVC-" -"compatible default memory layout is deprecated in favor of setting :attr:`." -"Structure._layout_` to ``'ms'``. (Contributed by Petr Viktorin in :gh:" -"`131747`.)" +"Remove the following classes, which have been deprecated aliases of :class:" +"`~ast.Constant` since Python 3.8 and have emitted deprecation warnings since " +"Python 3.12:" msgstr "" -msgid "" -"Calling :func:`ctypes.POINTER` on a string is deprecated. Use :ref:`ctypes-" -"incomplete-types` for self-referential structures. Also, the internal " -"``ctypes._pointer_type_cache`` is deprecated. See :func:`ctypes.POINTER` for " -"updated implementation details. (Contributed by Sergey Myrianov in :gh:" -"`100926`.)" +msgid ":class:`!Bytes`" msgstr "" -msgid "" -":mod:`functools`: Calling the Python implementation of :func:`functools." -"reduce` with *function* or *sequence* as keyword arguments is now " -"deprecated. (Contributed by Kirill Podoprigora in :gh:`121676`.)" +msgid ":class:`!Ellipsis`" msgstr "" -msgid "" -":mod:`logging`: Support for custom logging handlers with the *strm* argument " -"is deprecated and scheduled for removal in Python 3.16. Define handlers with " -"the *stream* argument instead. (Contributed by Mariusz Felisiak in :gh:" -"`115032`.)" +msgid ":class:`!NameConstant`" msgstr "" -msgid "" -":mod:`mimetypes`: Valid extensions start with a '.' or are empty for :meth:" -"`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and will " -"raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van Kemenade " -"in :gh:`75223`.)" +msgid ":class:`!Num`" msgstr "" -msgid "" -":mod:`!nturl2path`: This module is now deprecated. Call :func:`urllib." -"request.url2pathname` and :func:`~urllib.request.pathname2url` instead. " -"(Contributed by Barney Gale in :gh:`125866`.)" +msgid ":class:`!Str`" msgstr "" msgid "" -":mod:`os`: :term:`Soft deprecate ` :func:`os.popen` and :" -"func:`os.spawn* ` functions. They should no longer be used to " -"write new code. The :mod:`subprocess` module is recommended instead. " -"(Contributed by Victor Stinner in :gh:`120743`.)" +"As a consequence of these removals, user-defined ``visit_Num``, " +"``visit_Str``, ``visit_Bytes``, ``visit_NameConstant`` and " +"``visit_Ellipsis`` methods on custom :class:`~ast.NodeVisitor` subclasses " +"will no longer be called when the :class:`!NodeVisitor` subclass is visiting " +"an AST. Define a ``visit_Constant`` method instead." msgstr "" -msgid "" -":mod:`pathlib`: :meth:`!pathlib.PurePath.as_uri` is deprecated and will be " -"removed in Python 3.19. Use :meth:`pathlib.Path.as_uri` instead. " -"(Contributed by Barney Gale in :gh:`123599`.)" +msgid "(Contributed by Alex Waygood in :gh:`119562`.)" msgstr "" msgid "" -":mod:`pdb`: The undocumented ``pdb.Pdb.curframe_locals`` attribute is now a " -"deprecated read-only property. The low overhead dynamic frame locals access " -"added in Python 3.13 by PEP 667 means the frame locals cache reference " -"previously stored in this attribute is no longer needed. Derived debuggers " -"should access ``pdb.Pdb.curframe.f_locals`` directly in Python 3.13 and " -"later versions. (Contributed by Tian Gao in :gh:`124369` and :gh:`125951`.)" +"Remove the following deprecated properties on :class:`ast.Constant`, which " +"were present for compatibility with the now-removed AST classes:" msgstr "" -msgid "" -":mod:`symtable`: Deprecate :meth:`symtable.Class.get_methods` due to the " -"lack of interest. (Contributed by Bénédikt Tran in :gh:`119698`.)" +msgid ":attr:`!Constant.n`" +msgstr "" + +msgid ":attr:`!Constant.s`" msgstr "" msgid "" -":mod:`tkinter`: The :class:`!tkinter.Variable` methods :meth:`!" -"trace_variable`, :meth:`!trace_vdelete` and :meth:`!trace_vinfo` are now " -"deprecated. Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!" -"trace_info` instead. (Contributed by Serhiy Storchaka in :gh:`120220`.)" +"Use :attr:`!Constant.value` instead. (Contributed by Alex Waygood in :gh:" +"`119562`.)" msgstr "" msgid "" -":mod:`urllib.parse`: Accepting objects with false values (like ``0`` and " -"``[]``) except empty strings, byte-like objects and ``None`` in :mod:`urllib." -"parse` functions :func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse." -"parse_qs` is now deprecated. (Contributed by Serhiy Storchaka in :gh:" -"`116897`.)" +"Remove the following classes, methods, and functions, which have been " +"deprecated since Python 3.12:" msgstr "" -msgid "Pending removal in Python 3.15" +msgid ":class:`!AbstractChildWatcher`" msgstr "" -msgid "The import system:" +msgid ":class:`!FastChildWatcher`" msgstr "" -msgid "" -"Setting :attr:`~module.__cached__` on a module while failing to set :attr:" -"`__spec__.cached ` is deprecated. In " -"Python 3.15, :attr:`!__cached__` will cease to be set or take into " -"consideration by the import system or standard library. (:gh:`97879`)" +msgid ":class:`!MultiLoopChildWatcher`" msgstr "" -msgid "" -"Setting :attr:`~module.__package__` on a module while failing to set :attr:" -"`__spec__.parent ` is deprecated. In " -"Python 3.15, :attr:`!__package__` will cease to be set or take into " -"consideration by the import system or standard library. (:gh:`97879`)" +msgid ":class:`!PidfdChildWatcher`" msgstr "" -msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated " -"since Python 3.13." +msgid ":class:`!SafeChildWatcher`" msgstr "" -msgid ":mod:`http.server`:" -msgstr ":mod:`http.server`:" +msgid ":class:`!ThreadedChildWatcher`" +msgstr "" -msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has " -"been deprecated since Python 3.13. No direct replacement exists. *Anything* " -"is better than CGI to interface a web server with a request handler." +msgid ":meth:`!AbstractEventLoopPolicy.get_child_watcher`" msgstr "" -msgid "" -"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" -"line interface has been deprecated since Python 3.13." +msgid ":meth:`!AbstractEventLoopPolicy.set_child_watcher`" msgstr "" -msgid ":mod:`importlib`:" -msgstr ":mod:`importlib`:" +msgid ":func:`!get_child_watcher`" +msgstr "" -msgid "``load_module()`` method: use ``exec_module()`` instead." +msgid ":func:`!set_child_watcher`" msgstr "" -msgid ":class:`locale`:" -msgstr ":class:`locale`:" +msgid "(Contributed by Kumar Aditya in :gh:`120804`.)" +msgstr "" msgid "" -"The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 (:gh:" -"`90817`), but has been postponed to Python 3.15. Use :func:`~locale." -"getlocale`, :func:`~locale.setlocale`, and :func:`~locale.getencoding` " -"instead. (Contributed by Hugo van Kemenade in :gh:`111187`.)" +":func:`asyncio.get_event_loop` now raises a :exc:`RuntimeError` if there is " +"no current event loop, and no longer implicitly creates an event loop." msgstr "" -msgid ":mod:`pathlib`:" -msgstr ":mod:`pathlib`:" +msgid "(Contributed by Kumar Aditya in :gh:`126353`.)" +msgstr "" msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use :" -"func:`os.path.isreserved` to detect reserved paths on Windows." +"There's a few patterns that use :func:`asyncio.get_event_loop`, most of them " +"can be replaced with :func:`asyncio.run`." msgstr "" -msgid ":mod:`platform`:" -msgstr ":mod:`platform`:" - -msgid "" -":func:`~platform.java_ver` has been deprecated since Python 3.13. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested." +msgid "If you're running an async function, simply use :func:`asyncio.run`." msgstr "" -msgid ":mod:`sysconfig`:" +msgid "Before:" msgstr "" msgid "" -"The *check_home* argument of :func:`sysconfig.is_python_build` has been " -"deprecated since Python 3.12." +"async def main():\n" +" ...\n" +"\n" +"\n" +"loop = asyncio.get_event_loop()\n" +"try:\n" +" loop.run_until_complete(main())\n" +"finally:\n" +" loop.close()" msgstr "" -msgid ":mod:`threading`:" -msgstr ":mod:`threading`:" +msgid "After:" +msgstr "" msgid "" -":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does " -"not permit any arguments, but the C version allows any number of positional " -"or keyword arguments, ignoring every argument." +"async def main():\n" +" ...\n" +"\n" +"asyncio.run(main())" msgstr "" -msgid ":mod:`types`:" -msgstr ":mod:`types`:" - msgid "" -":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " -"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " -"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " -"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" +"If you need to start something, for example, a server listening on a socket " +"and then run forever, use :func:`asyncio.run` and an :class:`asyncio.Event`." msgstr "" -msgid ":mod:`typing`:" -msgstr ":mod:`typing`:" - msgid "" -"The undocumented keyword argument syntax for creating :class:`~typing." -"NamedTuple` classes (for example, ``Point = NamedTuple(\"Point\", x=int, " -"y=int)``) has been deprecated since Python 3.13. Use the class-based syntax " -"or the functional syntax instead." +"def start_server(loop): ...\n" +"\n" +"loop = asyncio.get_event_loop()\n" +"try:\n" +" start_server(loop)\n" +" loop.run_forever()\n" +"finally:\n" +" loop.close()" msgstr "" msgid "" -"When using the functional syntax of :class:`~typing.TypedDict`\\s, failing " -"to pass a value to the *fields* parameter (``TD = TypedDict(\"TD\")``) or " -"passing ``None`` (``TD = TypedDict(\"TD\", None)``) has been deprecated " -"since Python 3.13. Use ``class TD(TypedDict): pass`` or ``TD = " -"TypedDict(\"TD\", {})`` to create a TypedDict with zero field." +"def start_server(loop): ...\n" +"\n" +"async def main():\n" +" start_server(asyncio.get_running_loop())\n" +" await asyncio.Event().wait()\n" +"\n" +"asyncio.run(main())" msgstr "" msgid "" -"The :func:`typing.no_type_check_decorator` decorator function has been " +"If you need to run something in an event loop, then run some blocking code " +"around it, use :class:`asyncio.Runner`." +msgstr "" + +msgid "" +"async def operation_one(): ...\n" +"def blocking_code(): ...\n" +"async def operation_two(): ...\n" +"\n" +"loop = asyncio.get_event_loop()\n" +"try:\n" +" loop.run_until_complete(operation_one())\n" +" blocking_code()\n" +" loop.run_until_complete(operation_two())\n" +"finally:\n" +" loop.close()" +msgstr "" + +msgid "" +"async def operation_one(): ...\n" +"def blocking_code(): ...\n" +"async def operation_two(): ...\n" +"\n" +"with asyncio.Runner() as runner:\n" +" runner.run(operation_one())\n" +" blocking_code()\n" +" runner.run(operation_two())" +msgstr "" + +msgid "email" +msgstr "" + +msgid "" +"Remove :func:`email.utils.localtime`'s *isdst* parameter, which was " +"deprecated in and has been ignored since Python 3.12. (Contributed by Hugo " +"van Kemenade in :gh:`118798`.)" +msgstr "" + +msgid "importlib.abc" +msgstr "" + +msgid "Remove deprecated :mod:`importlib.abc` classes:" +msgstr "" + +msgid "" +":class:`!ResourceReader` (use :class:`~importlib.resources.abc." +"TraversableResources`)" +msgstr "" + +msgid "" +":class:`!Traversable` (use :class:`~importlib.resources.abc.Traversable`)" +msgstr "" + +msgid "" +":class:`!TraversableResources` (use :class:`~importlib.resources.abc." +"TraversableResources`)" +msgstr "" + +msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" +msgstr "" + +msgid "itertools" +msgstr "" + +msgid "" +"Remove support for copy, deepcopy, and pickle operations from :mod:" +"`itertools` iterators. These have emitted a :exc:`DeprecationWarning` since " +"Python 3.12. (Contributed by Raymond Hettinger in :gh:`101588`.)" +msgstr "" + +msgid "" +"Remove support for passing additional keyword arguments to :class:`~pathlib." +"Path`. In previous versions, any such arguments are ignored. (Contributed by " +"Barney Gale in :gh:`74033`.)" +msgstr "" + +msgid "" +"Remove support for passing additional positional arguments to :meth:`." +"PurePath.relative_to` and :meth:`~pathlib.PurePath.is_relative_to`. In " +"previous versions, any such arguments are joined onto *other*. (Contributed " +"by Barney Gale in :gh:`78707`.)" +msgstr "" + +msgid "pkgutil" +msgstr "" + +msgid "" +"Remove the :func:`!get_loader` and :func:`!find_loader` functions, which " +"have been deprecated since Python 3.12. (Contributed by Bénédikt Tran in :gh:" +"`97850`.)" +msgstr "" + +msgid "pty" +msgstr "" + +msgid "" +"Remove the :func:`!master_open` and :func:`!slave_open` functions, which " +"have been deprecated since Python 3.12. Use :func:`pty.openpty` instead. " +"(Contributed by Nikita Sobolev in :gh:`118824`.)" +msgstr "" + +msgid "sqlite3" +msgstr "" + +msgid "" +"Remove :data:`!version` and :data:`!version_info` from the :mod:`sqlite3` " +"module; use :data:`~sqlite3.sqlite_version` and :data:`~sqlite3." +"sqlite_version_info` for the actual version number of the runtime SQLite " +"library. (Contributed by Hugo van Kemenade in :gh:`118924`.)" +msgstr "" + +msgid "" +"Using a sequence of parameters with named placeholders now raises a :exc:" +"`~sqlite3.ProgrammingError`, having been deprecated since Python 3.12. " +"(Contributed by Erlend E. Aasland in :gh:`118928` and :gh:`101693`.)" +msgstr "" + +msgid "" +"Remove the :class:`!Quoter` class from :mod:`urllib.parse`, which has been " +"deprecated since Python 3.11. (Contributed by Nikita Sobolev in :gh:" +"`118827`.)" +msgstr "" + +msgid "" +"Remove the :class:`!URLopener` and :class:`!FancyURLopener` classes from :" +"mod:`urllib.request`, which have been deprecated since Python 3.3." +msgstr "" + +msgid "" +"``myopener.open()`` can be replaced with :func:`~urllib.request.urlopen`. " +"``myopener.retrieve()`` can be replaced with :func:`~urllib.request." +"urlretrieve`. Customisations to the opener classes can be replaced by " +"passing customized handlers to :func:`~urllib.request.build_opener`. " +"(Contributed by Barney Gale in :gh:`84850`.)" +msgstr "" + +msgid "Deprecated" +msgstr "" + +msgid "New deprecations" +msgstr "" + +msgid "" +"Passing a complex number as the *real* or *imag* argument in the :func:" +"`complex` constructor is now deprecated; complex numbers should only be " +"passed as a single positional argument. (Contributed by Serhiy Storchaka in :" +"gh:`109218`.)" +msgstr "" + +msgid ":mod:`argparse`:" +msgstr ":mod:`argparse`:" + +msgid "" +"Passing the undocumented keyword argument *prefix_chars* to the :meth:" +"`~argparse.ArgumentParser.add_argument_group` method is now deprecated. " +"(Contributed by Savannah Ostrowski in :gh:`125563`.)" +msgstr "" + +msgid "" +"Deprecated the :class:`argparse.FileType` type converter. Anything relating " +"to resource management should be handled downstream, after the arguments " +"have been parsed. (Contributed by Serhiy Storchaka in :gh:`58032`.)" +msgstr "" + +msgid ":mod:`asyncio`:" +msgstr ":mod:`asyncio`:" + +msgid "" +"The :func:`!asyncio.iscoroutinefunction` is now deprecated and will be " +"removed in Python 3.16; use :func:`inspect.iscoroutinefunction` instead. " +"(Contributed by Jiahao Li and Kumar Aditya in :gh:`122875`.)" +msgstr "" + +msgid "" +"The :mod:`asyncio` policy system is deprecated and will be removed in Python " +"3.16. In particular, the following classes and functions are deprecated:" +msgstr "" + +msgid ":class:`asyncio.AbstractEventLoopPolicy`" +msgstr ":class:`asyncio.AbstractEventLoopPolicy`" + +msgid ":class:`asyncio.DefaultEventLoopPolicy`" +msgstr ":class:`asyncio.DefaultEventLoopPolicy`" + +msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" +msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" + +msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" +msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" + +msgid ":func:`asyncio.get_event_loop_policy`" +msgstr ":func:`asyncio.get_event_loop_policy`" + +msgid ":func:`asyncio.set_event_loop_policy`" +msgstr ":func:`asyncio.set_event_loop_policy`" + +msgid "" +"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with the " +"*loop_factory* argument to use the desired event loop implementation." +msgstr "" + +msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows:" +msgstr "" + +msgid "" +"import asyncio\n" +"\n" +"async def main():\n" +" ...\n" +"\n" +"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" +msgstr "" + +msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" +msgstr "" + +msgid "" +":mod:`codecs`: The :func:`codecs.open` function is now deprecated, and will " +"be removed in a future version of Python. Use :func:`open` instead. " +"(Contributed by Inada Naoki in :gh:`133036`.)" +msgstr "" + +msgid ":mod:`ctypes`:" +msgstr ":mod:`ctypes`:" + +msgid "" +"On non-Windows platforms, setting :attr:`.Structure._pack_` to use a MSVC-" +"compatible default memory layout is now deprecated in favor of setting :attr:" +"`.Structure._layout_` to ``'ms'``, and will be removed in Python 3.19. " +"(Contributed by Petr Viktorin in :gh:`131747`.)" +msgstr "" + +msgid "" +"Calling :func:`ctypes.POINTER` on a string is now deprecated. Use :ref:" +"`incomplete types ` for self-referential " +"structures. Also, the internal ``ctypes._pointer_type_cache`` is deprecated. " +"See :func:`ctypes.POINTER` for updated implementation details. (Contributed " +"by Sergey Myrianov in :gh:`100926`.)" +msgstr "" + +msgid "" +":mod:`functools`: Calling the Python implementation of :func:`functools." +"reduce` with *function* or *sequence* as keyword arguments is now " +"deprecated; the parameters will be made positional-only in Python 3.16. " +"(Contributed by Kirill Podoprigora in :gh:`121676`.)" +msgstr "" + +msgid "" +":mod:`logging`: Support for custom logging handlers with the *strm* argument " +"is now deprecated and scheduled for removal in Python 3.16. Define handlers " +"with the *stream* argument instead. (Contributed by Mariusz Felisiak in :gh:" +"`115032`.)" +msgstr "" + +msgid "" +":mod:`mimetypes`: Valid extensions are either empty or must start with '.' " +"for :meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated " +"and will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " +"Kemenade in :gh:`75223`.)" +msgstr "" + +msgid "" +":mod:`!nturl2path`: This module is now deprecated. Call :func:`urllib." +"request.url2pathname` and :func:`~urllib.request.pathname2url` instead. " +"(Contributed by Barney Gale in :gh:`125866`.)" +msgstr "" + +msgid "" +":mod:`os`: The :func:`os.popen` and :func:`os.spawn* ` functions " +"are now :term:`soft deprecated`. They should no longer be used to write new " +"code. The :mod:`subprocess` module is recommended instead. (Contributed by " +"Victor Stinner in :gh:`120743`.)" +msgstr "" + +msgid "" +":mod:`pathlib`: :meth:`!pathlib.PurePath.as_uri` is now deprecated and " +"scheduled for removal in Python 3.19. Use :meth:`pathlib.Path.as_uri` " +"instead. (Contributed by Barney Gale in :gh:`123599`.)" +msgstr "" + +msgid "" +":mod:`pdb`: The undocumented ``pdb.Pdb.curframe_locals`` attribute is now a " +"deprecated read-only property, which will be removed in a future version of " +"Python. The low overhead dynamic frame locals access added in Python 3.13 " +"by :pep:`667` means the frame locals cache reference previously stored in " +"this attribute is no longer needed. Derived debuggers should access ``pdb." +"Pdb.curframe.f_locals`` directly in Python 3.13 and later versions. " +"(Contributed by Tian Gao in :gh:`124369` and :gh:`125951`.)" +msgstr "" + +msgid "" +":mod:`symtable`: Deprecate :meth:`symtable.Class.get_methods` due to the " +"lack of interest, scheduled for removal in Python 3.16. (Contributed by " +"Bénédikt Tran in :gh:`119698`.)" +msgstr "" + +msgid "" +":mod:`tkinter`: The :class:`!tkinter.Variable` methods :meth:`!" +"trace_variable`, :meth:`!trace_vdelete` and :meth:`!trace_vinfo` are now " +"deprecated. Use :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!" +"trace_info` instead. (Contributed by Serhiy Storchaka in :gh:`120220`.)" +msgstr "" + +msgid "" +":mod:`urllib.parse`: Accepting objects with false values (like ``0`` and " +"``[]``) except empty strings, bytes-like objects and ``None`` in :func:" +"`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now " +"deprecated. (Contributed by Serhiy Storchaka in :gh:`116897`.)" +msgstr "" + +msgid "Pending removal in Python 3.15" +msgstr "" + +msgid "The import system:" +msgstr "" + +msgid "" +"Setting :attr:`~module.__cached__` on a module while failing to set :attr:" +"`__spec__.cached ` is deprecated. In " +"Python 3.15, :attr:`!__cached__` will cease to be set or take into " +"consideration by the import system or standard library. (:gh:`97879`)" +msgstr "" + +msgid "" +"Setting :attr:`~module.__package__` on a module while failing to set :attr:" +"`__spec__.parent ` is deprecated. In " +"Python 3.15, :attr:`!__package__` will cease to be set or take into " +"consideration by the import system or standard library. (:gh:`97879`)" +msgstr "" + +msgid "" +"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated " +"since Python 3.13." +msgstr "" + +msgid ":mod:`http.server`:" +msgstr ":mod:`http.server`:" + +msgid "" +"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has " +"been deprecated since Python 3.13. No direct replacement exists. *Anything* " +"is better than CGI to interface a web server with a request handler." +msgstr "" + +msgid "" +"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" +"line interface has been deprecated since Python 3.13." +msgstr "" + +msgid ":mod:`importlib`:" +msgstr ":mod:`importlib`:" + +msgid "``load_module()`` method: use ``exec_module()`` instead." +msgstr "" + +msgid ":class:`locale`:" +msgstr ":class:`locale`:" + +msgid "" +"The :func:`~locale.getdefaultlocale` function has been deprecated since " +"Python 3.11. Its removal was originally planned for Python 3.13 (:gh:" +"`90817`), but has been postponed to Python 3.15. Use :func:`~locale." +"getlocale`, :func:`~locale.setlocale`, and :func:`~locale.getencoding` " +"instead. (Contributed by Hugo van Kemenade in :gh:`111187`.)" +msgstr "" + +msgid ":mod:`pathlib`:" +msgstr ":mod:`pathlib`:" + +msgid "" +":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use :" +"func:`os.path.isreserved` to detect reserved paths on Windows." +msgstr "" + +msgid ":mod:`platform`:" +msgstr ":mod:`platform`:" + +msgid "" +":func:`~platform.java_ver` has been deprecated since Python 3.13. This " +"function is only useful for Jython support, has a confusing API, and is " +"largely untested." +msgstr "" + +msgid ":mod:`sysconfig`:" +msgstr ":mod:`sysconfig`:" + +msgid "" +"The *check_home* argument of :func:`sysconfig.is_python_build` has been " +"deprecated since Python 3.12." +msgstr "" + +msgid ":mod:`threading`:" +msgstr ":mod:`threading`:" + +msgid "" +":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " +"arguments has been deprecated since Python 3.14, as the Python version does " +"not permit any arguments, but the C version allows any number of positional " +"or keyword arguments, ignoring every argument." +msgstr "" + +msgid ":mod:`types`:" +msgstr ":mod:`types`:" + +msgid "" +":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " +"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " +"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " +"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" +msgstr "" + +msgid ":mod:`typing`:" +msgstr ":mod:`typing`:" + +msgid "" +"The undocumented keyword argument syntax for creating :class:`~typing." +"NamedTuple` classes (for example, ``Point = NamedTuple(\"Point\", x=int, " +"y=int)``) has been deprecated since Python 3.13. Use the class-based syntax " +"or the functional syntax instead." +msgstr "" + +msgid "" +"When using the functional syntax of :class:`~typing.TypedDict`\\s, failing " +"to pass a value to the *fields* parameter (``TD = TypedDict(\"TD\")``) or " +"passing ``None`` (``TD = TypedDict(\"TD\", None)``) has been deprecated " +"since Python 3.13. Use ``class TD(TypedDict): pass`` or ``TD = " +"TypedDict(\"TD\", {})`` to create a TypedDict with zero field." +msgstr "" + +msgid "" +"The :func:`typing.no_type_check_decorator` decorator function has been " "deprecated since Python 3.13. After eight years in the :mod:`typing` module, " "it has yet to be supported by any major type checker." msgstr "" @@ -2885,7 +3450,7 @@ msgid "" msgstr "" msgid ":mod:`zipimport`:" -msgstr "" +msgstr ":mod:`zipimport`:" msgid "" ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " @@ -2912,6 +3477,25 @@ msgid "" "``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." msgstr "" +msgid "" +":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " +"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " +"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" +msgstr "" + +msgid "" +":mod:`asyncio` policy system is deprecated and will be removed in Python " +"3.16. In particular, the following classes and functions are deprecated:" +msgstr "" + +msgid "" +"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " +"*loop_factory* to use the desired event loop implementation." +msgstr "" + +msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" +msgstr "" + msgid ":mod:`builtins`:" msgstr ":mod:`builtins`:" @@ -2924,7 +3508,7 @@ msgid "" msgstr "" msgid ":mod:`functools`:" -msgstr "" +msgstr ":mod:`functools`:" msgid "" "Calling the Python implementation of :func:`functools.reduce` with " @@ -2933,7 +3517,7 @@ msgid "" msgstr "" msgid ":mod:`logging`:" -msgstr "" +msgstr ":mod:`logging`:" msgid "" "Support for custom logging handlers with the *strm* argument is deprecated " @@ -2972,26 +3556,56 @@ msgid ":mod:`sys`:" msgstr ":mod:`sys`:" msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated " -"since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead." +"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated " +"since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " +"environment variable instead." +msgstr "" + +msgid "" +"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " +"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " +"instead." +msgstr "" + +msgid ":mod:`tarfile`:" +msgstr ":mod:`tarfile`:" + +msgid "" +"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " +"deprecated since Python 3.13." +msgstr "" + +msgid "Pending removal in Python 3.17" +msgstr "" + +msgid ":mod:`collections.abc`:" +msgstr "" + +msgid "" +":class:`collections.abc.ByteString` is scheduled for removal in Python 3.17." msgstr "" msgid "" -"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " -"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " -"instead." +"Use ``isinstance(obj, collections.abc.Buffer)`` to test if ``obj`` " +"implements the :ref:`buffer protocol ` at runtime. For use in " +"type annotations, either use :class:`~collections.abc.Buffer` or a union " +"that explicitly specifies the types your code supports (e.g., ``bytes | " +"bytearray | memoryview``)." msgstr "" -msgid ":mod:`tarfile`:" -msgstr ":mod:`tarfile`:" - msgid "" -"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " -"deprecated since Python 3.13." +":class:`!ByteString` was originally intended to be an abstract class that " +"would serve as a supertype of both :class:`bytes` and :class:`bytearray`. " +"However, since the ABC never had any methods, knowing that an object was an " +"instance of :class:`!ByteString` never actually told you anything useful " +"about the object. Other common buffer types such as :class:`memoryview` were " +"also never understood as subtypes of :class:`!ByteString` (either at runtime " +"or by static type checkers)." msgstr "" -msgid "Pending removal in Python 3.17" +msgid "" +"See :pep:`PEP 688 <688#current-options>` for more details. (Contributed by " +"Shantanu Jain in :gh:`91896`.)" msgstr "" msgid "" @@ -3003,6 +3617,24 @@ msgid "" "of relying on private implementation details." msgstr "" +msgid "" +":class:`typing.ByteString`, deprecated since Python 3.9, is scheduled for " +"removal in Python 3.17." +msgstr "" + +msgid "Pending removal in Python 3.18" +msgstr "" + +msgid ":mod:`decimal`:" +msgstr ":mod:`decimal`:" + +msgid "" +"The non-standard and undocumented :class:`~decimal.Decimal` format specifier " +"``'N'``, which is only supported in the :mod:`!decimal` module's C " +"implementation, has been deprecated since Python 3.13. (Contributed by " +"Serhiy Storchaka in :gh:`89902`.)" +msgstr "" + msgid "Pending removal in Python 3.19" msgstr "" @@ -3032,9 +3664,6 @@ msgstr "" msgid "The :class:`argparse.FileType` type converter is deprecated." msgstr "" -msgid "``bool(NotImplemented)``." -msgstr "``bool(NotImplemented)``." - msgid "" "Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature " "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " @@ -3070,9 +3699,6 @@ msgid "" "`complex`." msgstr "" -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - msgid "" "Passing a complex number as the *real* or *imag* argument in the :func:" "`complex` constructor is now deprecated; it should only be passed as a " @@ -3231,7 +3857,7 @@ msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." msgstr "" msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." msgid "" "The internal class ``typing._UnionGenericAlias`` is no longer used to " @@ -3300,465 +3926,250 @@ msgid "" "_clear_internal_caches` instead." msgstr "" -msgid "Removed" -msgstr "" - -msgid "" -"Remove the *type*, *choices*, and *metavar* parameters of :class:`!argparse." -"BooleanOptionalAction`. They were deprecated since 3.12." -msgstr "" - -msgid "" -"Calling :meth:`~argparse.ArgumentParser.add_argument_group` on an argument " -"group, and calling :meth:`~argparse.ArgumentParser.add_argument_group` or :" -"meth:`~argparse.ArgumentParser.add_mutually_exclusive_group` on a mutually " -"exclusive group now raise exceptions. This nesting was never supported, " -"often failed to work correctly, and was unintentionally exposed through " -"inheritance. This functionality has been deprecated since Python 3.11. " -"(Contributed by Savannah Ostrowski in :gh:`127186`.)" -msgstr "" - -msgid "" -"Remove the following classes. They were all deprecated since Python 3.8, and " -"have emitted deprecation warnings since Python 3.12:" -msgstr "" - -msgid ":class:`!ast.Bytes`" -msgstr ":class:`!ast.Bytes`" - -msgid ":class:`!ast.Ellipsis`" -msgstr ":class:`!ast.Ellipsis`" - -msgid ":class:`!ast.NameConstant`" -msgstr ":class:`!ast.NameConstant`" - -msgid ":class:`!ast.Num`" -msgstr ":class:`!ast.Num`" - -msgid ":class:`!ast.Str`" -msgstr ":class:`!ast.Str`" - -msgid "" -"Use :class:`ast.Constant` instead. As a consequence of these removals, user-" -"defined ``visit_Num``, ``visit_Str``, ``visit_Bytes``, " -"``visit_NameConstant`` and ``visit_Ellipsis`` methods on custom :class:`ast." -"NodeVisitor` subclasses will no longer be called when the :class:`!" -"NodeVisitor` subclass is visiting an AST. Define a ``visit_Constant`` method " -"instead." -msgstr "" - -msgid "" -"Also, remove the following deprecated properties on :class:`ast.Constant`, " -"which were present for compatibility with the now-removed AST classes:" -msgstr "" - -msgid ":attr:`!ast.Constant.n`" -msgstr "" - -msgid ":attr:`!ast.Constant.s`" -msgstr "" - -msgid "" -"Use :attr:`!ast.Constant.value` instead. (Contributed by Alex Waygood in :gh:" -"`119562`.)" -msgstr "" - -msgid "" -"Remove the following classes and functions. They were all deprecated and " -"emitted deprecation warnings since Python 3.12:" -msgstr "" - -msgid ":func:`!asyncio.get_child_watcher`" -msgstr "" - -msgid ":func:`!asyncio.set_child_watcher`" -msgstr "" - -msgid ":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`" -msgstr "" - -msgid ":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`" -msgstr "" - -msgid ":class:`!asyncio.AbstractChildWatcher`" -msgstr "" - -msgid ":class:`!asyncio.FastChildWatcher`" -msgstr "" - -msgid ":class:`!asyncio.MultiLoopChildWatcher`" -msgstr "" - -msgid ":class:`!asyncio.PidfdChildWatcher`" -msgstr "" - -msgid ":class:`!asyncio.SafeChildWatcher`" -msgstr "" - -msgid ":class:`!asyncio.ThreadedChildWatcher`" -msgstr "" - -msgid "(Contributed by Kumar Aditya in :gh:`120804`.)" -msgstr "" - -msgid "" -"Removed implicit creation of event loop by :func:`asyncio.get_event_loop`. " -"It now raises a :exc:`RuntimeError` if there is no current event loop. " -"(Contributed by Kumar Aditya in :gh:`126353`.)" -msgstr "" - -msgid "" -"There's a few patterns that use :func:`asyncio.get_event_loop`, most of them " -"can be replaced with :func:`asyncio.run`." -msgstr "" - -msgid "If you're running an async function, simply use :func:`asyncio.run`." -msgstr "" - -msgid "Before::" -msgstr "" - -msgid "" -"async def main():\n" -" ...\n" -"\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" loop.run_until_complete(main())\n" -"finally:\n" -" loop.close()" -msgstr "" - -msgid "After::" -msgstr "" - -msgid "" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main())" -msgstr "" - -msgid "" -"If you need to start something, for example, a server listening on a socket " -"and then run forever, use :func:`asyncio.run` and an :class:`asyncio.Event`." -msgstr "" - -msgid "" -"def start_server(loop):\n" -" ...\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" start_server(loop)\n" -" loop.run_forever()\n" -"finally:\n" -" loop.close()" -msgstr "" - -msgid "" -"def start_server(loop):\n" -" ...\n" -"\n" -"async def main():\n" -" start_server(asyncio.get_running_loop())\n" -" await asyncio.Event().wait()\n" -"\n" -"asyncio.run(main())" -msgstr "" - -msgid "" -"If you need to run something in an event loop, then run some blocking code " -"around it, use :class:`asyncio.Runner`." -msgstr "" - -msgid "" -"async def operation_one():\n" -" ...\n" -"\n" -"def blocking_code():\n" -" ...\n" -"\n" -"async def operation_two():\n" -" ...\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" loop.run_until_complete(operation_one())\n" -" blocking_code()\n" -" loop.run_until_complete(operation_two())\n" -"finally:\n" -" loop.close()" -msgstr "" - -msgid "" -"async def operation_one():\n" -" ...\n" -"\n" -"def blocking_code():\n" -" ...\n" -"\n" -"async def operation_two():\n" -" ...\n" -"\n" -"with asyncio.Runner() as runner:\n" -" runner.run(operation_one())\n" -" blocking_code()\n" -" runner.run(operation_two())" -msgstr "" - -msgid "collections.abc" +msgid "CPython bytecode changes" msgstr "" msgid "" -"Remove :class:`!collections.abc.ByteString`. It had previously raised a :exc:" -"`DeprecationWarning` since Python 3.12." -msgstr "" - -msgid "email" +"Replaced the opcode :opcode:`!BINARY_SUBSCR` by the :opcode:`BINARY_OP` " +"opcode with the ``NB_SUBSCR`` oparg. (Contributed by Irit Katriel in :gh:" +"`100239`.)" msgstr "" msgid "" -"Remove the *isdst* parameter from :func:`email.utils.localtime`. " -"(Contributed by Hugo van Kemenade in :gh:`118798`.)" -msgstr "" - -msgid "importlib" -msgstr "" - -msgid "Remove deprecated :mod:`importlib.abc` classes:" -msgstr "" - -msgid ":class:`!importlib.abc.ResourceReader`" -msgstr ":class:`!importlib.abc.ResourceReader`" - -msgid ":class:`!importlib.abc.Traversable`" -msgstr ":class:`!importlib.abc.Traversable`" - -msgid ":class:`!importlib.abc.TraversableResources`" -msgstr ":class:`!importlib.abc.TraversableResources`" - -msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" - -msgid ":class:`importlib.resources.abc.Traversable`" -msgstr ":class:`importlib.resources.abc.Traversable`" - -msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr ":class:`importlib.resources.abc.TraversableResources`" - -msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" - -msgid "itertools" +"Add the :opcode:`BUILD_INTERPOLATION` and :opcode:`BUILD_TEMPLATE` opcodes " +"to construct new :class:`~string.templatelib.Interpolation` and :class:" +"`~string.templatelib.Template` instances, respectively. (Contributed by " +"Lysandros Nikolaou and others in :gh:`132661`; see also :ref:`PEP 750: " +"Template strings `)." msgstr "" msgid "" -"Remove :mod:`itertools` support for copy, deepcopy, and pickle operations. " -"These had previously raised a :exc:`DeprecationWarning` since Python 3.12. " -"(Contributed by Raymond Hettinger in :gh:`101588`.)" +"Remove the :opcode:`!BUILD_CONST_KEY_MAP` opcode. Use :opcode:`BUILD_MAP` " +"instead. (Contributed by Mark Shannon in :gh:`122160`.)" msgstr "" msgid "" -"Remove support for passing additional keyword arguments to :class:`pathlib." -"Path`. In previous versions, any such arguments are ignored." +"Replace the :opcode:`!LOAD_ASSERTION_ERROR` opcode with :opcode:" +"`LOAD_COMMON_CONSTANT` and add support for loading :exc:" +"`NotImplementedError`." msgstr "" msgid "" -"Remove support for passing additional positional arguments to :meth:`pathlib." -"PurePath.relative_to` and :meth:`~pathlib.PurePath.is_relative_to`. In " -"previous versions, any such arguments are joined onto *other*." -msgstr "" - -msgid "pkgutil" +"Add the :opcode:`LOAD_FAST_BORROW` and :opcode:" +"`LOAD_FAST_BORROW_LOAD_FAST_BORROW` opcodes to reduce reference counting " +"overhead when the interpreter can prove that the reference in the frame " +"outlives the reference loaded onto the stack. (Contributed by Matt Page in :" +"gh:`130704`.)" msgstr "" msgid "" -"Remove deprecated :func:`!pkgutil.get_loader` and :func:`!pkgutil." -"find_loader`. These had previously raised a :exc:`DeprecationWarning` since " -"Python 3.12. (Contributed by Bénédikt Tran in :gh:`97850`.)" -msgstr "" - -msgid "pty" +"Add the :opcode:`LOAD_SMALL_INT` opcode, which pushes a small integer equal " +"to the ``oparg`` to the stack. The :opcode:`!RETURN_CONST` opcode is removed " +"as it is no longer used. (Contributed by Mark Shannon in :gh:`125837`.)" msgstr "" msgid "" -"Remove deprecated :func:`!pty.master_open` and :func:`!pty.slave_open`. They " -"had previously raised a :exc:`DeprecationWarning` since Python 3.12. Use :" -"func:`pty.openpty` instead. (Contributed by Nikita Sobolev in :gh:`118824`.)" -msgstr "" - -msgid "sqlite3" +"Add the new :opcode:`LOAD_SPECIAL` instruction. Generate code for :keyword:" +"`with` and :keyword:`async with` statements using the new instruction. " +"Removed the :opcode:`!BEFORE_WITH` and :opcode:`!BEFORE_ASYNC_WITH` " +"instructions. (Contributed by Mark Shannon in :gh:`120507`.)" msgstr "" msgid "" -"Remove :data:`!version` and :data:`!version_info` from :mod:`sqlite3`. " -"(Contributed by Hugo van Kemenade in :gh:`118924`.)" +"Add the :opcode:`POP_ITER` opcode to support 'virtual' iterators. " +"(Contributed by Mark Shannon in :gh:`132554`.)" msgstr "" -msgid "" -"Disallow using a sequence of parameters with named placeholders. This had " -"previously raised a :exc:`DeprecationWarning` since Python 3.12; it will now " -"raise a :exc:`sqlite3.ProgrammingError`. (Contributed by Erlend E. Aasland " -"in :gh:`118928` and :gh:`101693`.)" +msgid "Pseudo-instructions" msgstr "" msgid "" -"Remove :class:`!typing.ByteString`. It had previously raised a :exc:" -"`DeprecationWarning` since Python 3.12." -msgstr "" - -msgid ":class:`typing.TypeAliasType` now supports star unpacking." +"Add the :opcode:`!ANNOTATIONS_PLACEHOLDER` pseudo instruction to support " +"partially executed module-level annotations with :ref:`deferred evaluation " +"of annotations `. (Contributed by Jelle " +"Zijlstra in :gh:`130907`.)" msgstr "" msgid "" -"Remove deprecated :class:`!Quoter` class from :mod:`urllib.parse`. It had " -"previously raised a :exc:`DeprecationWarning` since Python 3.11. " -"(Contributed by Nikita Sobolev in :gh:`118827`.)" +"Add the :opcode:`!BINARY_OP_EXTEND` pseudo instruction, which executes a " +"pair of functions (guard and specialization functions) accessed from the " +"inline cache. (Contributed by Irit Katriel in :gh:`100239`.)" msgstr "" msgid "" -"Remove deprecated :class:`!URLopener` and :class:`!FancyURLopener` classes " -"from :mod:`urllib.request`. They had previously raised a :exc:" -"`DeprecationWarning` since Python 3.3." +"Add three specializations for :opcode:`CALL_KW`; :opcode:`!CALL_KW_PY` for " +"calls to Python functions, :opcode:`!CALL_KW_BOUND_METHOD` for calls to " +"bound methods, and :opcode:`!CALL_KW_NON_PY` for all other calls. " +"(Contributed by Mark Shannon in :gh:`118093`.)" msgstr "" msgid "" -"``myopener.open()`` can be replaced with :func:`~urllib.request.urlopen`, " -"and ``myopener.retrieve()`` can be replaced with :func:`~urllib.request." -"urlretrieve`. Customizations to the opener classes can be replaced by " -"passing customized handlers to :func:`~urllib.request.build_opener`. " -"(Contributed by Barney Gale in :gh:`84850`.)" +"Add the :opcode:`JUMP_IF_TRUE` and :opcode:`JUMP_IF_FALSE` pseudo " +"instructions, conditional jumps which do not impact the stack. Replaced by " +"the sequence ``COPY 1``, ``TO_BOOL``, ``POP_JUMP_IF_TRUE/FALSE``. " +"(Contributed by Irit Katriel in :gh:`124285`.)" msgstr "" -msgid "Others" -msgstr "Inne" - msgid "" -"Using :data:`NotImplemented` in a boolean context will now raise a :exc:" -"`TypeError`. It had previously raised a :exc:`DeprecationWarning` since " -"Python 3.9. (Contributed by Jelle Zijlstra in :gh:`118767`.)" +"Add the :opcode:`!LOAD_CONST_MORTAL` pseudo instruction. (Contributed by " +"Mark Shannon in :gh:`128685`.)" msgstr "" msgid "" -"The :func:`int` built-in no longer delegates to :meth:`~object.__trunc__`. " -"Classes that want to support conversion to integer must implement either :" -"meth:`~object.__int__` or :meth:`~object.__index__`. (Contributed by Mark " -"Dickinson in :gh:`119743`.)" -msgstr "" - -msgid "CPython bytecode changes" +"Add the :opcode:`LOAD_CONST_IMMORTAL` pseudo instruction, which does the " +"same as :opcode:`!LOAD_CONST`, but is more efficient for immortal objects. " +"(Contributed by Mark Shannon in :gh:`125837`.)" msgstr "" msgid "" -"Replaced the opcode ``BINARY_SUBSCR`` by :opcode:`BINARY_OP` with oparg " -"``NB_SUBSCR``. (Contributed by Irit Katriel in :gh:`100239`.)" -msgstr "" - -msgid "Porting to Python 3.14" +"Add the :opcode:`NOT_TAKEN` pseudo instruction, used by :mod:`sys." +"monitoring` to record branch events (such as :monitoring-event:" +"`BRANCH_LEFT`). (Contributed by Mark Shannon in :gh:`122548`.)" msgstr "" -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." +msgid "C API changes" msgstr "" -msgid "Changes in the Python API" +msgid "Python configuration C API" msgstr "" msgid "" -":class:`functools.partial` is now a method descriptor. Wrap it in :func:" -"`staticmethod` if you want to preserve the old behavior. (Contributed by " -"Serhiy Storchaka and Dominykas Grigonis in :gh:`121027`.)" +"Add a :ref:`PyInitConfig C API ` to configure the Python " +"initialization without relying on C structures and the ability to make ABI-" +"compatible changes in the future." msgstr "" msgid "" -"The :func:`locale.nl_langinfo` function now sets temporarily the " -"``LC_CTYPE`` locale in some cases. This temporary change affects other " -"threads. (Contributed by Serhiy Storchaka in :gh:`69998`.)" +"Complete the :pep:`587` :ref:`PyConfig C API ` by adding :c:" +"func:`PyInitConfig_AddModule` which can be used to add a built-in extension " +"module; a feature previously referred to as the \"inittab\"." msgstr "" msgid "" -":class:`types.UnionType` is now an alias for :class:`typing.Union`, causing " -"changes in some behaviors. See :ref:`above ` for " -"more details. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -msgid "Build changes" +"Add :c:func:`PyConfig_Get` and :c:func:`PyConfig_Set` functions to get and " +"set the current runtime configuration." msgstr "" msgid "" -"GNU Autoconf 2.72 is now required to generate :file:`configure`. " -"(Contributed by Erlend Aasland in :gh:`115765`.)" +":pep:`587` 'Python Initialization Configuration' unified all the ways to " +"configure Python's initialization. This PEP also unifies the configuration " +"of Python's preinitialization and initialization in a single API. Moreover, " +"this PEP only provides a single choice to embed Python, instead of having " +"two 'Python' and 'Isolated' choices (PEP 587), to further simplify the API." msgstr "" msgid "" -"``#pragma``-based linking with ``python3*.lib`` can now be switched off " -"with :c:expr:`Py_NO_LINK_LIB`. (Contributed by Jean-Christophe Fillion-Robin " -"in :gh:`82909`.)" +"The lower level PEP 587 PyConfig API remains available for use cases with an " +"intentionally higher level of coupling to CPython implementation details " +"(such as emulating the full functionality of CPython's CLI, including its " +"configuration mechanisms)." msgstr "" -msgid "PEP 761: Discontinuation of PGP signatures" +msgid "(Contributed by Victor Stinner in :gh:`107954`.)" msgstr "" -msgid "" -"PGP signatures will not be available for CPython 3.14 and onwards. Users " -"verifying artifacts must use `Sigstore verification materials`_ for " -"verifying CPython artifacts. This change in release process is specified in :" -"pep:`761`." +msgid ":pep:`741` and :pep:`587`" msgstr "" -msgid "C API changes" +msgid "New features in the C API" msgstr "" msgid "" -"Add :c:func:`PyLong_GetSign` function to get the sign of :class:`int` " -"objects. (Contributed by Sergey B Kirpichev in :gh:`116560`.)" +"Add :c:func:`Py_PACK_VERSION` and :c:func:`Py_PACK_FULL_VERSION`, two new " +"macros for bit-packing Python version numbers. This is useful for " +"comparisons with :c:var:`Py_Version` or :c:macro:`PY_VERSION_HEX`. " +"(Contributed by Petr Viktorin in :gh:`128629`.)" msgstr "" msgid "" -"Add a new :c:type:`PyUnicodeWriter` API to create a Python :class:`str` " -"object:" +"Add :c:func:`PyBytes_Join(sep, iterable) ` function, similar " +"to ``sep.join(iterable)`` in Python. (Contributed by Victor Stinner in :gh:" +"`121645`.)" msgstr "" -msgid ":c:func:`PyUnicodeWriter_Create`" +msgid "" +"Add functions to manipulate the configuration of the current runtime Python " +"interpreter (:ref:`PEP 741: Python configuration C API `):" msgstr "" -msgid ":c:func:`PyUnicodeWriter_DecodeUTF8Stateful`" -msgstr "" +msgid ":c:func:`PyConfig_Get`" +msgstr ":c:func:`PyConfig_Get`" -msgid ":c:func:`PyUnicodeWriter_Discard`" -msgstr "" +msgid ":c:func:`PyConfig_GetInt`" +msgstr ":c:func:`PyConfig_GetInt`" -msgid ":c:func:`PyUnicodeWriter_Finish`" -msgstr "" +msgid ":c:func:`PyConfig_Set`" +msgstr ":c:func:`PyConfig_Set`" -msgid ":c:func:`PyUnicodeWriter_Format`" -msgstr "" +msgid ":c:func:`PyConfig_Names`" +msgstr ":c:func:`PyConfig_Names`" -msgid ":c:func:`PyUnicodeWriter_WriteChar`" +msgid "" +"Add functions to configure Python initialization (:ref:`PEP 741: Python " +"configuration C API `):" msgstr "" -msgid ":c:func:`PyUnicodeWriter_WriteRepr`" -msgstr "" +msgid ":c:func:`Py_InitializeFromInitConfig`" +msgstr ":c:func:`Py_InitializeFromInitConfig`" -msgid ":c:func:`PyUnicodeWriter_WriteStr`" -msgstr "" +msgid ":c:func:`PyInitConfig_AddModule`" +msgstr ":c:func:`PyInitConfig_AddModule`" -msgid ":c:func:`PyUnicodeWriter_WriteSubstring`" -msgstr "" +msgid ":c:func:`PyInitConfig_Create`" +msgstr ":c:func:`PyInitConfig_Create`" -msgid ":c:func:`PyUnicodeWriter_WriteUCS4`" -msgstr "" +msgid ":c:func:`PyInitConfig_Free`" +msgstr ":c:func:`PyInitConfig_Free`" -msgid ":c:func:`PyUnicodeWriter_WriteUTF8`" +msgid ":c:func:`PyInitConfig_FreeStrList`" +msgstr ":c:func:`PyInitConfig_FreeStrList`" + +msgid ":c:func:`PyInitConfig_GetError`" +msgstr ":c:func:`PyInitConfig_GetError`" + +msgid ":c:func:`PyInitConfig_GetExitCode`" +msgstr ":c:func:`PyInitConfig_GetExitCode`" + +msgid ":c:func:`PyInitConfig_GetInt`" +msgstr ":c:func:`PyInitConfig_GetInt`" + +msgid ":c:func:`PyInitConfig_GetStr`" +msgstr ":c:func:`PyInitConfig_GetStr`" + +msgid ":c:func:`PyInitConfig_GetStrList`" +msgstr ":c:func:`PyInitConfig_GetStrList`" + +msgid ":c:func:`PyInitConfig_HasOption`" +msgstr ":c:func:`PyInitConfig_HasOption`" + +msgid ":c:func:`PyInitConfig_SetInt`" +msgstr ":c:func:`PyInitConfig_SetInt`" + +msgid ":c:func:`PyInitConfig_SetStr`" +msgstr ":c:func:`PyInitConfig_SetStr`" + +msgid ":c:func:`PyInitConfig_SetStrList`" +msgstr ":c:func:`PyInitConfig_SetStrList`" + +msgid "" +"Add :c:func:`Py_fopen` function to open a file. This works similarly to the " +"standard C :c:func:`!fopen` function, instead accepting a Python object for " +"the *path* parameter and setting an exception on error. The corresponding " +"new :c:func:`Py_fclose` function should be used to close a file. " +"(Contributed by Victor Stinner in :gh:`127350`.)" msgstr "" -msgid ":c:func:`PyUnicodeWriter_WriteWideChar`" +msgid "" +"Add :c:func:`Py_HashBuffer` to compute and return the hash value of a " +"buffer. (Contributed by Antoine Pitrou and Victor Stinner in :gh:`122854`.)" msgstr "" -msgid "(Contributed by Victor Stinner in :gh:`119182`.)" +msgid "" +"Add :c:func:`PyImport_ImportModuleAttr` and :c:func:" +"`PyImport_ImportModuleAttrString` helper functions to import a module and " +"get an attribute of the module. (Contributed by Victor Stinner in :gh:" +"`128911`.)" msgstr "" msgid "" @@ -3767,6 +4178,11 @@ msgid "" "gh:`105201`.)" msgstr "" +msgid "" +"Add :c:func:`PyLong_GetSign` function to get the sign of :class:`int` " +"objects. (Contributed by Sergey B Kirpichev in :gh:`116560`.)" +msgstr "" + msgid "" "Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative` and :c:func:" "`PyLong_IsZero` for checking if :c:type:`PyLongObject` is positive, " @@ -3775,361 +4191,478 @@ msgid "" msgstr "" msgid "" -"Add new functions to convert C ```` numbers from/to Python :class:" -"`int`:" +"Add new functions to convert C ```` numbers to/from Python :class:" +"`int` objects:" msgstr "" msgid ":c:func:`PyLong_AsInt32`" -msgstr "" +msgstr ":c:func:`PyLong_AsInt32`" msgid ":c:func:`PyLong_AsInt64`" -msgstr "" +msgstr ":c:func:`PyLong_AsInt64`" msgid ":c:func:`PyLong_AsUInt32`" -msgstr "" +msgstr ":c:func:`PyLong_AsUInt32`" msgid ":c:func:`PyLong_AsUInt64`" -msgstr "" +msgstr ":c:func:`PyLong_AsUInt64`" msgid ":c:func:`PyLong_FromInt32`" -msgstr "" +msgstr ":c:func:`PyLong_FromInt32`" msgid ":c:func:`PyLong_FromInt64`" -msgstr "" +msgstr ":c:func:`PyLong_FromInt64`" msgid ":c:func:`PyLong_FromUInt32`" -msgstr "" +msgstr ":c:func:`PyLong_FromUInt32`" msgid ":c:func:`PyLong_FromUInt64`" -msgstr "" +msgstr ":c:func:`PyLong_FromUInt64`" msgid "(Contributed by Victor Stinner in :gh:`120389`.)" msgstr "" msgid "" -"Add :c:func:`PyBytes_Join(sep, iterable) ` function, similar " -"to ``sep.join(iterable)`` in Python. (Contributed by Victor Stinner in :gh:" -"`121645`.)" +"Add a new import and export API for Python :class:`int` objects (:pep:`757`):" msgstr "" -msgid "" -"Add :c:func:`Py_HashBuffer` to compute and return the hash value of a " -"buffer. (Contributed by Antoine Pitrou and Victor Stinner in :gh:`122854`.)" +msgid ":c:func:`PyLong_GetNativeLayout`" +msgstr ":c:func:`PyLong_GetNativeLayout`" + +msgid ":c:func:`PyLong_Export`" +msgstr ":c:func:`PyLong_Export`" + +msgid ":c:func:`PyLong_FreeExport`" +msgstr ":c:func:`PyLong_FreeExport`" + +msgid ":c:func:`PyLongWriter_Create`" +msgstr ":c:func:`PyLongWriter_Create`" + +msgid ":c:func:`PyLongWriter_Finish`" +msgstr ":c:func:`PyLongWriter_Finish`" + +msgid ":c:func:`PyLongWriter_Discard`" +msgstr ":c:func:`PyLongWriter_Discard`" + +msgid "(Contributed by Sergey B Kirpichev and Victor Stinner in :gh:`102471`.)" msgstr "" msgid "" -"Add functions to get and set the current runtime Python configuration (:pep:" -"`741`):" +"Add :c:func:`PyMonitoring_FireBranchLeftEvent` and :c:func:" +"`PyMonitoring_FireBranchRightEvent` for generating :monitoring-event:" +"`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events, respectively. " +"(Contributed by Mark Shannon in :gh:`122548`.)" msgstr "" -msgid ":c:func:`PyConfig_Get`" +msgid "" +"Add :c:func:`PyType_Freeze` function to make a type immutable. (Contributed " +"by Victor Stinner in :gh:`121654`.)" msgstr "" -msgid ":c:func:`PyConfig_GetInt`" +msgid "" +"Add :c:func:`PyType_GetBaseByToken` and :c:data:`Py_tp_token` slot for " +"easier superclass identification, which attempts to resolve the type " +"checking issue mentioned in :pep:`PEP 630 <630#type-checking>`. (Contributed " +"in :gh:`124153`.)" msgstr "" -msgid ":c:func:`PyConfig_Set`" +msgid "" +"Add a new :c:func:`PyUnicode_Equal` function to test if two strings are " +"equal. The function is also added to the Limited C API. (Contributed by " +"Victor Stinner in :gh:`124502`.)" msgstr "" -msgid ":c:func:`PyConfig_Names`" +msgid "" +"Add a new :c:type:`PyUnicodeWriter` API to create a Python :class:`str` " +"object, with the following functions:" msgstr "" -msgid "Add functions to configure the Python initialization (:pep:`741`):" -msgstr "" +msgid ":c:func:`PyUnicodeWriter_Create`" +msgstr ":c:func:`PyUnicodeWriter_Create`" -msgid ":c:func:`Py_InitializeFromInitConfig`" -msgstr "" +msgid ":c:func:`PyUnicodeWriter_DecodeUTF8Stateful`" +msgstr ":c:func:`PyUnicodeWriter_DecodeUTF8Stateful`" -msgid ":c:func:`PyInitConfig_AddModule`" -msgstr "" +msgid ":c:func:`PyUnicodeWriter_Discard`" +msgstr ":c:func:`PyUnicodeWriter_Discard`" -msgid ":c:func:`PyInitConfig_Create`" +msgid ":c:func:`PyUnicodeWriter_Finish`" +msgstr ":c:func:`PyUnicodeWriter_Finish`" + +msgid ":c:func:`PyUnicodeWriter_Format`" +msgstr ":c:func:`PyUnicodeWriter_Format`" + +msgid ":c:func:`PyUnicodeWriter_WriteASCII`" msgstr "" -msgid ":c:func:`PyInitConfig_Free`" +msgid ":c:func:`PyUnicodeWriter_WriteChar`" +msgstr ":c:func:`PyUnicodeWriter_WriteChar`" + +msgid ":c:func:`PyUnicodeWriter_WriteRepr`" +msgstr ":c:func:`PyUnicodeWriter_WriteRepr`" + +msgid ":c:func:`PyUnicodeWriter_WriteStr`" +msgstr ":c:func:`PyUnicodeWriter_WriteStr`" + +msgid ":c:func:`PyUnicodeWriter_WriteSubstring`" +msgstr ":c:func:`PyUnicodeWriter_WriteSubstring`" + +msgid ":c:func:`PyUnicodeWriter_WriteUCS4`" +msgstr ":c:func:`PyUnicodeWriter_WriteUCS4`" + +msgid ":c:func:`PyUnicodeWriter_WriteUTF8`" +msgstr ":c:func:`PyUnicodeWriter_WriteUTF8`" + +msgid ":c:func:`PyUnicodeWriter_WriteWideChar`" +msgstr ":c:func:`PyUnicodeWriter_WriteWideChar`" + +msgid "(Contributed by Victor Stinner in :gh:`119182`.)" msgstr "" -msgid ":c:func:`PyInitConfig_FreeStrList`" +msgid "" +"The ``k`` and ``K`` formats in :c:func:`PyArg_ParseTuple` and similar " +"functions now use :meth:`~object.__index__` if available, like all other " +"integer formats. (Contributed by Serhiy Storchaka in :gh:`112068`.)" msgstr "" -msgid ":c:func:`PyInitConfig_GetError`" +msgid "" +"Add support for a new ``p`` format unit in :c:func:`Py_BuildValue` that " +"produces a Python :class:`bool` object from a C integer. (Contributed by " +"Pablo Galindo in :issue:`45325`.)" msgstr "" -msgid ":c:func:`PyInitConfig_GetExitCode`" +msgid "" +"Add :c:func:`PyUnstable_IsImmortal` for determining if an object is :term:" +"`immortal`, for debugging purposes. (Contributed by Peter Bierma in :gh:" +"`128509`.)" msgstr "" -msgid ":c:func:`PyInitConfig_GetInt`" +msgid "" +"Add :c:func:`PyUnstable_Object_EnableDeferredRefcount` for enabling deferred " +"reference counting, as outlined in :pep:`703`." msgstr "" -msgid ":c:func:`PyInitConfig_GetStr`" +msgid "" +"Add :c:func:`PyUnstable_Object_IsUniquelyReferenced` as a replacement for " +"``Py_REFCNT(op) == 1`` on :term:`free threaded ` builds. " +"(Contributed by Peter Bierma in :gh:`133140`.)" msgstr "" -msgid ":c:func:`PyInitConfig_GetStrList`" +msgid "" +"Add :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` to determine if " +"an object is a unique temporary object on the interpreter's operand stack. " +"This can be used in some cases as a replacement for checking if :c:func:" +"`Py_REFCNT` is ``1`` for Python objects passed as arguments to C API " +"functions. (Contributed by Sam Gross in :gh:`133164`.)" msgstr "" -msgid ":c:func:`PyInitConfig_HasOption`" +msgid "Limited C API changes" msgstr "" -msgid ":c:func:`PyInitConfig_SetInt`" +msgid "" +"In the limited C API version 3.14 and newer, :c:func:`Py_TYPE` and :c:func:" +"`Py_REFCNT` are now implemented as an opaque function call to hide " +"implementation details. (Contributed by Victor Stinner in :gh:`120600` and :" +"gh:`124127`.)" msgstr "" -msgid ":c:func:`PyInitConfig_SetStr`" +msgid "" +"Remove the :c:macro:`PySequence_Fast_GET_SIZE`, :c:macro:" +"`PySequence_Fast_GET_ITEM`, and :c:macro:`PySequence_Fast_ITEMS` macros from " +"the limited C API, since they have always been broken in the limited C API. " +"(Contributed by Victor Stinner in :gh:`91417`.)" msgstr "" -msgid ":c:func:`PyInitConfig_SetStrList`" +msgid "Removed C APIs" msgstr "" msgid "" -"Add a new import and export API for Python :class:`int` objects (:pep:`757`):" +"Creating :c:data:`immutable types ` with mutable " +"bases was deprecated in Python 3.12, and now raises a :exc:`TypeError`. " +"(Contributed by Nikita Sobolev in :gh:`119775`.)" msgstr "" -msgid ":c:func:`PyLong_GetNativeLayout`" +msgid "" +"Remove ``PyDictObject.ma_version_tag`` member, which was deprecated in " +"Python 3.12. Use the :c:func:`PyDict_AddWatcher` API instead. (Contributed " +"by Sam Gross in :gh:`124296`.)" msgstr "" -msgid ":c:func:`PyLong_Export`" +msgid "" +"Remove the private ``_Py_InitializeMain()`` function. It was a :term:" +"`provisional API` added to Python 3.8 by :pep:`587`. (Contributed by Victor " +"Stinner in :gh:`129033`.)" msgstr "" -msgid ":c:func:`PyLong_FreeExport`" +msgid "" +"Remove the undocumented APIs :c:macro:`!Py_C_RECURSION_LIMIT` and :c:member:" +"`!PyThreadState.c_recursion_remaining`. These were added in 3.13 and have " +"been removed without deprecation. Use :c:func:`Py_EnterRecursiveCall` to " +"guard against runaway recursion in C code. (Removed by Petr Viktorin in :gh:" +"`133079`, see also :gh:`130396`.)" msgstr "" -msgid ":c:func:`PyLongWriter_Create`" +msgid "Deprecated C APIs" msgstr "" -msgid ":c:func:`PyLongWriter_Finish`" +msgid "" +"The :c:macro:`!Py_HUGE_VAL` macro is now :term:`soft deprecated`. Use :c:" +"macro:`!Py_INFINITY` instead. (Contributed by Sergey B Kirpichev in :gh:" +"`120026`.)" msgstr "" -msgid ":c:func:`PyLongWriter_Discard`" +msgid "" +"The :c:macro:`!Py_IS_NAN`, :c:macro:`!Py_IS_INFINITY`, and :c:macro:`!" +"Py_IS_FINITE` macros are now :term:`soft deprecated`. Use :c:macro:`!" +"isnan`, :c:macro:`!isinf` and :c:macro:`!isfinite` instead, available from :" +"file:`math.h` since C99. (Contributed by Sergey B Kirpichev in :gh:`119613`.)" msgstr "" -msgid "(Contributed by Sergey B Kirpichev and Victor Stinner in :gh:`102471`.)" +msgid "" +"Non-tuple sequences are now deprecated as argument for the ``(items)`` " +"format unit in :c:func:`PyArg_ParseTuple` and other :ref:`argument parsing " +"` functions if *items* contains format units which store a :ref:" +"`borrowed buffer ` or a :term:`borrowed reference`. " +"(Contributed by Serhiy Storchaka in :gh:`50333`.)" msgstr "" msgid "" -"Add :c:func:`PyType_GetBaseByToken` and :c:data:`Py_tp_token` slot for " -"easier superclass identification, which attempts to resolve the `type " -"checking issue `__ " -"mentioned in :pep:`630` (:gh:`124153`)." +"The ``_PyMonitoring_FireBranchEvent`` function is now deprecated and should " +"be replaced with calls to :c:func:`PyMonitoring_FireBranchLeftEvent` and :c:" +"func:`PyMonitoring_FireBranchRightEvent`." msgstr "" msgid "" -"Add :c:func:`PyUnicode_Equal` function to the limited C API: test if two " -"strings are equal. (Contributed by Victor Stinner in :gh:`124502`.)" +"The previously undocumented function :c:func:`PySequence_In` is now :term:" +"`soft deprecated`. Use :c:func:`PySequence_Contains` instead. (Contributed " +"by Yuki Kobayashi in :gh:`127896`.)" msgstr "" msgid "" -"Add :c:func:`PyType_Freeze` function to make a type immutable. (Contributed " -"by Victor Stinner in :gh:`121654`.)" +"The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" +"`PyImport_ImportModule` instead." msgstr "" msgid "" -"Add :c:func:`PyUnstable_Object_EnableDeferredRefcount` for enabling deferred " -"reference counting, as outlined in :pep:`703`." +":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use :c:" +"func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project `__ can be used to get :c:func:" +"`PyWeakref_GetRef` on Python 3.12 and older." msgstr "" msgid "" -"Add :c:func:`PyMonitoring_FireBranchLeftEvent` and :c:func:" -"`PyMonitoring_FireBranchRightEvent` for generating :monitoring-event:" -"`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events, respectively." +":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use :c:" +"type:`wchar_t` instead." msgstr "" msgid "" -"Add :c:func:`Py_fopen` function to open a file. Similar to the :c:func:`!" -"fopen` function, but the *path* parameter is a Python object and an " -"exception is set on error. Add also :c:func:`Py_fclose` function to close a " -"file. (Contributed by Victor Stinner in :gh:`127350`.)" +":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" msgid "" -"Add support of nullable arguments in :c:func:`PyArg_ParseTuple` and similar " -"functions. Adding ``?`` after any format unit makes ``None`` be accepted as " -"a value. (Contributed by Serhiy Storchaka in :gh:`112068`.)" +":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead; " +"Note that some codecs (for example, \"base64\") may return a type other " +"than :class:`str`, such as :class:`bytes`." msgstr "" msgid "" -"The ``k`` and ``K`` formats in :c:func:`PyArg_ParseTuple` and similar " -"functions now use :meth:`~object.__index__` if available, like all other " -"integer formats. (Contributed by Serhiy Storchaka in :gh:`112068`.)" +":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" msgid "" -"Add macros :c:func:`Py_PACK_VERSION` and :c:func:`Py_PACK_FULL_VERSION` for " -"bit-packing Python version numbers. (Contributed by Petr Viktorin in :gh:" -"`128629`.)" +":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead; " +"Note that some codecs (for example, \"base64\") may return a type other " +"than :class:`bytes`, such as :class:`str`." msgstr "" -msgid "" -"Add :c:func:`PyUnstable_IsImmortal` for determining whether an object is :" -"term:`immortal`, for debugging purposes." +msgid "Python initialization functions, deprecated in Python 3.13:" msgstr "" msgid "" -"Add :c:func:`PyImport_ImportModuleAttr` and :c:func:" -"`PyImport_ImportModuleAttrString` helper functions to import a module and " -"get an attribute of the module. (Contributed by Victor Stinner in :gh:" -"`128911`.)" +":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " +"` (:data:`sys.path`) instead." msgstr "" msgid "" -"Add support for a new ``p`` format unit in :c:func:`Py_BuildValue` that " -"allows to take a C integer and produce a Python :class:`bool` object. " -"(Contributed by Pablo Galindo in :issue:`45325`.)" +":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " +"` (:data:`sys.base_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if :ref:" +"`virtual environments ` need to be handled." msgstr "" msgid "" -"Add :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` to determine if " -"an object is a unique temporary object on the interpreter's operand stack. " -"This can be used in some cases as a replacement for checking if :c:func:" -"`Py_REFCNT` is ``1`` for Python objects passed as arguments to C API " -"functions." +":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " +"` (:data:`sys.base_exec_prefix`) instead. Use :c:func:" +"`PyConfig_Get(\"exec_prefix\") ` (:data:`sys.exec_prefix`) if :" +"ref:`virtual environments ` need to be handled." msgstr "" msgid "" -"Add :c:func:`PyUnstable_Object_IsUniquelyReferenced` as a replacement for " -"``Py_REFCNT(op) == 1`` on :term:`free threaded ` builds. " -"(Contributed by Peter Bierma in :gh:`133140`.)" +":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " +"` (:data:`sys.executable`) instead." msgstr "" -msgid "Limited C API changes" +msgid "" +":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " +"` (:data:`sys.executable`) instead." msgstr "" msgid "" -"In the limited C API 3.14 and newer, :c:func:`Py_TYPE` and :c:func:" -"`Py_REFCNT` are now implemented as an opaque function call to hide " -"implementation details. (Contributed by Victor Stinner in :gh:`120600` and :" -"gh:`124127`.)" +":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " +"` or the :envvar:`PYTHONHOME` environment variable instead." msgstr "" msgid "" -"Remove the :c:macro:`PySequence_Fast_GET_SIZE`, :c:macro:" -"`PySequence_Fast_GET_ITEM` and :c:macro:`PySequence_Fast_ITEMS` macros from " -"the limited C API, since these macros never worked in the limited C API. " -"Keep :c:func:`PySequence_Fast` in the limited C API. (Contributed by Victor " -"Stinner in :gh:`91417`.)" +"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and older." msgstr "" msgid "" -":c:func:`Py_Finalize` now deletes all interned strings. This is backwards " -"incompatible to any C-Extension that holds onto an interned string after a " -"call to :c:func:`Py_Finalize` and is then reused after a call to :c:func:" -"`Py_Initialize`. Any issues arising from this behavior will normally result " -"in crashes during the execution of the subsequent call to :c:func:" -"`Py_Initialize` from accessing uninitialized memory. To fix, use an address " -"sanitizer to identify any use-after-free coming from an interned string and " -"deallocate it during module shutdown. (Contributed by Eddie Elizondo in :gh:" -"`113601`.)" +"Functions to configure Python's initialization, deprecated in Python 3.11:" msgstr "" -msgid "" -"The :ref:`Unicode Exception Objects ` C API now raises a :" -"exc:`TypeError` if its exception argument is not a :exc:`UnicodeError` " -"object. (Contributed by Bénédikt Tran in :gh:`127691`.)" +msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." +msgstr "" + +msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." msgstr "" msgid "" -"The interpreter internally avoids some reference count modifications when " -"loading objects onto the operands stack by :term:`borrowing ` references when possible. This can lead to smaller reference " -"count values compared to previous Python versions. C API extensions that " -"checked :c:func:`Py_REFCNT` of ``1`` to determine if an function argument is " -"not referenced by any other code should instead use :c:func:" -"`PyUnstable_Object_IsUniqueReferencedTemporary` as a safer replacement." +":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " +"instead." msgstr "" -msgid "Private functions promoted to public C APIs:" +msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." msgstr "" -msgid "``_PyBytes_Join()``: :c:func:`PyBytes_Join`" +msgid "" +":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and :data:`!" +"warnings.filters` instead." msgstr "" -msgid "``_PyLong_IsNegative()``: :c:func:`PyLong_IsNegative`" +msgid "" +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` instead." msgstr "" -msgid "``_PyLong_IsPositive()``: :c:func:`PyLong_IsPositive`" +msgid "Global configuration variables:" msgstr "" -msgid "``_PyLong_IsZero()``: :c:func:`PyLong_IsZero`" +msgid "" +":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or :c:func:" +"`PyConfig_Get(\"parser_debug\") ` instead." msgstr "" -msgid "``_PyLong_Sign()``: :c:func:`PyLong_GetSign`" +msgid "" +":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or :c:func:" +"`PyConfig_Get(\"verbose\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_Dealloc()``: :c:func:`PyUnicodeWriter_Discard`" +msgid "" +":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or :c:func:" +"`PyConfig_Get(\"quiet\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_Finish()``: :c:func:`PyUnicodeWriter_Finish`" +msgid "" +":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or :c:func:" +"`PyConfig_Get(\"interactive\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_Init()``: use :c:func:`PyUnicodeWriter_Create`" +msgid "" +":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or :c:func:" +"`PyConfig_Get(\"inspect\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_Prepare()``: (no replacement)" +msgid "" +":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or :c:" +"func:`PyConfig_Get(\"optimization_level\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_PrepareKind()``: (no replacement)" +msgid "" +":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or :c:func:" +"`PyConfig_Get(\"site_import\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_WriteChar()``: :c:func:`PyUnicodeWriter_WriteChar`" +msgid "" +":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or :c:" +"func:`PyConfig_Get(\"bytes_warning\") ` instead." msgstr "" -msgid "``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`" +msgid "" +":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or :c:" +"func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." msgstr "" msgid "" -"``_PyUnicodeWriter_WriteSubstring()``: :c:func:" -"`PyUnicodeWriter_WriteSubstring`" +":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " +"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." msgstr "" -msgid "``_PyUnicode_EQ()``: :c:func:`PyUnicode_Equal`" +msgid "" +":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " +"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." msgstr "" -msgid "``_PyUnicode_Equal()``: :c:func:`PyUnicode_Equal`" +msgid "" +":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." +"user_site_directory` or :c:func:`PyConfig_Get(\"user_site_directory\") " +"` instead." msgstr "" msgid "" -"``_Py_GetConfig()``: :c:func:`PyConfig_Get` and :c:func:`PyConfig_GetInt`" +":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or :" +"c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." msgstr "" -msgid "``_Py_HashBytes()``: :c:func:`Py_HashBuffer`" +msgid "" +":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " +"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " +"` instead." msgstr "" -msgid "``_Py_fopen_obj()``: :c:func:`Py_fopen`" +msgid "" +":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or :c:func:" +"`PyConfig_Get(\"isolated\") ` instead." msgstr "" msgid "" -"The `pythoncapi-compat project`_ can be used to get most of these new " -"functions on Python 3.13 and older." +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` or :c:func:" +"`PyConfig_Get(\"legacy_windows_fs_encoding\") ` instead." msgstr "" msgid "" -"The :c:macro:`!Py_HUGE_VAL` macro is :term:`soft deprecated`, use :c:macro:`!" -"Py_INFINITY` instead. (Contributed by Sergey B Kirpichev in :gh:`120026`.)" +":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." +"legacy_windows_stdio` or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") " +"` instead." msgstr "" msgid "" -"Macros :c:macro:`!Py_IS_NAN`, :c:macro:`!Py_IS_INFINITY` and :c:macro:`!" -"Py_IS_FINITE` are :term:`soft deprecated`, use instead :c:macro:`!isnan`, :c:" -"macro:`!isinf` and :c:macro:`!isfinite` available from :file:`math.h` since " -"C99. (Contributed by Sergey B Kirpichev in :gh:`119613`.)" +":c:var:`!Py_FileSystemDefaultEncoding`, :c:var:`!" +"Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." +"filesystem_encoding` or :c:func:`PyConfig_Get(\"filesystem_encoding\") " +"` instead." msgstr "" msgid "" -"Non-tuple sequences are deprecated as argument for the ``(items)`` format " -"unit in :c:func:`PyArg_ParseTuple` and other :ref:`argument parsing ` functions if *items* contains format units which store a :ref:" -"`borrowed buffer ` or a :term:`borrowed reference`. " -"(Contributed by Serhiy Storchaka in :gh:`50333`.)" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." +"filesystem_errors` or :c:func:`PyConfig_Get(\"filesystem_errors\") " +"` instead." msgstr "" msgid "" -"The previously undocumented function :c:func:`PySequence_In` is :term:`soft " -"deprecated`. Use :c:func:`PySequence_Contains` instead. (Contributed by Yuki " -"Kobayashi in :gh:`127896`.)" +":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or :c:func:" +"`PyConfig_Get(\"utf8_mode\") ` instead. (see :c:func:" +"`Py_PreInitialize`)" msgstr "" msgid "" -"The ``PyMonitoring_FireBranchEvent`` function is deprecated and should be " -"replaced with calls to :c:func:`PyMonitoring_FireBranchLeftEvent` and :c:" -"func:`PyMonitoring_FireBranchRightEvent`." +"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" +"`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be used to " +"get these options at runtime." +msgstr "" + +msgid "The bundled copy of ``libmpdec``." msgstr "" msgid "" @@ -4203,7 +4736,7 @@ msgstr "" msgid "" ":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " "``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with :c:func:" -"`PyUnicodeWriter_WriteUTF8(writer, str) `." +"`PyUnicodeWriter_WriteASCII(writer, str) `." msgstr "" msgid "" @@ -4212,6 +4745,12 @@ msgid "" "`PyUnicodeWriter_WriteUTF8(writer, str) `." msgstr "" +msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." +msgstr "" + +msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." +msgstr "" + msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." msgstr "" @@ -4219,354 +4758,549 @@ msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." msgstr "" msgid "" -"The `pythoncapi-compat project`_ can be used to get these new public " -"functions on Python 3.13 and older. (Contributed by Victor Stinner in :gh:" -"`128863`.)" +"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and older. " +"(Contributed by Victor Stinner in :gh:`128863`.)" +msgstr "" + +msgid "" +"The following APIs are deprecated and will be removed, although there is " +"currently no date scheduled for their removal." +msgstr "" + +msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." msgstr "" -msgid "The bundled copy of ``libmpdecimal``." +msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." msgstr "" msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" -"`PyImport_ImportModule` instead." +":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " +"instead." msgstr "" msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use :c:" -"func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project `__ can be used to get :c:func:" -"`PyWeakref_GetRef` on Python 3.12 and older." +":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." msgstr "" msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use :c:" -"type:`wchar_t` instead." +":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " +"instead." +msgstr "" + +msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." msgstr "" msgid "" -":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." +":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices` instead." +msgstr "" + +msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" +msgstr "" + +msgid ":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." msgstr "" msgid "" -":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead; " -"Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`str`, such as :class:`bytes`." +":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " +"instead." msgstr "" msgid "" -":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." +":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " +"instead." +msgstr "" + +msgid "Thread Local Storage (TLS) API:" msgstr "" msgid "" -":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead; " -"Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`bytes`, such as :class:`str`." +":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." msgstr "" -msgid "Python initialization functions, deprecated in Python 3.13:" +msgid ":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." msgstr "" msgid "" -":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " -"` (:data:`sys.path`) instead." +":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." msgstr "" msgid "" -":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. Use :c:func:" -"`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if :ref:" -"`virtual environments ` need to be handled." +":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." +msgstr "" + +msgid "" +":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " +"instead." +msgstr "" + +msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." +msgstr "" + +msgid "Build changes" +msgstr "" + +msgid "" +":pep:`776`: Emscripten is now an officially supported platform at :pep:`tier " +"3 <11#tier-3>`. As a part of this effort, more than 25 bugs in `Emscripten " +"libc`__ were fixed. Emscripten now includes support for :mod:`ctypes`, :mod:" +"`termios`, and :mod:`fcntl`, as well as experimental support for the new :" +"ref:`default interactive shell `. (Contributed by R. Hood " +"Chatham in :gh:`127146`, :gh:`127683`, and :gh:`136931`.)" +msgstr "" + +msgid "Official Android binary releases are now provided on python.org__." +msgstr "" + +msgid "" +"GNU Autoconf 2.72 is now required to generate :file:`configure`. " +"(Contributed by Erlend Aasland in :gh:`115765`.)" +msgstr "" + +msgid "" +"``wasm32-unknown-emscripten`` is now a :pep:`11` tier 3 platform. " +"(Contributed by R. Hood Chatham in :gh:`127146`, :gh:`127683`, and :gh:" +"`136931`.)" +msgstr "" + +msgid "" +"``#pragma``-based linking with ``python3*.lib`` can now be switched off " +"with :c:expr:`Py_NO_LINK_LIB`. (Contributed by Jean-Christophe Fillion-Robin " +"in :gh:`82909`.)" +msgstr "" + +msgid "" +"CPython now enables a set of recommended compiler options by default for " +"improved security. Use the :option:`--disable-safety` :file:`configure` " +"option to disable them, or the :option:`--enable-slower-safety` option for a " +"larger set of compiler options, albeit with a performance cost." +msgstr "" + +msgid "" +"The ``WITH_FREELISTS`` macro and ``--without-freelists`` :file:`configure` " +"option have been removed." +msgstr "" + +msgid "" +"The new :file:`configure` option :option:`--with-tail-call-interp` may be " +"used to enable the experimental tail call interpreter. See :ref:`whatsnew314-" +"tail-call-interpreter` for further details." +msgstr "" + +msgid "" +"To disable the new remote debugging support, use the :option:`--without-" +"remote-debug` :file:`configure` option. This may be useful for security " +"reasons." +msgstr "" + +msgid "" +"iOS and macOS apps can now be configured to redirect ``stdout`` and " +"``stderr`` content to the system log. (Contributed by Russell Keith-Magee " +"in :gh:`127592`.)" +msgstr "" + +msgid "" +"The iOS testbed is now able to stream test output while the test is running. " +"The testbed can also be used to run the test suite of projects other than " +"CPython itself. (Contributed by Russell Keith-Magee in :gh:`127592`.)" msgstr "" -msgid "" -":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. Use :c:func:" -"`PyConfig_Get(\"exec_prefix\") ` (:data:`sys.exec_prefix`) if :" -"ref:`virtual environments ` need to be handled." +msgid ":file:`build-details.json`" msgstr "" msgid "" -":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." +"Installations of Python now contain a new file, :file:`build-details.json`. " +"This is a static JSON document containing build details for CPython, to " +"allow for introspection without needing to run code. This is helpful for use-" +"cases such as Python launchers, cross-compilation, and so on." msgstr "" msgid "" -":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." +":file:`build-details.json` must be installed in the platform-independent " +"standard library directory. This corresponds to the :ref:`'stdlib' " +"` :mod:`sysconfig` installation path, which can be found " +"by running ``sysconfig.get_path('stdlib')``." msgstr "" msgid "" -":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " -"` or the :envvar:`PYTHONHOME` environment variable instead." +":pep:`739` -- ``build-details.json`` 1.0 -- a static description file for " +"Python build details" msgstr "" -msgid "" -"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and older." +msgid "Discontinuation of PGP signatures" msgstr "" msgid "" -"Functions to configure Python's initialization, deprecated in Python 3.11:" +"PGP (Pretty Good Privacy) signatures will not be provided for releases of " +"Python 3.14 or future versions. To verify CPython artifacts, users must use " +"`Sigstore verification materials `__. Releases have been signed using Sigstore_ since Python 3.11." msgstr "" -msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." +msgid "This change in release process was specified in :pep:`761`." msgstr "" -msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." +msgid "Free-threaded Python is officially supported" msgstr "" msgid "" -":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " -"instead." +"The free-threaded build of Python is now supported and no longer " +"experimental. This is the start of `phase II `__ where free-threaded Python is officially supported but still " +"optional." msgstr "" -msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." +msgid "" +"The free-threading team are confident that the project is on the right path, " +"and appreciate the continued dedication from everyone working to make free-" +"threading ready for broader adoption across the Python community." msgstr "" msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and :data:`!" -"warnings.filters` instead." +"With these recommendations and the acceptance of this PEP, the Python " +"developer community should broadly advertise that free-threading is a " +"supported Python build option now and into the future, and that it will not " +"be removed without a proper deprecation schedule." msgstr "" msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" -"`PyConfig` instead." +"Any decision to transition to `phase III `__, with free-threading as the default or sole build of Python is " +"still undecided, and dependent on many factors both within CPython itself " +"and the community. This decision is for the future." msgstr "" -msgid "Global configuration variables:" +msgid ":pep:`779`" msgstr "" -msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or :c:func:" -"`PyConfig_Get(\"parser_debug\") ` instead." +msgid "`PEP 779's acceptance `__" msgstr "" -msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or :c:func:" -"`PyConfig_Get(\"verbose\") ` instead." +msgid "Binary releases for the experimental just-in-time compiler" msgstr "" msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or :c:func:" -"`PyConfig_Get(\"quiet\") ` instead." +"The official macOS and Windows release binaries now include an " +"*experimental* just-in-time (JIT) compiler. Although it is **not** " +"recommended for production use, it can be tested by setting :envvar:" +"`PYTHON_JIT=1 ` as an environment variable. Downstream source " +"builds and redistributors can use the :option:`--enable-experimental-jit=yes-" +"off` configuration option for similar behavior." msgstr "" msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or :c:func:" -"`PyConfig_Get(\"interactive\") ` instead." +"The JIT is at an early stage and still in active development. As such, the " +"typical performance impact of enabling it can range from 10% slower to 20% " +"faster, depending on workload. To aid in testing and evaluation, a set of " +"introspection functions has been provided in the :data:`sys._jit` " +"namespace. :func:`sys._jit.is_available` can be used to determine if the " +"current executable supports JIT compilation, while :func:`sys._jit." +"is_enabled` can be used to tell if JIT compilation has been enabled for the " +"current process." msgstr "" msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or :c:func:" -"`PyConfig_Get(\"inspect\") ` instead." +"Currently, the most significant missing functionality is that native " +"debuggers and profilers like ``gdb`` and ``perf`` are unable to unwind " +"through JIT frames (Python debuggers and profilers, like :mod:`pdb` or :mod:" +"`profile`, continue to work without modification). Free-threaded builds do " +"not support JIT compilation." msgstr "" msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or :c:" -"func:`PyConfig_Get(\"optimization_level\") ` instead." +"Please report any bugs or major performance regressions that you encounter!" msgstr "" -msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or :c:func:" -"`PyConfig_Get(\"site_import\") ` instead." +msgid ":pep:`744`" +msgstr ":pep:`744`" + +msgid "Porting to Python 3.14" msgstr "" msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or :c:" -"func:`PyConfig_Get(\"bytes_warning\") ` instead." +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" + +msgid "Changes in the Python API" msgstr "" msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or :c:" -"func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." +"On Unix platforms other than macOS, *forkserver* is now the default :ref:" +"`start method ` for :mod:`multiprocessing` " +"and :class:`~concurrent.futures.ProcessPoolExecutor`, instead of *fork*." msgstr "" msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " -"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." +"See :ref:`(1) ` and :ref:`(2) " +"` for details." msgstr "" msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " -"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." +"If you encounter :exc:`NameError`\\s or pickling errors coming out of :mod:" +"`multiprocessing` or :mod:`concurrent.futures`, see the :ref:`forkserver " +"restrictions `." msgstr "" msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." -"user_site_directory` or :c:func:`PyConfig_Get(\"user_site_directory\") " -"` instead." +"This change does not affect Windows or macOS, where :ref:`'spawn' " +"` remains the default start method." msgstr "" msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or :" -"c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." +":class:`functools.partial` is now a method descriptor. Wrap it in :func:" +"`staticmethod` if you want to preserve the old behavior. (Contributed by " +"Serhiy Storchaka and Dominykas Grigonis in :gh:`121027`.)" msgstr "" msgid "" -":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " -"` instead." +"The :ref:`garbage collector is now incremental `, which means that the behavior of :func:`gc.collect` changes slightly:" msgstr "" msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or :c:func:" -"`PyConfig_Get(\"isolated\") ` instead." +"The :func:`locale.nl_langinfo` function now temporarily sets the " +"``LC_CTYPE`` locale in some cases. This temporary change affects other " +"threads. (Contributed by Serhiy Storchaka in :gh:`69998`.)" msgstr "" msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." -"legacy_windows_fs_encoding` or :c:func:" -"`PyConfig_Get(\"legacy_windows_fs_encoding\") ` instead." +":class:`types.UnionType` is now an alias for :class:`typing.Union`, causing " +"changes in some behaviors. See :ref:`above ` for " +"more details. (Contributed by Jelle Zijlstra in :gh:`105499`.)" msgstr "" msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." -"legacy_windows_stdio` or :c:func:`PyConfig_Get(\"legacy_windows_stdio\") " -"` instead." +"The runtime behavior of annotations has changed in various ways; see :ref:" +"`above ` for details. While most code that " +"interacts with annotations should continue to work, some undocumented " +"details may behave differently." msgstr "" msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`, :c:var:`!" -"Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." -"filesystem_encoding` or :c:func:`PyConfig_Get(\"filesystem_encoding\") " -"` instead." +"As part of making the :mod:`mimetypes` CLI public, it now exits with ``1`` " +"on failure instead of ``0`` and ``2`` on incorrect command-line parameters " +"instead of ``1``. Error messages are now printed to stderr." msgstr "" msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." -"filesystem_errors` or :c:func:`PyConfig_Get(\"filesystem_errors\") " -"` instead." +"The ``\\B`` pattern in regular expression now matches the empty string when " +"given as the entire pattern, which may cause behavioural changes." msgstr "" msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or :c:func:" -"`PyConfig_Get(\"utf8_mode\") ` instead. (see :c:func:" -"`Py_PreInitialize`)" +"On FreeBSD, :data:`sys.platform` no longer contains the major version number." +msgstr "" + +msgid "Changes in annotations (:pep:`649` and :pep:`749`)" msgstr "" msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" -"`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be used to " -"get these options at runtime." +"This section contains guidance on changes that may be needed to annotations " +"or Python code that interacts with or introspects annotations, due to the " +"changes related to :ref:`deferred evaluation of annotations `." msgstr "" -msgid "Pending removal in Python 3.18" +msgid "" +"In the majority of cases, working code from older versions of Python will " +"not require any changes." msgstr "" -msgid "Deprecated private functions (:gh:`128863`):" +msgid "Implications for annotated code" msgstr "" -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." +msgid "" +"If you define annotations in your code (for example, for use with a static " +"type checker), then this change probably does not affect you: you can keep " +"writing annotations the same way you did with previous versions of Python." msgstr "" -msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." +msgid "" +"You will likely be able to remove quoted strings in annotations, which are " +"frequently used for forward references. Similarly, if you use ``from " +"__future__ import annotations`` to avoid having to write strings in " +"annotations, you may well be able to remove that import once you support " +"only Python 3.14 and newer. However, if you rely on third-party libraries " +"that read annotations, those libraries may need changes to support unquoted " +"annotations before they work as expected." msgstr "" -msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." +msgid "Implications for readers of ``__annotations__``" msgstr "" msgid "" -"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and older." +"If your code reads the :attr:`~object.__annotations__` attribute on objects, " +"you may want to make changes in order to support code that relies on " +"deferred evaluation of annotations. For example, you may want to use :func:" +"`annotationlib.get_annotations` with the :attr:`~annotationlib.Format." +"FORWARDREF` format, as the :mod:`dataclasses` module now does." msgstr "" msgid "" -"The following APIs are deprecated and will be removed, although there is " -"currently no date scheduled for their removal." +"The external :pypi:`typing_extensions` package provides partial backports of " +"some of the functionality of the :mod:`annotationlib` module, such as the :" +"class:`~annotationlib.Format` enum and the :func:`~annotationlib." +"get_annotations` function. These can be used to write cross-version code " +"that takes advantage of the new behavior in Python 3.14." msgstr "" -msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." +msgid "Related changes" msgstr "" -msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." +msgid "" +"The changes in Python 3.14 are designed to rework how :attr:`!" +"__annotations__` works at runtime while minimizing breakage to code that " +"contains annotations in source code and to code that reads :attr:`!" +"__annotations__`. However, if you rely on undocumented details of the " +"annotation behavior or on private functions in the standard library, there " +"are many ways in which your code may not work in Python 3.14. To safeguard " +"your code against future changes, only use the documented functionality of " +"the :mod:`annotationlib` module." msgstr "" msgid "" -":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " -"instead." +"In particular, do not read annotations directly from the namespace " +"dictionary attribute of type objects. Use :func:`annotationlib." +"get_annotate_from_class_namespace` during class construction and :func:" +"`annotationlib.get_annotations` afterwards." msgstr "" msgid "" -":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." +"In previous releases, it was sometimes possible to access class annotations " +"from an instance of an annotated class. This behavior was undocumented and " +"accidental, and will no longer work in Python 3.14." +msgstr "" + +msgid "``from __future__ import annotations``" msgstr "" msgid "" -":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " -"instead." +"In Python 3.7, :pep:`563` introduced the ``from __future__ import " +"annotations`` :ref:`future statement `, which turns all annotations " +"into strings." msgstr "" -msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." +msgid "" +"However, this statement is now deprecated and it is expected to be removed " +"in a future version of Python. This removal will not happen until after " +"Python 3.13 reaches its end of life in 2029, being the last version of " +"Python without support for deferred evaluation of annotations." msgstr "" msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" -"`PySlice_AdjustIndices` instead." +"In Python 3.14, the behavior of code using ``from __future__ import " +"annotations`` is unchanged." msgstr "" -msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" +msgid "Changes in the C API" msgstr "" -msgid ":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." +msgid "" +":c:func:`Py_Finalize` now deletes all interned strings. This is backwards " +"incompatible to any C extension that holds onto an interned string after a " +"call to :c:func:`Py_Finalize` and is then reused after a call to :c:func:" +"`Py_Initialize`. Any issues arising from this behavior will normally result " +"in crashes during the execution of the subsequent call to :c:func:" +"`Py_Initialize` from accessing uninitialized memory. To fix, use an address " +"sanitizer to identify any use-after-free coming from an interned string and " +"deallocate it during module shutdown. (Contributed by Eddie Elizondo in :gh:" +"`113601`.)" msgstr "" msgid "" -":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " -"instead." +"The :ref:`Unicode Exception Objects ` C API now raises a :" +"exc:`TypeError` if its exception argument is not a :exc:`UnicodeError` " +"object. (Contributed by Bénédikt Tran in :gh:`127691`.)" msgstr "" msgid "" -":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " -"instead." +"The interpreter internally avoids some reference count modifications when " +"loading objects onto the operands stack by :term:`borrowing ` references when possible. This can lead to smaller reference " +"count values compared to previous Python versions. C API extensions that " +"checked :c:func:`Py_REFCNT` of ``1`` to determine if an function argument is " +"not referenced by any other code should instead use :c:func:" +"`PyUnstable_Object_IsUniqueReferencedTemporary` as a safer replacement." msgstr "" -msgid "Thread Local Storage (TLS) API:" +msgid "Private functions promoted to public C APIs:" msgstr "" -msgid "" -":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." +msgid "``_PyBytes_Join()``: :c:func:`PyBytes_Join`" +msgstr "``_PyBytes_Join()``: :c:func:`PyBytes_Join`" + +msgid "``_PyLong_IsNegative()``: :c:func:`PyLong_IsNegative`" +msgstr "``_PyLong_IsNegative()``: :c:func:`PyLong_IsNegative`" + +msgid "``_PyLong_IsPositive()``: :c:func:`PyLong_IsPositive`" +msgstr "``_PyLong_IsPositive()``: :c:func:`PyLong_IsPositive`" + +msgid "``_PyLong_IsZero()``: :c:func:`PyLong_IsZero`" +msgstr "``_PyLong_IsZero()``: :c:func:`PyLong_IsZero`" + +msgid "``_PyLong_Sign()``: :c:func:`PyLong_GetSign`" +msgstr "``_PyLong_Sign()``: :c:func:`PyLong_GetSign`" + +msgid "``_PyUnicodeWriter_Dealloc()``: :c:func:`PyUnicodeWriter_Discard`" +msgstr "``_PyUnicodeWriter_Dealloc()``: :c:func:`PyUnicodeWriter_Discard`" + +msgid "``_PyUnicodeWriter_Finish()``: :c:func:`PyUnicodeWriter_Finish`" +msgstr "``_PyUnicodeWriter_Finish()``: :c:func:`PyUnicodeWriter_Finish`" + +msgid "``_PyUnicodeWriter_Init()``: use :c:func:`PyUnicodeWriter_Create`" msgstr "" -msgid ":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." +msgid "``_PyUnicodeWriter_Prepare()``: (no replacement)" msgstr "" -msgid "" -":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." +msgid "``_PyUnicodeWriter_PrepareKind()``: (no replacement)" msgstr "" +msgid "``_PyUnicodeWriter_WriteChar()``: :c:func:`PyUnicodeWriter_WriteChar`" +msgstr "``_PyUnicodeWriter_WriteChar()``: :c:func:`PyUnicodeWriter_WriteChar`" + +msgid "``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`" +msgstr "``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`" + msgid "" -":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." +"``_PyUnicodeWriter_WriteSubstring()``: :c:func:" +"`PyUnicodeWriter_WriteSubstring`" msgstr "" +"``_PyUnicodeWriter_WriteSubstring()``: :c:func:" +"`PyUnicodeWriter_WriteSubstring`" + +msgid "``_PyUnicode_EQ()``: :c:func:`PyUnicode_Equal`" +msgstr "``_PyUnicode_EQ()``: :c:func:`PyUnicode_Equal`" + +msgid "``_PyUnicode_Equal()``: :c:func:`PyUnicode_Equal`" +msgstr "``_PyUnicode_Equal()``: :c:func:`PyUnicode_Equal`" msgid "" -":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " -"instead." +"``_Py_GetConfig()``: :c:func:`PyConfig_Get` and :c:func:`PyConfig_GetInt`" msgstr "" -msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" +msgid "``_Py_HashBytes()``: :c:func:`Py_HashBuffer`" +msgstr "``_Py_HashBytes()``: :c:func:`Py_HashBuffer`" -msgid "" -"Creating :c:data:`immutable types ` with mutable " -"bases was deprecated since 3.12 and now raises a :exc:`TypeError`." +msgid "``_Py_fopen_obj()``: :c:func:`Py_fopen`" +msgstr "``_Py_fopen_obj()``: :c:func:`Py_fopen`" + +msgid "``PyMutex_IsLocked()`` : :c:func:`PyMutex_IsLocked`" msgstr "" msgid "" -"Remove ``PyDictObject.ma_version_tag`` member which was deprecated since " -"Python 3.12. Use the :c:func:`PyDict_AddWatcher` API instead. (Contributed " -"by Sam Gross in :gh:`124296`.)" +"The `pythoncapi-compat project`_ can be used to get most of these new " +"functions on Python 3.13 and older." msgstr "" -msgid "" -"Remove the private ``_Py_InitializeMain()`` function. It was a :term:" -"`provisional API` added to Python 3.8 by :pep:`587`. (Contributed by Victor " -"Stinner in :gh:`129033`.)" +msgid "Notable changes in 3.14.1" msgstr "" msgid "" -"The undocumented APIs :c:macro:`!Py_C_RECURSION_LIMIT` and :c:member:`!" -"PyThreadState.c_recursion_remaining`, added in 3.13, are removed without a " -"deprecation period. Please use :c:func:`Py_EnterRecursiveCall` to guard " -"against runaway recursion in C code. (Removed in :gh:`133079`, see also :gh:" -"`130396`.)" +"Add :c:func:`PyUnstable_ThreadState_SetStackProtection` and :c:func:" +"`PyUnstable_ThreadState_ResetStackProtection` functions to set the stack " +"protection base address and stack protection size of a Python thread state. " +"(Contributed by Victor Stinner in :gh:`139653`.)" msgstr "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 7a4df26af4..f5c46848ec 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Maciej Olko , 2021 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -541,7 +539,7 @@ msgid "" "class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:" "`~configparser.ConfigParser`, or :mod:`dbm`. It is also useful with custom :" "class:`dict` subclasses that normalize keys before look-up or that supply a :" -"meth:`__missing__` method for unknown keys::" +"meth:`~object.__missing__` method for unknown keys::" msgstr "" msgid "" @@ -1186,13 +1184,13 @@ msgid "" msgstr "" msgid "" -">>> from datetime import datetime, timezone\n" +">>> import datetime as dt\n" "\n" -">>> datetime.now(timezone.utc)\n" +">>> dt.datetime.now(dt.timezone.utc)\n" "datetime.datetime(2010, 12, 8, 21, 4, 2, 923754, tzinfo=datetime.timezone." "utc)\n" "\n" -">>> datetime.strptime(\"01/01/2000 12:00 +0000\", \"%m/%d/%Y %H:%M %z\")\n" +">>> dt.datetime.strptime(\"01/01/2000 12:00 +0000\", \"%m/%d/%Y %H:%M %z\")\n" "datetime.datetime(2000, 1, 1, 12, 0, tzinfo=datetime.timezone.utc)" msgstr "" @@ -3069,7 +3067,7 @@ msgid "" msgstr "" msgid "Documentation" -msgstr "" +msgstr "Dokumentacja" msgid "The documentation continues to be improved." msgstr "" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index bb3c98c8c7..133a8989af 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -1,21 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -415,7 +413,7 @@ msgstr "" msgid "" "You don't have to worry anymore about choosing the appropriate exception " "type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:" -"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or :exc:`select." +"`WindowsError`, :exc:`!mmap.error`, :exc:`socket.error` or :exc:`select." "error`. All these exception types are now only one: :exc:`OSError`. The " "other names are kept as aliases for compatibility reasons." msgstr "" @@ -1030,8 +1028,8 @@ msgstr "" msgid "" "New methods have been added to :class:`list` and :class:`bytearray`: " "``copy()`` and ``clear()`` (:issue:`10516`). Consequently, :class:" -"`~collections.abc.MutableSequence` now also defines a :meth:`~collections." -"abc.MutableSequence.clear` method (:issue:`11388`)." +"`~collections.abc.MutableSequence` now also defines a :meth:`!clear` method " +"(:issue:`11388`)." msgstr "" msgid "" @@ -1122,10 +1120,11 @@ msgid "" "This new debug module :mod:`faulthandler` contains functions to dump Python " "tracebacks explicitly, on a fault (a crash like a segmentation fault), after " "a timeout, or on a user signal. Call :func:`faulthandler.enable` to install " -"fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :" -"const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at " -"startup by setting the :envvar:`PYTHONFAULTHANDLER` environment variable or " -"by using :option:`-X` ``faulthandler`` command line option." +"fault handlers for the :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :" +"const:`~signal.SIGABRT`, :const:`~signal.SIGBUS`, and :const:`~signal." +"SIGILL` signals. You can also enable them at startup by setting the :envvar:" +"`PYTHONFAULTHANDLER` environment variable or by using :option:`-X` " +"``faulthandler`` command line option." msgstr "" msgid "Example of a segmentation fault on Linux:" @@ -1177,7 +1176,7 @@ msgstr "" msgid "" "Improved support for abstract base classes containing descriptors composed " "with abstract methods. The recommended approach to declaring abstract " -"descriptors is now to provide :attr:`__isabstractmethod__` as a dynamically " +"descriptors is now to provide :attr:`!__isabstractmethod__` as a dynamically " "updated property. The built-in descriptors have been updated accordingly." msgstr "" @@ -1235,7 +1234,7 @@ msgid "" msgstr "" msgid "bz2" -msgstr "" +msgstr "bz2" msgid "" "The :mod:`bz2` module has been rewritten from scratch. In the process, " @@ -1267,7 +1266,7 @@ msgstr "" msgid "" ":class:`bz2.BZ2File` now implements all of the :class:`io.BufferedIOBase` " -"API, except for the :meth:`detach` and :meth:`truncate` methods." +"API, except for the :meth:`!detach` and :meth:`!truncate` methods." msgstr "" msgid "codecs" @@ -1376,8 +1375,8 @@ msgstr "" msgid "" "If the :mod:`curses` module is linked to the ncursesw library, use Unicode " -"functions when Unicode strings or characters are passed (e.g. :c:func:" -"`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)." +"functions when Unicode strings or characters are passed (e.g. :c:func:`!" +"waddwstr`), and bytes functions otherwise (e.g. :c:func:`!waddstr`)." msgstr "" msgid "Use the locale encoding instead of ``utf-8`` to encode Unicode strings." @@ -1516,13 +1515,13 @@ msgid "" msgstr "" msgid "32-bit" -msgstr "" +msgstr "32-bit" msgid "64-bit" -msgstr "" +msgstr "64-bit" -msgid ":const:`MAX_PREC`" -msgstr ":const:`MAX_PREC`" +msgid ":const:`~decimal.MAX_PREC`" +msgstr "" msgid "``425000000``" msgstr "``425000000``" @@ -1530,11 +1529,11 @@ msgstr "``425000000``" msgid "``999999999999999999``" msgstr "``999999999999999999``" -msgid ":const:`MAX_EMAX`" -msgstr ":const:`MAX_EMAX`" +msgid ":const:`~decimal.MAX_EMAX`" +msgstr "" -msgid ":const:`MIN_EMIN`" -msgstr ":const:`MIN_EMIN`" +msgid ":const:`~decimal.MIN_EMIN`" +msgstr "" msgid "``-425000000``" msgstr "``-425000000``" @@ -1913,10 +1912,10 @@ msgstr "" msgid "" ":class:`html.parser.HTMLParser` is now able to parse broken markup without " "raising errors, therefore the *strict* argument of the constructor and the :" -"exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability " -"to parse broken markup is the result of a number of bug fixes that are also " -"available on the latest bug fix releases of Python 2.7/3.2. (Contributed by " -"Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, :issue:" +"exc:`!HTMLParseError` exception are now deprecated. The ability to parse " +"broken markup is the result of a number of bug fixes that are also available " +"on the latest bug fix releases of Python 2.7/3.2. (Contributed by Ezio " +"Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, :issue:" "`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :" "issue:`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:" "`12888`, :issue:`7311`.)" @@ -1979,9 +1978,9 @@ msgstr "" msgid "" "The constructor of the :class:`~io.TextIOWrapper` class has a new " "*write_through* optional argument. If *write_through* is ``True``, calls to :" -"meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data " -"written on the :class:`~io.TextIOWrapper` object is immediately handled to " -"its underlying binary buffer." +"meth:`!write` are guaranteed not to be buffered: any data written on the :" +"class:`~io.TextIOWrapper` object is immediately handled to its underlying " +"binary buffer." msgstr "" msgid "itertools" @@ -2002,11 +2001,10 @@ msgid "" msgstr "" msgid "" -"A class level attribute :attr:`~logging.handlers.SysLogHandler.append_nul` " -"has been added to :class:`~logging.handlers.SysLogHandler` to allow control " -"of the appending of the ``NUL`` (``\\000``) byte to syslog records, since " -"for some daemons it is required while for others it is passed through to the " -"log." +"A class level attribute :attr:`!append_nul` has been added to :class:" +"`~logging.handlers.SysLogHandler` to allow control of the appending of the " +"``NUL`` (``\\000``) byte to syslog records, since for some daemons it is " +"required while for others it is passed through to the log." msgstr "" msgid "math" @@ -2040,9 +2038,9 @@ msgid "" msgstr "" msgid "" -":class:`multiprocessing.Connection` objects can now be transferred over " -"multiprocessing connections. (Contributed by Richard Oudkerk in :issue:" -"`4892`.)" +":class:`multiprocessing.connection.Connection` objects can now be " +"transferred over multiprocessing connections. (Contributed by Richard " +"Oudkerk in :issue:`4892`.)" msgstr "" msgid "" @@ -2135,7 +2133,7 @@ msgid "" "`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :" "func:`~os.unlink`, :func:`~os.utime`. Platform support for using these " "parameters can be checked via the sets :data:`os.supports_dir_fd` and :data:" -"`os.supports_follows_symlinks`." +"`os.supports_follow_symlinks`." msgstr "" msgid "" @@ -2275,7 +2273,7 @@ msgid "" "`~os.RTLD_NOLOAD`, and :const:`~os.RTLD_DEEPBIND` are available on platforms " "that support them. These are for use with the :func:`sys.setdlopenflags` " "function, and supersede the similar constants defined in :mod:`ctypes` and :" -"mod:`DLFCN`. (Contributed by Victor Stinner in :issue:`13226`.)" +"mod:`!DLFCN`. (Contributed by Victor Stinner in :issue:`13226`.)" msgstr "" msgid "" @@ -2310,9 +2308,9 @@ msgid "pydoc" msgstr "" msgid "" -"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the :" -"mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " -"deprecated in Python 3.2." +"The Tk GUI and the :func:`!serve` function have been removed from the :mod:" +"`pydoc` module: ``pydoc -g`` and :func:`!serve` have been deprecated in " +"Python 3.2." msgstr "" msgid "re" @@ -2591,7 +2589,7 @@ msgid "" "bytes." msgstr "" -msgid ":func:`~ssl.RAND_pseudo_bytes`: generate pseudo-random bytes." +msgid ":func:`!RAND_pseudo_bytes`: generate pseudo-random bytes." msgstr "" msgid "(Contributed by Victor Stinner in :issue:`12049`.)" @@ -2707,9 +2705,8 @@ msgid "tempfile" msgstr "" msgid "" -":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile." -"SpooledTemporaryFile.truncate` method now accepts a ``size`` parameter. " -"(Contributed by Ryan Kelly in :issue:`9957`.)" +":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`!truncate` method now " +"accepts a ``size`` parameter. (Contributed by Ryan Kelly in :issue:`9957`.)" msgstr "" msgid "textwrap" @@ -2847,7 +2844,7 @@ msgstr "" msgid "" "The :mod:`xml.etree.ElementTree` module now imports its C accelerator by " -"default; there is no longer a need to explicitly import :mod:`xml.etree." +"default; there is no longer a need to explicitly import :mod:`!xml.etree." "cElementTree` (this module stays for backwards compatibility, but is now " "deprecated). In addition, the ``iter`` family of methods of :class:`~xml." "etree.ElementTree.Element` has been optimized (rewritten in C). The module's " @@ -2929,7 +2926,7 @@ msgid ":c:func:`PyUnicode_FindChar`" msgstr ":c:func:`PyUnicode_FindChar`" msgid ":c:func:`PyUnicode_GetLength`, :c:macro:`PyUnicode_GET_LENGTH`" -msgstr "" +msgstr ":c:func:`PyUnicode_GetLength`, :c:macro:`PyUnicode_GET_LENGTH`" msgid ":c:func:`PyUnicode_New`" msgstr ":c:func:`PyUnicode_New`" @@ -2938,7 +2935,7 @@ msgid ":c:func:`PyUnicode_Substring`" msgstr ":c:func:`PyUnicode_Substring`" msgid ":c:func:`PyUnicode_ReadChar`, :c:func:`PyUnicode_WriteChar`" -msgstr "" +msgstr ":c:func:`PyUnicode_ReadChar`, :c:func:`PyUnicode_WriteChar`" msgid "Low-level API:" msgstr "" @@ -2956,7 +2953,7 @@ msgid ":c:func:`PyUnicode_FromKindAndData`" msgstr ":c:func:`PyUnicode_FromKindAndData`" msgid ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" -msgstr "" +msgstr ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" msgid "" ":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" @@ -2964,7 +2961,7 @@ msgid "" msgstr "" msgid "" -":c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum: :c:data:`!" +":c:macro:`PyUnicode_KIND` with :c:enum:`!PyUnicode_Kind` enum: :c:data:`!" "PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" "`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" msgstr "" @@ -3019,7 +3016,7 @@ msgid "" msgstr "" msgid "" -":func:`platform.popen`: use the :mod:`subprocess` module. Check especially " +":func:`!platform.popen`: use the :mod:`subprocess` module. Check especially " "the :ref:`subprocess-replacements` section (:issue:`11377`)." msgstr "" @@ -3030,17 +3027,17 @@ msgid "" msgstr "" msgid "" -":issue:`13988`: The :mod:`xml.etree.cElementTree` module is deprecated. The " -"accelerator is used automatically whenever available." +":issue:`13988`: The :mod:`!xml.etree.cElementTree` module is deprecated. " +"The accelerator is used automatically whenever available." msgstr "" msgid "" -"The behaviour of :func:`time.clock` depends on the platform: use the new :" +"The behaviour of :func:`!time.clock` depends on the platform: use the new :" "func:`time.perf_counter` or :func:`time.process_time` function instead, " "depending on your requirements, to have a well defined behaviour." msgstr "" -msgid "The :func:`os.stat_float_times` function is deprecated." +msgid "The :func:`!os.stat_float_times` function is deprecated." msgstr "" msgid ":mod:`abc` module:" @@ -3190,6 +3187,8 @@ msgid "" ":c:func:`!PyUnicode_EncodeDecimal`, :c:func:`!" "PyUnicode_TransformDecimalToASCII`" msgstr "" +":c:func:`!PyUnicode_EncodeDecimal`, :c:func:`!" +"PyUnicode_TransformDecimalToASCII`" msgid "Deprecated features" msgstr "" @@ -3377,7 +3376,7 @@ msgstr "" msgid "" "In the course of changes to the buffer API the undocumented :c:member:`!" "smalltable` member of the :c:type:`Py_buffer` structure has been removed and " -"the layout of the :c:type:`PyMemoryViewObject` has changed." +"the layout of the :c:type:`!PyMemoryViewObject` has changed." msgstr "" msgid "" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index cc6f8ac96d..7ad88ea300 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Rafael Fontenelle , 2024 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-31 14:55+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +29,7 @@ msgstr "" msgid "Author" msgstr "Autor" -msgid "R. David Murray (Editor)" +msgid "\\R. David Murray (Editor)" msgstr "" msgid "" @@ -142,9 +139,9 @@ msgstr "" msgid "" ":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a new :" -"mod:`~email.message.Message` subclass (:class:`~email.contentmanager." -"EmailMessage`) that :ref:`simplify MIME handling " -"` (:issue:`18891`)." +"mod:`~email.message.Message` subclass (:class:`~email.message.EmailMessage`) " +"that :ref:`simplify MIME handling ` (:issue:" +"`18891`)." msgstr "" msgid "" @@ -210,7 +207,7 @@ msgstr "" msgid "" "All modules in the standard library that support SSL now support server " -"certificate verification, including hostname matching (:func:`ssl." +"certificate verification, including hostname matching (:func:`!ssl." "match_hostname`) and CRLs (Certificate Revocation lists, see :func:`ssl." "SSLContext.load_verify_locations`)." msgstr "" @@ -352,14 +349,15 @@ msgid "" msgstr "" msgid ":func:`os.get_inheritable`, :func:`os.set_inheritable`" -msgstr "" +msgstr ":func:`os.get_inheritable`, :func:`os.set_inheritable`" msgid ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" -msgstr "" +msgstr ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" msgid "" ":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" msgstr "" +":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" msgid ":pep:`446` -- Make newly created file descriptors non-inheritable" msgstr "" @@ -916,10 +914,11 @@ msgid "" "provides an object-oriented API for inspecting bytecode in both in human-" "readable form and for iterating over instructions. The :class:`~dis." "Bytecode` constructor takes the same arguments that :func:`~dis." -"get_instruction` does (plus an optional *current_offset*), and the resulting " -"object can be iterated to produce :class:`~dis.Instruction` objects. But it " -"also has a :mod:`~dis.Bytecode.dis` method, equivalent to calling :mod:`~dis." -"dis` on the constructor argument, but returned as a multi-line string::" +"get_instructions` does (plus an optional *current_offset*), and the " +"resulting object can be iterated to produce :class:`~dis.Instruction` " +"objects. But it also has a :mod:`~dis.Bytecode.dis` method, equivalent to " +"calling :mod:`~dis.dis` on the constructor argument, but returned as a multi-" +"line string::" msgstr "" msgid "" @@ -1178,8 +1177,9 @@ msgid "" "optional additional *explain* parameter which can be used to provide an " "extended error description, overriding the hardcoded default if there is " "one. This extended error description will be formatted using the :attr:" -"`~http.server.HTTP.error_message_format` attribute and sent as the body of " -"the error response. (Contributed by Karl Cow in :issue:`12921`.)" +"`~http.server.BaseHTTPRequestHandler.error_message_format` attribute and " +"sent as the body of the error response. (Contributed by Karl Cow in :issue:" +"`12921`.)" msgstr "" msgid "" @@ -1283,12 +1283,12 @@ msgid "" msgstr "" msgid "" -":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use the :" -"func:`~inspect.signature` API. This allows them to support a much broader " -"range of callables, including those with ``__signature__`` attributes, those " -"with metadata provided by argument clinic, :func:`functools.partial` objects " -"and more. Note that, unlike :func:`~inspect.signature`, these functions " -"still ignore ``__wrapped__`` attributes, and report the already bound first " +":func:`~inspect.getfullargspec` and :func:`!getargspec` now use the :func:" +"`~inspect.signature` API. This allows them to support a much broader range " +"of callables, including those with ``__signature__`` attributes, those with " +"metadata provided by argument clinic, :func:`functools.partial` objects and " +"more. Note that, unlike :func:`~inspect.signature`, these functions still " +"ignore ``__wrapped__`` attributes, and report the already bound first " "argument for bound methods, so it is still necessary to update your code to " "use :func:`~inspect.signature` directly if those features are desired. " "(Contributed by Yury Selivanov in :issue:`17481`.)" @@ -1496,8 +1496,8 @@ msgid "" ":mod:`pickle` now supports (but does not use by default) a new pickle " "protocol, protocol 4. This new protocol addresses a number of issues that " "were present in previous protocols, such as the serialization of nested " -"classes, very large strings and containers, and classes whose :meth:" -"`__new__` method takes keyword-only arguments. It also provides some " +"classes, very large strings and containers, and classes whose :meth:`~object." +"__new__` method takes keyword-only arguments. It also provides some " "efficiency improvements." msgstr "" @@ -1590,7 +1590,7 @@ msgid "re" msgstr "" msgid "" -"New :func:`~re.fullmatch` function and :meth:`.regex.fullmatch` method " +"New :func:`~re.fullmatch` function and :meth:`.Pattern.fullmatch` method " "anchor the pattern at both ends of the string to match. This provides a way " "to be explicit about the goal of the match, which avoids a class of subtle " "bugs where ``$`` characters get lost during code changes or the addition of " @@ -1847,7 +1847,7 @@ msgid "" msgstr "" msgid "" -":func:`~subprocess.getstatus` and :func:`~subprocess.getstatusoutput` now " +":func:`~subprocess.getoutput` and :func:`~subprocess.getstatusoutput` now " "work on Windows. This change was actually inadvertently made in 3.3.4. " "(Contributed by Tim Golden in :issue:`10197`.)" msgstr "" @@ -1868,7 +1868,7 @@ msgid "" msgstr "" msgid "" -":meth:`.AU_write.setsampwidth` now supports 24 bit samples, thus adding " +":meth:`!AU_write.setsampwidth` now supports 24 bit samples, thus adding " "support for writing 24 sample using the module. (Contributed by Serhiy " "Storchaka in :issue:`19261`.)" msgstr "" @@ -1954,7 +1954,7 @@ msgid "" "define an attribute that acts normally when looked up through an instance " "object, but which is routed to the *class* ``__getattr__`` when looked up " "through the class. This allows one to have properties active on a class, " -"and have virtual attributes on the class with the same name (see :mod:`Enum` " +"and have virtual attributes on the class with the same name (see :mod:`enum` " "for an example). (Contributed by Ethan Furman in :issue:`19030`.)" msgstr "" @@ -2075,8 +2075,8 @@ msgid "" msgstr "" msgid "" -":func:`~mock.mock_open` objects now have ``readline`` and ``readlines`` " -"methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)" +":func:`~unittest.mock.mock_open` objects now have ``readline`` and " +"``readlines`` methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)" msgstr "" msgid "venv" @@ -2099,8 +2099,8 @@ msgid "wave" msgstr "" msgid "" -"The :meth:`~wave.getparams` method now returns a namedtuple rather than a " -"plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)" +"The :meth:`~wave.Wave_read.getparams` method now returns a namedtuple rather " +"than a plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)" msgstr "" msgid "" @@ -2175,7 +2175,7 @@ msgstr "" msgid "" "The *allowZip64* parameter to :class:`~zipfile.ZipFile` and :class:`~zipfile." -"PyZipfile` is now ``True`` by default. (Contributed by William Mallard in :" +"PyZipFile` is now ``True`` by default. (Contributed by William Mallard in :" "issue:`17201`.)" msgstr "" @@ -2198,9 +2198,9 @@ msgstr "" msgid "" ":pep:`442` removes the current limitations and quirks of object finalization " -"in CPython. With it, objects with :meth:`__del__` methods, as well as " -"generators with :keyword:`finally` clauses, can be finalized when they are " -"part of a reference cycle." +"in CPython. With it, objects with :meth:`~object.__del__` methods, as well " +"as generators with :keyword:`finally` clauses, can be finalized when they " +"are part of a reference cycle." msgstr "" msgid "" @@ -2479,7 +2479,7 @@ msgid "" msgstr "" msgid "" -"A performance issue in :meth:`io.FileIO.readall` has been solved. This " +"A performance issue in :meth:`!io.FileIO.readall` has been solved. This " "particularly affects Windows, and significantly speeds up the case of piping " "significant amounts of data through :mod:`subprocess`. (Contributed by " "Richard Oudkerk in :issue:`15758`.)" @@ -2544,8 +2544,8 @@ msgid "" msgstr "" msgid "" -"The :mod:`formatter` module is pending deprecation and is slated for removal " -"in Python 3.6." +"The :mod:`!formatter` module is pending deprecation and is slated for " +"removal in Python 3.6." msgstr "" msgid "" @@ -2571,12 +2571,12 @@ msgid "" msgstr "" msgid "" -"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib." -"writePlist`, :func:`~plistlib.readPlistFromBytes`, and :func:`~plistlib." -"writePlistToBytes` functions are deprecated in favor of the corresponding " -"new functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:" -"`~plistlib.loads`, and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is " -"deprecated in favor of just using the :class:`bytes` constructor." +"The :mod:`plistlib` :func:`!readPlist`, :func:`!writePlist`, :func:`!" +"readPlistFromBytes`, and :func:`!writePlistToBytes` functions are deprecated " +"in favor of the corresponding new functions :func:`~plistlib.load`, :func:" +"`~plistlib.dump`, :func:`~plistlib.loads`, and :func:`~plistlib.dumps`. :" +"func:`!Data` is deprecated in favor of just using the :class:`bytes` " +"constructor." msgstr "" msgid "" @@ -2700,7 +2700,7 @@ msgid "" msgstr "" msgid "" -":meth:`difflib.SequenceMatcher.isbjunk` and :meth:`difflib.SequenceMatcher." +":meth:`!difflib.SequenceMatcher.isbjunk` and :meth:`!difflib.SequenceMatcher." "isbpopular` were deprecated in 3.2, and have now been removed: use ``x in sm." "bjunk`` and ``x in sm.bpopular``, where *sm* is a :class:`~difflib." "SequenceMatcher` object (:issue:`13248`)." @@ -2781,7 +2781,7 @@ msgid "" ":meth:`!importlib.util.module_for_loader` now sets ``__loader__`` and " "``__package__`` unconditionally to properly support reloading. If this is " "not desired then you will need to set these attributes manually. You can " -"use :func:`importlib.util.module_to_load` for module management." +"use :func:`!importlib.util.module_to_load` for module management." msgstr "" msgid "" @@ -2975,7 +2975,7 @@ msgstr "" msgid "" "The :func:`re.split`, :func:`re.findall`, and :func:`re.sub` functions, and " -"the :meth:`~re.match.group` and :meth:`~re.match.groups` methods of " +"the :meth:`~re.Match.group` and :meth:`~re.Match.groups` methods of " "``match`` objects now always return a *bytes* object when the string to be " "matched is a :term:`bytes-like object`. Previously the return type matched " "the input type, so if your code was depending on the return value being, " diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 2aaf40f378..18b32dc826 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -220,7 +217,7 @@ msgid "" "Inside a coroutine function, the new :keyword:`await` expression can be used " "to suspend coroutine execution until the result is available. Any object " "can be *awaited*, as long as it implements the :term:`awaitable` protocol by " -"defining the :meth:`__await__` method." +"defining the :meth:`~object.__await__` method." msgstr "" msgid "" @@ -323,10 +320,10 @@ msgstr "" msgid "" ":pep:`465` adds the ``@`` infix operator for matrix multiplication. " "Currently, no builtin Python types implement the new operator, however, it " -"can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, and :" -"meth:`__imatmul__` for regular, reflected, and in-place matrix " -"multiplication. The semantics of these methods is similar to that of " -"methods defining other infix arithmetic operators." +"can be implemented by defining :meth:`~object.__matmul__`, :meth:`~object." +"__rmatmul__`, and :meth:`~object.__imatmul__` for regular, reflected, and in-" +"place matrix multiplication. The semantics of these methods is similar to " +"that of methods defining other infix arithmetic operators." msgstr "" msgid "" @@ -978,8 +975,8 @@ msgid "" msgstr "" msgid "" -"The :func:`~asyncio.async` function is deprecated in favor of :func:" -"`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" +"The :func:`!async` function is deprecated in favor of :func:`~asyncio." +"ensure_future`. (Contributed by Yury Selivanov.)" msgstr "" msgid "" @@ -1062,7 +1059,7 @@ msgid "" msgstr "" msgid "bz2" -msgstr "" +msgstr "bz2" msgid "" "The :meth:`BZ2Decompressor.decompress ` " @@ -1106,10 +1103,9 @@ msgid "" msgstr "" msgid "" -":meth:`OrderedDict.items() `, :meth:" -"`OrderedDict.keys() `, :meth:`OrderedDict." -"values() ` views now support :func:" -"`reversed` iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)" +":meth:`!OrderedDict.items`, :meth:`!OrderedDict.keys`, and :meth:`!" +"OrderedDict.values` views now support :func:`reversed` iteration. " +"(Contributed by Serhiy Storchaka in :issue:`19505`.)" msgstr "" msgid "" @@ -1136,21 +1132,20 @@ msgid "(Contributed by Berker Peksag in :issue:`24064`.)" msgstr "" msgid "" -"The :class:`~collections.UserString` class now implements the :meth:" -"`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str." -"format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans` methods to " -"match the corresponding methods of :class:`str`. (Contributed by Joe Jevnik " -"in :issue:`22189`.)" +"The :class:`~collections.UserString` class now implements the :meth:`~object." +"__getnewargs__`, :meth:`~object.__rmod__`, :meth:`~str.casefold`, :meth:" +"`~str.format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans` " +"methods to match the corresponding methods of :class:`str`. (Contributed by " +"Joe Jevnik in :issue:`22189`.)" msgstr "" msgid "collections.abc" msgstr "" msgid "" -"The :meth:`Sequence.index() ` method now " -"accepts *start* and *stop* arguments to match the corresponding methods of :" -"class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in :" -"issue:`23086`.)" +"The :meth:`!Sequence.index` method now accepts *start* and *stop* arguments " +"to match the corresponding methods of :class:`tuple`, :class:`list`, etc. " +"(Contributed by Devin Jeanpierre in :issue:`23086`.)" msgstr "" msgid "" @@ -1280,9 +1275,10 @@ msgid "curses" msgstr "" msgid "" -"The new :func:`~curses.update_lines_cols` function updates the :data:`LINES` " -"and :data:`COLS` module variables. This is useful for detecting manual " -"screen resizing. (Contributed by Arnon Yaari in :issue:`4254`.)" +"The new :func:`~curses.update_lines_cols` function updates the :data:" +"`~curses.LINES` and :data:`~curses.COLS` module variables. This is useful " +"for detecting manual screen resizing. (Contributed by Arnon Yaari in :issue:" +"`4254`.)" msgstr "" msgid "dbm" @@ -1644,8 +1640,8 @@ msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)" msgstr "" msgid "" -"A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the :" -"class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes " +"A new :attr:`~ipaddress.IPv4Address.reverse_pointer` attribute for the :" +"class:`~ipaddress.IPv4Address` and :class:`~ipaddress.IPv6Address` classes " "returns the name of the reverse DNS PTR record::" msgstr "" @@ -1773,7 +1769,7 @@ msgid "" msgstr "" msgid "" -"A new :func:`~math.gcd` function has been added. The :func:`fractions.gcd` " +"A new :func:`~math.gcd` function has been added. The :func:`!fractions.gcd` " "function is now deprecated. (Contributed by Mark Dickinson and Serhiy " "Storchaka in :issue:`22486`.)" msgstr "" @@ -1978,10 +1974,11 @@ msgid "" msgstr "" msgid "" -"The :class:`re.error` exceptions have new attributes, :attr:`~re.error." -"msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error." -"lineno`, and :attr:`~re.error.colno`, that provide better context " -"information about the error::" +"The :class:`re.error ` exceptions have new attributes, :" +"attr:`~re.PatternError.msg`, :attr:`~re.PatternError.pattern`, :attr:`~re." +"PatternError.pos`, :attr:`~re.PatternError.lineno`, and :attr:`~re." +"PatternError.colno`, that provide better context information about the " +"error::" msgstr "" msgid "" @@ -2206,16 +2203,15 @@ msgid "" msgstr "" msgid "" -"The :class:`~ssl.SSLSocket` class now implements a :meth:`SSLSocket." -"sendfile() ` method. (Contributed by Giampaolo " -"Rodola' in :issue:`17552`.)" +"The :class:`~ssl.SSLSocket` class now implements a :meth:`!SSLSocket." +"sendfile` method. (Contributed by Giampaolo Rodola' in :issue:`17552`.)" msgstr "" msgid "" -"The :meth:`SSLSocket.send() ` method now raises either " -"the :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on " -"a non-blocking socket if the operation would block. Previously, it would " -"return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" +"The :meth:`!SSLSocket.send` method now raises either the :exc:`ssl." +"SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on a non-" +"blocking socket if the operation would block. Previously, it would return " +"``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" msgid "" @@ -2225,25 +2221,24 @@ msgid "" msgstr "" msgid "" -"New :meth:`SSLObject.shared_ciphers() ` and :" -"meth:`SSLSocket.shared_ciphers() ` methods " -"return the list of ciphers sent by the client during the handshake. " -"(Contributed by Benjamin Peterson in :issue:`23186`.)" +"New :meth:`!SSLObject.shared_ciphers` and :meth:`SSLSocket.shared_ciphers() " +"` methods return the list of ciphers sent by " +"the client during the handshake. (Contributed by Benjamin Peterson in :issue:" +"`23186`.)" msgstr "" msgid "" "The :meth:`SSLSocket.do_handshake() `, :meth:" -"`SSLSocket.read() `, :meth:`SSLSocket.shutdown() `, and :meth:`SSLSocket.write() ` " -"methods of the :class:`~ssl.SSLSocket` class no longer reset the socket " -"timeout every time bytes are received or sent. The socket timeout is now the " -"maximum total duration of the method. (Contributed by Victor Stinner in :" -"issue:`23853`.)" +"`SSLSocket.read() `, :meth:`!SSLSocket.shutdown`, and :" +"meth:`SSLSocket.write() ` methods of the :class:`~ssl." +"SSLSocket` class no longer reset the socket timeout every time bytes are " +"received or sent. The socket timeout is now the maximum total duration of " +"the method. (Contributed by Victor Stinner in :issue:`23853`.)" msgstr "" msgid "" -"The :func:`~ssl.match_hostname` function now supports matching of IP " -"addresses. (Contributed by Antoine Pitrou in :issue:`23239`.)" +"The :func:`!match_hostname` function now supports matching of IP addresses. " +"(Contributed by Antoine Pitrou in :issue:`23239`.)" msgstr "" msgid "sqlite3" @@ -2287,9 +2282,9 @@ msgid "sys" msgstr "sys" msgid "" -"A new :func:`~sys.set_coroutine_wrapper` function allows setting a global " -"hook that will be called whenever a :term:`coroutine object ` is " -"created by an :keyword:`async def` function. A corresponding :func:`~sys." +"A new :func:`!set_coroutine_wrapper` function allows setting a global hook " +"that will be called whenever a :term:`coroutine object ` is " +"created by an :keyword:`async def` function. A corresponding :func:`!" "get_coroutine_wrapper` can be used to obtain a currently set wrapper. Both " "functions are :term:`provisional `, and are intended for " "debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)" @@ -2466,10 +2461,10 @@ msgid "" msgstr "" msgid "" -"The :class:`~unittest.mock.MagicMock` class now supports :meth:" -"`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` operators. " -"(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in :" -"issue:`23581` and :issue:`23568`.)" +"The :class:`~unittest.mock.MagicMock` class now supports :meth:`~object." +"__truediv__`, :meth:`~object.__divmod__` and :meth:`~object.__matmul__` " +"operators. (Contributed by Johannes Baiter in :issue:`20968`, and Håkan " +"Lövdahl in :issue:`23581` and :issue:`23568`.)" msgstr "" msgid "" @@ -2834,13 +2829,13 @@ msgid "Deprecated Python modules, functions and methods" msgstr "" msgid "" -"The :mod:`formatter` module has now graduated to full deprecation and is " +"The :mod:`!formatter` module has now graduated to full deprecation and is " "still slated for removal in Python 3.6." msgstr "" msgid "" -"The :func:`asyncio.async` function is deprecated in favor of :func:`~asyncio." -"ensure_future`." +"The :func:`!asyncio.async` function is deprecated in favor of :func:" +"`~asyncio.ensure_future`." msgstr "" msgid "" @@ -2867,9 +2862,9 @@ msgid "" msgstr "" msgid "" -"The :func:`platform.dist` and :func:`platform.linux_distribution` functions " -"are now deprecated. Linux distributions use too many different ways of " -"describing themselves, so the functionality is left to a package. " +"The :func:`!platform.dist` and :func:`!platform.linux_distribution` " +"functions are now deprecated. Linux distributions use too many different " +"ways of describing themselves, so the functionality is left to a package. " "(Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)" msgstr "" @@ -2881,15 +2876,15 @@ msgid "" msgstr "" msgid "" -"The :func:`inspect.getargspec` function is deprecated and scheduled to be " +"The :func:`!inspect.getargspec` function is deprecated and scheduled to be " "removed in Python 3.6. (See :issue:`20438` for details.)" msgstr "" msgid "" "The :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect." -"getcallargs`, and :func:`~inspect.formatargspec` functions are deprecated in " -"favor of the :func:`inspect.signature` API. (Contributed by Yury Selivanov " -"in :issue:`20438`.)" +"getcallargs`, and :func:`!formatargspec` functions are deprecated in favor " +"of the :func:`inspect.signature` API. (Contributed by Yury Selivanov in :" +"issue:`20438`.)" msgstr "" msgid "" @@ -2990,7 +2985,7 @@ msgid "" msgstr "" msgid "" -"The :meth:`ssl.SSLSocket.send` method now raises either :exc:`ssl." +"The :meth:`!ssl.SSLSocket.send` method now raises either :exc:`ssl." "SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-blocking socket " "if the operation would block. Previously, it would return ``0``. " "(Contributed by Nikolaus Rath in :issue:`20951`.)" @@ -3037,13 +3032,12 @@ msgid "" msgstr "" msgid "" -"When an import loader defines :meth:`importlib.machinery.Loader.exec_module` " -"it is now expected to also define :meth:`~importlib.machinery.Loader." -"create_module` (raises a :exc:`DeprecationWarning` now, will be an error in " -"Python 3.6). If the loader inherits from :class:`importlib.abc.Loader` then " -"there is nothing to do, else simply define :meth:`~importlib.machinery." -"Loader.create_module` to return ``None``. (Contributed by Brett Cannon in :" -"issue:`23014`.)" +"When an import loader defines :meth:`~importlib.abc.Loader.exec_module` it " +"is now expected to also define :meth:`~importlib.abc.Loader.create_module` " +"(raises a :exc:`DeprecationWarning` now, will be an error in Python 3.6). If " +"the loader inherits from :class:`importlib.abc.Loader` then there is nothing " +"to do, else simply define :meth:`~importlib.abc.Loader.create_module` to " +"return ``None``. (Contributed by Brett Cannon in :issue:`23014`.)" msgstr "" msgid "" @@ -3099,7 +3093,7 @@ msgstr "" msgid "" "The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the " -"previous module-level :data:`stderr` variable for debug output. If your " +"previous module-level :data:`!stderr` variable for debug output. If your " "(test) program depends on patching the module-level variable to capture the " "debug output, you will need to update it to capture sys.stderr instead." msgstr "" @@ -3131,13 +3125,13 @@ msgid "Changes in the C API" msgstr "" msgid "" -"The undocumented :c:member:`!format` member of the (non-public) :c:type:" -"`PyMemoryViewObject` structure has been removed. All extensions relying on " +"The undocumented :c:member:`!format` member of the (non-public) :c:type:`!" +"PyMemoryViewObject` structure has been removed. All extensions relying on " "the relevant parts in ``memoryobject.h`` must be rebuilt." msgstr "" msgid "" -"The :c:type:`PyMemAllocator` structure was renamed to :c:type:" +"The :c:type:`!PyMemAllocator` structure was renamed to :c:type:" "`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 2ddf2eea2b..54de153a38 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -4,19 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# haaritsubaki, 2023 -# Rafael Fontenelle , 2024 -# Maciej Olko , 2025 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-15 14:24+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -874,8 +871,9 @@ msgstr "" msgid "" "It is now possible to set a :ref:`special method ` to ``None`` " "to indicate that the corresponding operation is not available. For example, " -"if a class sets :meth:`__iter__` to ``None``, the class is not iterable. " -"(Contributed by Andrew Barnert and Ivan Levkivskyi in :issue:`25958`.)" +"if a class sets :meth:`~object.__iter__` to ``None``, the class is not " +"iterable. (Contributed by Andrew Barnert and Ivan Levkivskyi in :issue:" +"`25958`.)" msgstr "" msgid "" @@ -1030,8 +1028,8 @@ msgid "" msgstr "" msgid "" -":meth:`Future.set_exception ` will now " -"raise :exc:`TypeError` when passed an instance of the :exc:`StopIteration` " +":meth:`Future.set_exception ` will now raise :" +"exc:`TypeError` when passed an instance of the :exc:`StopIteration` " "exception. (Contributed by Chris Angelico in :issue:`26221`.)" msgstr "" @@ -1095,7 +1093,7 @@ msgstr "" msgid "" "The new :class:`~collections.abc.Reversible` abstract base class represents " -"iterable classes that also provide the :meth:`__reversed__` method. " +"iterable classes that also provide the :meth:`~object.__reversed__` method. " "(Contributed by Ivan Levkivskyi in :issue:`25987`.)" msgstr "" @@ -1149,8 +1147,8 @@ msgstr "" msgid "" "The :class:`~datetime.datetime` and :class:`~datetime.time` classes have the " -"new :attr:`~time.fold` attribute used to disambiguate local time when " -"necessary. Many functions in the :mod:`datetime` have been updated to " +"new :attr:`~datetime.time.fold` attribute used to disambiguate local time " +"when necessary. Many functions in the :mod:`datetime` have been updated to " "support local time disambiguation. See :ref:`Local Time Disambiguation " "` section for more information. (Contributed by Alexander " "Belopolsky in :issue:`24773`.)" @@ -1251,14 +1249,14 @@ msgstr "" msgid "" "Two new enumeration base classes have been added to the :mod:`enum` module: :" -"class:`~enum.Flag` and :class:`~enum.IntFlags`. Both are used to define " +"class:`~enum.Flag` and :class:`~enum.IntFlag`. Both are used to define " "constants that can be combined using the bitwise operators. (Contributed by " "Ethan Furman in :issue:`23591`.)" msgstr "" msgid "" "Many standard library modules have been updated to use the :class:`~enum." -"IntFlags` class for their constants." +"IntFlag` class for their constants." msgstr "" msgid "" @@ -1471,8 +1469,8 @@ msgid "" msgstr "" msgid "" -"To reduce code churn when upgrading from Python 2.7 and the legacy :func:" -"`inspect.getargspec` API, the previously documented deprecation of :func:" +"To reduce code churn when upgrading from Python 2.7 and the legacy :func:`!" +"inspect.getargspec` API, the previously documented deprecation of :func:" "`inspect.getfullargspec` has been reversed. While this function is " "convenient for single/source Python 2/3 code bases, the richer :func:" "`inspect.signature` interface remains the recommended approach for new code. " @@ -1531,7 +1529,7 @@ msgstr "" msgid "" "A new :meth:`~os.scandir.close` method allows explicitly closing a :func:" "`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports the :" -"term:`context manager` protocol. If a :func:`scandir` iterator is neither " +"term:`context manager` protocol. If a :func:`!scandir` iterator is neither " "exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted in " "its destructor. (Contributed by Serhiy Storchaka in :issue:`25994`.)" msgstr "" @@ -1714,9 +1712,9 @@ msgid "" msgstr "" msgid "" -"The :attr:`~socketserver.StreamRequestHandler.wfile` attribute of :class:" -"`~socketserver.StreamRequestHandler` classes now implements the :class:`io." -"BufferedIOBase` writable interface. In particular, calling :meth:`~io." +"The :attr:`wfile ` attribute of :" +"class:`~socketserver.StreamRequestHandler` classes now implements the :class:" +"`io.BufferedIOBase` writable interface. In particular, calling :meth:`~io." "BufferedIOBase.write` is now guaranteed to send the data in full. " "(Contributed by Martin Panter in :issue:`26721`.)" msgstr "" @@ -1754,7 +1752,7 @@ msgstr "" msgid "" "All constants and flags have been converted to :class:`~enum.IntEnum` and :" -"class:`~enum.IntFlags`. (Contributed by Christian Heimes in :issue:`28025`.)" +"class:`~enum.IntFlag`. (Contributed by Christian Heimes in :issue:`28025`.)" msgstr "" msgid "" @@ -1832,8 +1830,8 @@ msgid "time" msgstr "" msgid "" -"The :class:`~time.struct_time` attributes :attr:`tm_gmtoff` and :attr:" -"`tm_zone` are now available on all platforms." +"The :class:`~time.struct_time` attributes :attr:`!tm_gmtoff` and :attr:`!" +"tm_zone` are now available on all platforms." msgstr "" msgid "timeit" @@ -1855,13 +1853,12 @@ msgid "tkinter" msgstr "" msgid "" -"Added methods :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable." -"trace_remove` and :meth:`~tkinter.Variable.trace_info` in the :class:" -"`tkinter.Variable` class. They replace old methods :meth:`~tkinter.Variable." -"trace_variable`, :meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable." -"trace_vdelete` and :meth:`~tkinter.Variable.trace_vinfo` that use obsolete " -"Tcl commands and might not work in future versions of Tcl. (Contributed by " -"Serhiy Storchaka in :issue:`22115`)." +"Added methods :meth:`!Variable.trace_add`, :meth:`!Variable.trace_remove` " +"and :meth:`!trace_info` in the :class:`!tkinter.Variable` class. They " +"replace old methods :meth:`!trace_variable`, :meth:`!trace`, :meth:`!" +"trace_vdelete` and :meth:`!trace_vinfo` that use obsolete Tcl commands and " +"might not work in future versions of Tcl. (Contributed by Serhiy Storchaka " +"in :issue:`22115`)." msgstr "" msgid "traceback" @@ -1999,8 +1996,9 @@ msgstr "" msgid "" "If a HTTP request has a file or iterable body (other than a bytes object) " "but no ``Content-Length`` header, rather than throwing an error, :class:" -"`~urllib.request.AbstractHTTPHandler` now falls back to use chunked transfer " -"encoding. (Contributed by Demian Brecht and Rolf Krahl in :issue:`12319`.)" +"`AbstractHTTPHandler ` now falls back to use " +"chunked transfer encoding. (Contributed by Demian Brecht and Rolf Krahl in :" +"issue:`12319`.)" msgstr "" msgid "urllib.robotparser" @@ -2027,8 +2025,8 @@ msgstr "" msgid "" "A new optional *source* parameter has been added to the :func:`warnings." "warn_explicit` function: the destroyed object which emitted a :exc:" -"`ResourceWarning`. A *source* attribute has also been added to :class:" -"`warnings.WarningMessage` (contributed by Victor Stinner in :issue:`26568` " +"`ResourceWarning`. A *source* attribute has also been added to :class:`!" +"warnings.WarningMessage` (contributed by Victor Stinner in :issue:`26568` " "and :issue:`26567`)." msgstr "" @@ -2349,11 +2347,11 @@ msgid "" msgstr "" msgid "" -"The :meth:`__aiter__` method is now expected to return an asynchronous " -"iterator directly instead of returning an awaitable as previously. Doing the " -"former will trigger a :exc:`DeprecationWarning`. Backward compatibility " -"will be removed in Python 3.7. (Contributed by Yury Selivanov in :issue:" -"`27243`.)" +"The :meth:`~object.__aiter__` method is now expected to return an " +"asynchronous iterator directly instead of returning an awaitable as " +"previously. Doing the former will trigger a :exc:`DeprecationWarning`. " +"Backward compatibility will be removed in Python 3.7. (Contributed by Yury " +"Selivanov in :issue:`27243`.)" msgstr "" msgid "" @@ -2627,10 +2625,9 @@ msgid "" msgstr "" msgid "" -"Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" -"`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " -"raises :exc:`ValueError` for out-of-range values, rather than returning :" -"const:`None`. See :issue:`20059`." +"Reading the :attr:`!port` attribute of :func:`urllib.parse.urlsplit` and :" +"func:`~urllib.parse.urlparse` results now raises :exc:`ValueError` for out-" +"of-range values, rather than returning :const:`None`. See :issue:`20059`." msgstr "" msgid "" @@ -2639,14 +2636,14 @@ msgid "" msgstr "" msgid "" -"The following modules have had missing APIs added to their :attr:`__all__` " -"attributes to match the documented APIs: :mod:`calendar`, :mod:`!cgi`, :mod:" -"`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:`fileinput`, :mod:" -"`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:`mimetypes`, :mod:" -"`optparse`, :mod:`plistlib`, :mod:`!smtpd`, :mod:`subprocess`, :mod:" -"`tarfile`, :mod:`threading` and :mod:`wave`. This means they will export " -"new symbols when ``import *`` is used. (Contributed by Joel Taddei and Jacek " -"Kołodziej in :issue:`23883`.)" +"The following modules have had missing APIs added to their :attr:`~module." +"__all__` attributes to match the documented APIs: :mod:`calendar`, :mod:`!" +"cgi`, :mod:`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:" +"`fileinput`, :mod:`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:" +"`mimetypes`, :mod:`optparse`, :mod:`plistlib`, :mod:`!smtpd`, :mod:" +"`subprocess`, :mod:`tarfile`, :mod:`threading` and :mod:`wave`. This means " +"they will export new symbols when ``import *`` is used. (Contributed by Joel " +"Taddei and Jacek Kołodziej in :issue:`23883`.)" msgstr "" msgid "" @@ -2708,11 +2705,12 @@ msgid "" "As part of :pep:`487`, the handling of keyword arguments passed to :class:" "`type` (other than the metaclass hint, ``metaclass``) is now consistently " "delegated to :meth:`object.__init_subclass__`. This means that :meth:`type." -"__new__` and :meth:`type.__init__` both now accept arbitrary keyword " -"arguments, but :meth:`object.__init_subclass__` (which is called from :meth:" -"`type.__new__`) will reject them by default. Custom metaclasses accepting " -"additional keyword arguments will need to adjust their calls to :meth:`type." -"__new__` (whether direct or via :class:`super`) accordingly." +"__new__ ` and :meth:`type.__init__ ` both " +"now accept arbitrary keyword arguments, but :meth:`object.__init_subclass__` " +"(which is called from :meth:`type.__new__ `) will reject " +"them by default. Custom metaclasses accepting additional keyword arguments " +"will need to adjust their calls to :meth:`type.__new__ ` " +"(whether direct or via :class:`super`) accordingly." msgstr "" msgid "" @@ -2767,9 +2765,8 @@ msgid "" msgstr "" msgid "" -"The :func:`mmap.write() ` function now returns the number of " -"bytes written like other write methods. (Contributed by Jakub Stasiak in :" -"issue:`26335`.)" +"The :func:`mmap.mmap.write` function now returns the number of bytes written " +"like other write methods. (Contributed by Jakub Stasiak in :issue:`26335`.)" msgstr "" msgid "" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 8229bdf466..a38bd24a83 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -1,22 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Krzysztof Abramowicz, 2022 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2024 -# Maciej Olko , 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Maciej Olko , 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -392,9 +389,9 @@ msgid "PEP 562: Customization of Access to Module Attributes" msgstr "" msgid "" -"Python 3.7 allows defining :meth:`__getattr__` on modules and will call it " -"whenever a module attribute is otherwise not found. Defining :meth:" -"`__dir__` on modules is now also allowed." +"Python 3.7 allows defining :meth:`~module.__getattr__` on modules and will " +"call it whenever a module attribute is otherwise not found. Defining :meth:" +"`~module.__dir__` on modules is now also allowed." msgstr "" msgid "" @@ -506,12 +503,12 @@ msgid "" "Initially :pep:`484` was designed in such way that it would not introduce " "*any* changes to the core CPython interpreter. Now type hints and the :mod:" "`typing` module are extensively used by the community, so this restriction " -"is removed. The PEP introduces two special methods :meth:`__class_getitem__` " -"and ``__mro_entries__``, these methods are now used by most classes and " -"special constructs in :mod:`typing`. As a result, the speed of various " -"operations with types increased up to 7 times, the generic types can be used " -"without metaclass conflicts, and several long standing bugs in :mod:`typing` " -"module are fixed." +"is removed. The PEP introduces two special methods :meth:`~object." +"__class_getitem__` and :meth:`~object.__mro_entries__`, these methods are " +"now used by most classes and special constructs in :mod:`typing`. As a " +"result, the speed of various operations with types increased up to 7 times, " +"the generic types can be used without metaclass conflicts, and several long " +"standing bugs in :mod:`typing` module are fixed." msgstr "" msgid ":pep:`560` -- Core support for typing module and generic types" @@ -728,7 +725,7 @@ msgid "" "new ABC for access to, opening, and reading *resources* inside packages. " "Resources are roughly similar to files inside packages, but they needn't be " "actual files on the physical file system. Module loaders can provide a :" -"meth:`get_resource_reader` function which returns a :class:`importlib.abc." +"meth:`!get_resource_reader` function which returns a :class:`!importlib.abc." "ResourceReader` instance to support this new API. Built-in file path " "loaders and zip file loaders both support this." msgstr "" @@ -1095,12 +1092,12 @@ msgid "" msgstr "" msgid "" -"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " -"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " -"attempting to check for non-Flag objects in a :class:`Flag` member will " -"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " -"return :const:`False` instead and are deprecated. (Contributed by Ethan " -"Furman in :issue:`33217`.)" +"In Python 3.8, attempting to check for non-Enum objects in :class:`~enum." +"Enum` classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); " +"similarly, attempting to check for non-Flag objects in a :class:`~enum.Flag` " +"member will raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both " +"operations return :const:`False` instead and are deprecated. (Contributed by " +"Ethan Furman in :issue:`33217`.)" msgstr "" msgid "functools" @@ -1162,7 +1159,7 @@ msgstr "" msgid "" "The new :class:`ThreadingHTTPServer ` class " -"uses threads to handle requests using :class:`~socketserver.ThreadingMixin`. " +"uses threads to handle requests using :class:`~socketserver.ThreadingMixIn`. " "It is used when ``http.server`` is run with ``-m``. (Contributed by Julien " "Palard in :issue:`31639`.)" msgstr "" @@ -1259,7 +1256,7 @@ msgid "importlib" msgstr "" msgid "" -"The :class:`importlib.abc.ResourceReader` ABC was introduced to support the " +"The :class:`!importlib.abc.ResourceReader` ABC was introduced to support the " "loading of resources from packages. See also :ref:" "`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, Brett Cannon " "in :issue:`32248`.)" @@ -1271,16 +1268,16 @@ msgid "" msgstr "" msgid "" -":func:`importlib.find_spec` now raises :exc:`ModuleNotFoundError` instead " -"of :exc:`AttributeError` if the specified parent module is not a package (i." -"e. lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch in :" -"issue:`30436`.)" +":func:`importlib.util.find_spec` now raises :exc:`ModuleNotFoundError` " +"instead of :exc:`AttributeError` if the specified parent module is not a " +"package (i.e. lacks a ``__path__`` attribute). (Contributed by Milan " +"Oberkirch in :issue:`30436`.)" msgstr "" msgid "" -"The new :func:`importlib.source_hash` can be used to compute the hash of the " -"passed source. A :ref:`hash-based .pyc file ` embeds the " -"value returned by this function." +"The new :func:`importlib.util.source_hash` can be used to compute the hash " +"of the passed source. A :ref:`hash-based .pyc file ` " +"embeds the value returned by this function." msgstr "" msgid "io" @@ -1383,8 +1380,8 @@ msgstr "" msgid "" "The new :meth:`Process.kill() ` method can be " -"used to terminate the process using the :data:`SIGKILL` signal on Unix. " -"(Contributed by Vitor Pereira in :issue:`30794`.)" +"used to terminate the process using the :data:`~signal.SIGKILL` signal on " +"Unix. (Contributed by Vitor Pereira in :issue:`30794`.)" msgstr "" msgid "" @@ -1549,10 +1546,11 @@ msgid "" msgstr "" msgid "" -"The :mod:`socket` module now exposes the :const:`socket.TCP_CONGESTION` " -"(Linux 2.6.13), :const:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), and :const:" -"`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed by Omar " -"Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" +"The :mod:`socket` module now exposes the :ref:`socket.TCP_CONGESTION ` (Linux 2.6.13), :ref:`socket.TCP_USER_TIMEOUT ` (Linux 2.6.37), and :ref:`socket.TCP_NOTSENT_LOWAT ` (Linux 3.12) constants. (Contributed by Omar Sandoval in :issue:" +"`26273` and Nathaniel J. Smith in :issue:`29728`.)" msgstr "" msgid "" @@ -1570,16 +1568,17 @@ msgid "socketserver" msgstr "" msgid "" -":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" -"daemon threads complete. :meth:`socketserver.ForkingMixIn.server_close` now " -"waits until all child processes complete." +":meth:`socketserver.ThreadingMixIn.server_close ` now waits until all non-daemon threads complete. :meth:" +"`socketserver.ForkingMixIn.server_close ` now waits until all child processes complete." msgstr "" msgid "" -"Add a new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute " -"to :class:`socketserver.ForkingMixIn` and :class:`socketserver." -"ThreadingMixIn` classes. Set the class attribute to ``False`` to get the " -"pre-3.7 behaviour." +"Add a new :attr:`socketserver.ForkingMixIn.block_on_close ` class attribute to :class:`socketserver." +"ForkingMixIn` and :class:`socketserver.ThreadingMixIn` classes. Set the " +"class attribute to ``False`` to get the pre-3.7 behaviour." msgstr "" msgid "sqlite3" @@ -1601,7 +1600,7 @@ msgid "ssl" msgstr "" msgid "" -"The :mod:`ssl` module now uses OpenSSL's builtin API instead of :func:`~ssl." +"The :mod:`ssl` module now uses OpenSSL's builtin API instead of :func:`!" "match_hostname` to check a host name or an IP address. Values are validated " "during TLS handshake. Any certificate validation error including failing " "the host name check now raises :exc:`~ssl.SSLCertVerificationError` and " @@ -1625,7 +1624,7 @@ msgid "" msgstr "" msgid "" -":func:`~ssl.match_hostname` no longer supports partial wildcards like ``www*." +":func:`!match_hostname` no longer supports partial wildcards like ``www*." "example.org``. (Contributed by Mandeep Singh in :issue:`23033` and Christian " "Heimes in :issue:`31399`.)" msgstr "" @@ -1738,7 +1737,7 @@ msgid "" "The new :func:`sys.get_coroutine_origin_tracking_depth` function returns the " "current coroutine origin tracking depth, as set by the new :func:`sys." "set_coroutine_origin_tracking_depth`. :mod:`asyncio` has been converted to " -"use this new API instead of the deprecated :func:`sys." +"use this new API instead of the deprecated :func:`!sys." "set_coroutine_wrapper`. (Contributed by Nathaniel J. Smith in :issue:" "`32591`.)" msgstr "" @@ -1865,7 +1864,7 @@ msgid "" msgstr "" msgid "uu" -msgstr "" +msgstr "uu" msgid "" "The :func:`!uu.encode` function now accepts an optional *backtick* keyword " @@ -1956,7 +1955,7 @@ msgid "xml.etree" msgstr "" msgid "" -":ref:`ElementPath ` predicates in the :meth:`find` " +":ref:`ElementPath ` predicates in the :meth:`!find` " "methods can now compare text of the current node with ``[. = \"text\"]``, " "not only text in children. Predicates also allow adding spaces for better " "readability. (Contributed by Stefan Behnel in :issue:`31648`.)" @@ -1966,9 +1965,8 @@ msgid "xmlrpc.server" msgstr "" msgid "" -":meth:`SimpleXMLRPCDispatcher.register_function ` can now be used as a decorator. (Contributed by " -"Xiang Zhang in :issue:`7769`.)" +":meth:`!SimpleXMLRPCDispatcher.register_function` can now be used as a " +"decorator. (Contributed by Xiang Zhang in :issue:`7769`.)" msgstr "" msgid "zipapp" @@ -2038,15 +2036,15 @@ msgid "" msgstr "" msgid "" -"The new :c:func:`import__find__load__start` and :c:func:" -"`import__find__load__done` static markers can be used to trace module " -"imports. (Contributed by Christian Heimes in :issue:`31574`.)" +"The new :ref:`import__find__load__start ` and :ref:" +"`import__find__load__done ` static markers can be used to " +"trace module imports. (Contributed by Christian Heimes in :issue:`31574`.)" msgstr "" msgid "" "The fields :c:member:`!name` and :c:member:`!doc` of structures :c:type:" "`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:" -"type:`PyStructSequence_Desc`, and :c:struct:`wrapperbase` are now of type " +"type:`PyStructSequence_Desc`, and :c:struct:`!wrapperbase` are now of type " "``const char *`` rather of ``char *``. (Contributed by Serhiy Storchaka in :" "issue:`28761`.)" msgstr "" @@ -2089,8 +2087,8 @@ msgid "" msgstr "" msgid "" -"The type of results of :c:func:`PyThread_start_new_thread` and :c:func:" -"`PyThread_get_thread_ident`, and the *id* parameter of :c:func:" +"The type of results of :c:func:`!PyThread_start_new_thread` and :c:func:`!" +"PyThread_get_thread_ident`, and the *id* parameter of :c:func:" "`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to :c:expr:`unsigned " "long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" msgstr "" @@ -2256,8 +2254,9 @@ msgid "" msgstr "" msgid "" -":meth:`date.fromordinal` and :meth:`date.fromtimestamp` are now up to 30% " -"faster in the common case. (Contributed by Paul Ganssle in :issue:`32403`.)" +":meth:`datetime.date.fromordinal` and :meth:`datetime.date.fromtimestamp` " +"are now up to 30% faster in the common case. (Contributed by Paul Ganssle " +"in :issue:`32403`.)" msgstr "" msgid "" @@ -2424,12 +2423,12 @@ msgid "" msgstr "" msgid "" -"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " -"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " -"attempting to check for non-Flag objects in a :class:`Flag` member will " -"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " -"return :const:`False` instead. (Contributed by Ethan Furman in :issue:" -"`33217`.)" +"In Python 3.8, attempting to check for non-Enum objects in :class:`~enum." +"Enum` classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); " +"similarly, attempting to check for non-Flag objects in a :class:`~enum.Flag` " +"member will raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both " +"operations return :const:`False` instead. (Contributed by Ethan Furman in :" +"issue:`33217`.)" msgstr "" msgid "gettext" @@ -2452,11 +2451,11 @@ msgstr "" msgid "" "The :class:`importlib.abc.ResourceLoader` ABC has been deprecated in favour " -"of :class:`importlib.abc.ResourceReader`." +"of :class:`!importlib.abc.ResourceReader`." msgstr "" msgid "" -":func:`locale.format` has been deprecated, use :meth:`locale.format_string` " +":func:`!locale.format` has been deprecated, use :meth:`locale.format_string` " "instead. (Contributed by Garvit in :issue:`10379`.)" msgstr "" @@ -2464,7 +2463,7 @@ msgid "macpath" msgstr "" msgid "" -"The :mod:`macpath` is now deprecated and will be removed in Python 3.8. " +"The :mod:`!macpath` is now deprecated and will be removed in Python 3.8. " "(Contributed by Chi Hsuan Yen in :issue:`9850`.)" msgstr "" @@ -2485,7 +2484,7 @@ msgid "" msgstr "" msgid "" -":func:`ssl.wrap_socket` is deprecated. Use :meth:`ssl.SSLContext." +":func:`!ssl.wrap_socket` is deprecated. Use :meth:`ssl.SSLContext." "wrap_socket` instead. (Contributed by Christian Heimes in :issue:`28124`.)" msgstr "" @@ -2499,7 +2498,7 @@ msgid "" msgstr "" msgid "" -"Deprecated :func:`sys.set_coroutine_wrapper` and :func:`sys." +"Deprecated :func:`!sys.set_coroutine_wrapper` and :func:`!sys." "get_coroutine_wrapper`." msgstr "" @@ -2513,7 +2512,7 @@ msgid "wave" msgstr "" msgid "" -":func:`wave.openfp` has been deprecated and will be removed in Python 3.9. " +":func:`!wave.openfp` has been deprecated and will be removed in Python 3.9. " "Use :func:`wave.open` instead. (Contributed by Brian Curtin in :issue:" "`31985`.)" msgstr "" @@ -2622,9 +2621,9 @@ msgstr "" msgid "" "Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " "``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " -"of functions :func:`~plistlib.readPlist` and :func:`~plistlib." -"readPlistFromBytes` are now normal dicts. You no longer can use attribute " -"access to access items of these dictionaries." +"of functions :func:`!readPlist` and :func:`!readPlistFromBytes` are now " +"normal dicts. You no longer can use attribute access to access items of " +"these dictionaries." msgstr "" msgid "" @@ -2643,7 +2642,7 @@ msgstr "" msgid "" "Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " "objects is now prohibited. The constructors were never documented, tested, " -"or designed as public constructors. Users were supposed to use :func:`ssl." +"or designed as public constructors. Users were supposed to use :func:`!ssl." "wrap_socket` or :class:`ssl.SSLContext`. (Contributed by Christian Heimes " "in :issue:`32951`.)" msgstr "" @@ -2747,16 +2746,18 @@ msgid "Changes in the Python API" msgstr "" msgid "" -":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" -"daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn." -"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " -"(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" +":meth:`socketserver.ThreadingMixIn.server_close ` now waits until all non-daemon threads complete. Set the " +"new :attr:`socketserver.ThreadingMixIn.block_on_close` class attribute to " +"``False`` to get the pre-3.7 behaviour. (Contributed by Victor Stinner in :" +"issue:`31233` and :issue:`33540`.)" msgstr "" msgid "" -":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " -"processes complete. Set the new :attr:`socketserver.ForkingMixIn." -"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " +":meth:`socketserver.ForkingMixIn.server_close ` now waits until all child processes complete. Set the new :" +"attr:`socketserver.ForkingMixIn.block_on_close ` class attribute to ``False`` to get the pre-3.7 behaviour. " "(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" msgstr "" @@ -2996,8 +2997,9 @@ msgid "CPython bytecode changes" msgstr "" msgid "" -"There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`!CALL_METHOD`. " -"(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" +"There are two new opcodes: :opcode:`!LOAD_METHOD` and :opcode:`!" +"CALL_METHOD`. (Contributed by Yury Selivanov and INADA Naoki in :issue:" +"`26110`.)" msgstr "" msgid "" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 4c9ec6d273..deee956919 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -4,18 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-04-03 14:38+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -247,14 +245,15 @@ msgid "Debug build uses the same ABI as release build" msgstr "" msgid "" -"Python now uses the same ABI whether it's built in release or debug mode. On " -"Unix, when Python is built in debug mode, it is now possible to load C " -"extensions built in release mode and C extensions built using the stable ABI." +"The ABI of Python :ref:`debug builds ` is now compatible with " +"Python release builds. On Unix, when Python is built in debug mode, it is " +"now possible to load C extensions built in release mode and C extensions " +"built using the stable ABI. The inverse is not true, as debug builds expose " +"additional symbols not available in release builds." msgstr "" msgid "" -"Release builds and :ref:`debug builds ` are now ABI compatible: " -"defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " +"Defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " "macro, which introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` " "macro, which adds the :func:`sys.getobjects` function and the :envvar:" "`PYTHONDUMPREFS` environment variable, can be set using the new :option:`./" @@ -315,13 +314,10 @@ msgid "" msgstr "" msgid "" -">>> delta = date.today() - member_since\n" +">>> delta = dt.date.today() - member_since\n" ">>> f'{user=!s} {delta.days=:,d}'\n" "'user=eric_idle delta.days=16,075'" msgstr "" -">>> delta = date.today() - member_since\n" -">>> f'{user=!s} {delta.days=:,d}'\n" -"'user=eric_idle delta.days=16,075'" msgid "" "The ``=`` specifier will display the whole expression so that calculations " @@ -720,8 +716,8 @@ msgid "" "element is a callable with a ``(obj, state)`` signature. This allows the " "direct control over the state-updating behavior of a specific object. If " "not *None*, this callable will have priority over the object's :meth:" -"`~__setstate__` method. (Contributed by Pierre Glaser and Olivier Grisel in :" -"issue:`35900`.)" +"`~object.__setstate__` method. (Contributed by Pierre Glaser and Olivier " +"Grisel in :issue:`35900`.)" msgstr "" msgid "New Modules" @@ -1350,9 +1346,9 @@ msgid "" "system. Specifically, :func:`os.stat` will now traverse anything supported " "by the operating system, while :func:`os.lstat` will only open reparse " "points that identify as \"name surrogates\" while others are opened as for :" -"func:`os.stat`. In all cases, :attr:`stat_result.st_mode` will only have " +"func:`os.stat`. In all cases, :attr:`os.stat_result.st_mode` will only have " "``S_IFLNK`` set for symbolic links and not other kinds of reparse points. To " -"identify other kinds of reparse point, check the new :attr:`stat_result." +"identify other kinds of reparse point, check the new :attr:`os.stat_result." "st_reparse_tag` attribute." msgstr "" @@ -1643,21 +1639,20 @@ msgid "tkinter" msgstr "" msgid "" -"Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." -"Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" -"meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` class. " -"(Contributed by Juliette Monsel in :issue:`34829`.)" +"Added methods :meth:`!selection_from`, :meth:`!selection_present`, :meth:`!" +"selection_range` and :meth:`!selection_to` in the :class:`!tkinter.Spinbox` " +"class. (Contributed by Juliette Monsel in :issue:`34829`.)" msgstr "" msgid "" -"Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " -"class. (Contributed by Juliette Monsel in :issue:`23831`.)" +"Added method :meth:`!moveto` in the :class:`!tkinter.Canvas` class. " +"(Contributed by Juliette Monsel in :issue:`23831`.)" msgstr "" msgid "" -"The :class:`tkinter.PhotoImage` class now has :meth:`~tkinter.PhotoImage." -"transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " -"(Contributed by Zackery Spytz in :issue:`25451`.)" +"The :class:`!tkinter.PhotoImage` class now has :meth:`!transparency_get` " +"and :meth:`!transparency_set` methods. (Contributed by Zackery Spytz in :" +"issue:`25451`.)" msgstr "" msgid "time" @@ -1822,7 +1817,7 @@ msgid "" msgstr "" msgid "" -"The :mod:`xml.etree.ElementTree` module provides a new function :func:`–xml." +"The :mod:`xml.etree.ElementTree` module provides a new function :func:`~xml." "etree.ElementTree.canonicalize` that implements C14N 2.0. (Contributed by " "Stefan Behnel in :issue:`13611`.)" msgstr "" @@ -2015,12 +2010,12 @@ msgid "" msgstr "" msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" -msgstr "" +msgstr ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" -msgstr "" +msgstr ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" -msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" +msgid ":c:macro:`!PyObject_INIT`, :c:macro:`!PyObject_INIT_VAR`" msgstr "" msgid "" @@ -2157,7 +2152,7 @@ msgid "" msgstr "" msgid "" -"The :func:`asyncio.coroutine` :term:`decorator` is deprecated and will be " +"The :deco:`!asyncio.coroutine` :term:`decorator` is deprecated and will be " "removed in version 3.10. Instead of ``@asyncio.coroutine``, use :keyword:" "`async def` instead. (Contributed by Andrew Svetlov in :issue:`36921`.)" msgstr "" @@ -2181,26 +2176,26 @@ msgstr "" msgid "" "The following functions and methods are deprecated in the :mod:`gettext` " -"module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:" -"`~gettext.lngettext` and :func:`~gettext.ldngettext`. They return encoded " -"bytes, and it's possible that you will get unexpected Unicode-related " -"exceptions if there are encoding problems with the translated strings. It's " -"much better to use alternatives which return Unicode strings in Python 3. " -"These functions have been broken for a long time." +"module: :func:`!lgettext`, :func:`!ldgettext`, :func:`!lngettext` and :func:" +"`!ldngettext`. They return encoded bytes, and it's possible that you will " +"get unexpected Unicode-related exceptions if there are encoding problems " +"with the translated strings. It's much better to use alternatives which " +"return Unicode strings in Python 3. These functions have been broken for a " +"long time." msgstr "" msgid "" -"Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext." -"NullTranslations.output_charset` and :meth:`~gettext.NullTranslations." -"set_output_charset`, and the *codeset* parameter of functions :func:" -"`~gettext.translation` and :func:`~gettext.install` are also deprecated, " -"since they are only used for the ``l*gettext()`` functions. (Contributed by " -"Serhiy Storchaka in :issue:`33710`.)" +"Function :func:`!bind_textdomain_codeset`, methods :meth:`!NullTranslations." +"output_charset` and :meth:`!NullTranslations.set_output_charset`, and the " +"*codeset* parameter of functions :func:`~gettext.translation` and :func:" +"`~gettext.install` are also deprecated, since they are only used for the " +"``l*gettext()`` functions. (Contributed by Serhiy Storchaka in :issue:" +"`33710`.)" msgstr "" msgid "" -"The :meth:`~threading.Thread.isAlive` method of :class:`threading.Thread` " -"has been deprecated. (Contributed by Donghee Na in :issue:`35283`.)" +"The :meth:`!isAlive` method of :class:`threading.Thread` has been " +"deprecated. (Contributed by Donghee Na in :issue:`35283`.)" msgstr "" msgid "" @@ -2217,7 +2212,7 @@ msgstr "" msgid "" "*func* in :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" -"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." +"`profile.Profile.runcall`, :meth:`!cProfile.Profile.runcall`, :meth:`bdb.Bdb." "runcall`, :meth:`trace.Trace.runfunc` and :func:`curses.wrapper`." msgstr "" @@ -2231,15 +2226,14 @@ msgid "" msgstr "" msgid "" -"*callback* in :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." +"*callback* in :meth:`contextlib.ExitStack.callback`, :meth:`!contextlib." "AsyncExitStack.callback` and :meth:`contextlib.AsyncExitStack." "push_async_callback`." msgstr "" msgid "" -"*c* and *typeid* in the :meth:`~multiprocessing.managers.Server.create` " -"method of :class:`multiprocessing.managers.Server` and :class:" -"`multiprocessing.managers.SharedMemoryServer`." +"*c* and *typeid* in the :meth:`!create` method of :class:`!multiprocessing." +"managers.Server` and :class:`!multiprocessing.managers.SharedMemoryServer`." msgstr "" msgid "*obj* in :func:`weakref.finalize`." @@ -2264,18 +2258,18 @@ msgid "" msgstr "" msgid "" -"The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " +"The :mod:`!macpath` module, deprecated in Python 3.7, has been removed. " "(Contributed by Victor Stinner in :issue:`35471`.)" msgstr "" msgid "" -"The function :func:`platform.popen` has been removed, after having been " +"The function :func:`!platform.popen` has been removed, after having been " "deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " "Victor Stinner in :issue:`35345`.)" msgstr "" msgid "" -"The function :func:`time.clock` has been removed, after having been " +"The function :func:`!time.clock` has been removed, after having been " "deprecated since Python 3.3: use :func:`time.perf_counter` or :func:`time." "process_time` instead, depending on your requirements, to have well-defined " "behavior. (Contributed by Matthias Bussonnier in :issue:`36895`.)" @@ -2327,7 +2321,7 @@ msgid "" msgstr "" msgid "" -"The functions :func:`sys.set_coroutine_wrapper` and :func:`sys." +"The functions :func:`!sys.set_coroutine_wrapper` and :func:`!sys." "get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" "`36933` (Contributed by Matthias Bussonnier.)" msgstr "" @@ -2405,10 +2399,11 @@ msgstr "" msgid "" ":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " "for better performance. On Windows Subsystem for Linux and QEMU User " -"Emulation, the :class:`Popen` constructor using :func:`os.posix_spawn` no " -"longer raises an exception on errors like \"missing program\". Instead the " -"child process fails with a non-zero :attr:`~Popen.returncode`. (Contributed " -"by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" +"Emulation, the :class:`~subprocess.Popen` constructor using :func:`os." +"posix_spawn` no longer raises an exception on errors like \"missing " +"program\". Instead the child process fails with a non-zero :attr:" +"`~subprocess.Popen.returncode`. (Contributed by Joannah Nanjekye and Victor " +"Stinner in :issue:`35537`.)" msgstr "" msgid "" @@ -2419,7 +2414,7 @@ msgid "" msgstr "" msgid "" -"The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " +"The :meth:`imaplib.IMAP4.logout` method no longer silently ignores arbitrary " "exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" msgstr "" @@ -2438,10 +2433,12 @@ msgid "" msgstr "" msgid "" -"The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of :mod:" -"`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, now " -"preserve the attribute order specified by the user. (Contributed by Diego " -"Rojas and Raymond Hettinger in :issue:`34160`.)" +"The :meth:`~xml.dom.minidom.Node.writexml`, :meth:`~xml.dom.minidom.Node." +"toxml` and :meth:`~xml.dom.minidom.Node.toprettyxml` methods of :mod:`xml." +"dom.minidom` and the :meth:`~xml.etree.ElementTree.ElementTree.write` method " +"of :mod:`xml.etree.ElementTree` now preserve the attribute order specified " +"by the user. (Contributed by Diego Rojas and Raymond Hettinger in :issue:" +"`34160`.)" msgstr "" msgid "" @@ -2467,8 +2464,8 @@ msgid "" msgstr "" msgid "" -"The :class:`cProfile.Profile` class can now be used as a context manager. " -"(Contributed by Scott Sanderson in :issue:`29235`.)" +"The :class:`cProfile.Profile ` class can now be used as a " +"context manager. (Contributed by Scott Sanderson in :issue:`29235`.)" msgstr "" msgid "" @@ -2515,7 +2512,7 @@ msgstr "" msgid "" "Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, :mod:" -"`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` (:exc:`dbm.dumb.error`, :" +"`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`!error` (:exc:`dbm.dumb.error`, :" "exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) instead of :exc:`KeyError`. " "(Contributed by Xiang Zhang in :issue:`33106`.)" msgstr "" @@ -2616,7 +2613,7 @@ msgid "" "`PyType_FromSpec`) hold a reference to their type object. Increasing the " "reference count of these type objects has been moved from :c:func:" "`PyType_GenericAlloc` to the more low-level functions, :c:func:" -"`PyObject_Init` and :c:func:`PyObject_INIT`. This makes types created " +"`PyObject_Init` and :c:macro:`!PyObject_INIT`. This makes types created " "through :c:func:`PyType_FromSpec` behave like other classes in managed code." msgstr "" @@ -2639,8 +2636,8 @@ msgid "" "Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " "- if any. This may happen after calling :c:macro:`PyObject_New`, :c:macro:" "`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar`, " -"or any other custom allocator that uses :c:func:`PyObject_Init` or :c:func:" -"`PyObject_INIT`." +"or any other custom allocator that uses :c:func:`PyObject_Init` or :c:macro:" +"`!PyObject_INIT`." msgstr "" msgid "Example:" @@ -2855,6 +2852,78 @@ msgid "" " loop_overhead 0.3 0.5 0.6 0.4 0.3 " "0.3" msgstr "" +"Python version 3.3 3.4 3.5 3.6 3.7 " +"3.8\n" +"-------------- --- --- --- --- --- " +"---\n" +"\n" +"Variable and attribute read access:\n" +" read_local 4.0 7.1 7.1 5.4 5.1 " +"3.9\n" +" read_nonlocal 5.3 7.1 8.1 5.8 5.4 " +"4.4\n" +" read_global 13.3 15.5 19.0 14.3 13.6 " +"7.6\n" +" read_builtin 20.0 21.1 21.6 18.5 19.0 " +"7.5\n" +" read_classvar_from_class 20.5 25.6 26.5 20.7 19.5 " +"18.4\n" +" read_classvar_from_instance 18.5 22.8 23.5 18.8 17.1 " +"16.4\n" +" read_instancevar 26.8 32.4 33.1 28.0 26.3 " +"25.4\n" +" read_instancevar_slots 23.7 27.8 31.3 20.8 20.8 " +"20.2\n" +" read_namedtuple 68.5 73.8 57.5 45.0 46.8 " +"18.4\n" +" read_boundmethod 29.8 37.6 37.9 29.6 26.9 " +"27.7\n" +"\n" +"Variable and attribute write access:\n" +" write_local 4.6 8.7 9.3 5.5 5.3 " +"4.3\n" +" write_nonlocal 7.3 10.5 11.1 5.6 5.5 " +"4.7\n" +" write_global 15.9 19.7 21.2 18.0 18.0 " +"15.8\n" +" write_classvar 81.9 92.9 96.0 104.6 102.1 " +"39.2\n" +" write_instancevar 36.4 44.6 45.8 40.0 38.9 " +"35.5\n" +" write_instancevar_slots 28.7 35.6 36.1 27.3 26.6 " +"25.7\n" +"\n" +"Data structure read access:\n" +" read_list 19.2 24.2 24.5 20.8 20.8 " +"19.0\n" +" read_deque 19.9 24.7 25.5 20.2 20.6 " +"19.8\n" +" read_dict 19.7 24.3 25.7 22.3 23.0 " +"21.0\n" +" read_strdict 17.9 22.6 24.3 19.5 21.2 " +"18.9\n" +"\n" +"Data structure write access:\n" +" write_list 21.2 27.1 28.5 22.5 21.6 " +"20.0\n" +" write_deque 23.8 28.7 30.1 22.7 21.8 " +"23.5\n" +" write_dict 25.9 31.4 33.3 29.3 29.2 " +"24.7\n" +" write_strdict 22.9 28.4 29.9 27.5 25.2 " +"23.1\n" +"\n" +"Stack (or queue) operations:\n" +" list_append_pop 144.2 93.4 112.7 75.4 74.2 " +"50.8\n" +" deque_append_pop 30.4 43.5 57.0 49.4 49.2 " +"42.5\n" +" deque_append_popleft 30.8 43.7 57.3 49.7 49.7 " +"42.8\n" +"\n" +"Timing loop:\n" +" loop_overhead 0.3 0.5 0.6 0.4 0.3 " +"0.3" msgid "" "The benchmarks were measured on an `Intel® Core™ i7-4960HQ processor " diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 8035d7bd0f..80c63a5659 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -4,20 +4,16 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 -# Krzysztof Abramowicz, 2022 -# Maciej Olko , 2023 -# Rafael Fontenelle , 2024 -# Stan Ulbrych, 2025 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 02:53-0300\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Stan Ulbrych, 2025\n" +"POT-Creation-Date: 2026-03-23 14:50+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -385,21 +381,21 @@ msgstr "" msgid "" ">>> from zoneinfo import ZoneInfo\n" -">>> from datetime import datetime, timedelta\n" +">>> import datetime as dt\n" "\n" ">>> # Daylight saving time\n" -">>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo(\"America/" +">>> when = dt.datetime(2020, 10, 31, 12, tzinfo=ZoneInfo(\"America/" "Los_Angeles\"))\n" -">>> print(dt)\n" +">>> print(when)\n" "2020-10-31 12:00:00-07:00\n" -">>> dt.tzname()\n" +">>> when.tzname()\n" "'PDT'\n" "\n" ">>> # Standard time\n" -">>> dt += timedelta(days=7)\n" -">>> print(dt)\n" +">>> when += dt.timedelta(days=7)\n" +">>> print(when)\n" "2020-11-07 12:00:00-08:00\n" -">>> print(dt.tzname())\n" +">>> print(when.tzname())\n" "PST" msgstr "" @@ -569,8 +565,8 @@ msgid "fcntl" msgstr "" msgid "" -"Added constants :const:`~fcntl.F_OFD_GETLK`, :const:`~fcntl.F_OFD_SETLK` " -"and :const:`~fcntl.F_OFD_SETLKW`. (Contributed by Donghee Na in :issue:" +"Added constants :const:`!fcntl.F_OFD_GETLK`, :const:`!fcntl.F_OFD_SETLK` " +"and :const:`!fcntl.F_OFD_SETLKW`. (Contributed by Donghee Na in :issue:" "`38602`.)" msgstr "" @@ -865,7 +861,7 @@ msgid "random" msgstr "" msgid "" -"Added a new :attr:`random.Random.randbytes` method: generate random bytes. " +"Added a new :meth:`random.Random.randbytes` method: generate random bytes. " "(Contributed by Victor Stinner in :issue:`40286`.)" msgstr "" @@ -1042,7 +1038,7 @@ msgid "" msgstr "" msgid "" -"Optimized :func:`~set.difference_update` for the case when the other set is " +"Optimized :meth:`!set.difference_update` for the case when the other set is " "much larger than the base set. (Suggested by Evgeny Kapun with code " "contributed by Michele Orrù in :issue:`8425`.)" msgstr "" @@ -1145,6 +1141,78 @@ msgid "" " loop_overhead 0.5 0.6 0.4 0.3 0.3 " "0.3" msgstr "" +"Python version 3.4 3.5 3.6 3.7 3.8 " +"3.9\n" +"-------------- --- --- --- --- --- " +"---\n" +"\n" +"Variable and attribute read access:\n" +" read_local 7.1 7.1 5.4 5.1 3.9 " +"3.9\n" +" read_nonlocal 7.1 8.1 5.8 5.4 4.4 " +"4.5\n" +" read_global 15.5 19.0 14.3 13.6 7.6 " +"7.8\n" +" read_builtin 21.1 21.6 18.5 19.0 7.5 " +"7.8\n" +" read_classvar_from_class 25.6 26.5 20.7 19.5 18.4 " +"17.9\n" +" read_classvar_from_instance 22.8 23.5 18.8 17.1 16.4 " +"16.9\n" +" read_instancevar 32.4 33.1 28.0 26.3 25.4 " +"25.3\n" +" read_instancevar_slots 27.8 31.3 20.8 20.8 20.2 " +"20.5\n" +" read_namedtuple 73.8 57.5 45.0 46.8 18.4 " +"18.7\n" +" read_boundmethod 37.6 37.9 29.6 26.9 27.7 " +"41.1\n" +"\n" +"Variable and attribute write access:\n" +" write_local 8.7 9.3 5.5 5.3 4.3 " +"4.3\n" +" write_nonlocal 10.5 11.1 5.6 5.5 4.7 " +"4.8\n" +" write_global 19.7 21.2 18.0 18.0 15.8 " +"16.7\n" +" write_classvar 92.9 96.0 104.6 102.1 39.2 " +"39.8\n" +" write_instancevar 44.6 45.8 40.0 38.9 35.5 " +"37.4\n" +" write_instancevar_slots 35.6 36.1 27.3 26.6 25.7 " +"25.8\n" +"\n" +"Data structure read access:\n" +" read_list 24.2 24.5 20.8 20.8 19.0 " +"19.5\n" +" read_deque 24.7 25.5 20.2 20.6 19.8 " +"20.2\n" +" read_dict 24.3 25.7 22.3 23.0 21.0 " +"22.4\n" +" read_strdict 22.6 24.3 19.5 21.2 18.9 " +"21.5\n" +"\n" +"Data structure write access:\n" +" write_list 27.1 28.5 22.5 21.6 20.0 " +"20.0\n" +" write_deque 28.7 30.1 22.7 21.8 23.5 " +"21.7\n" +" write_dict 31.4 33.3 29.3 29.2 24.7 " +"25.4\n" +" write_strdict 28.4 29.9 27.5 25.2 23.1 " +"24.5\n" +"\n" +"Stack (or queue) operations:\n" +" list_append_pop 93.4 112.7 75.4 74.2 50.8 " +"50.6\n" +" deque_append_pop 43.5 57.0 49.4 49.2 42.5 " +"44.2\n" +" deque_append_popleft 43.7 57.3 49.7 49.7 42.8 " +"46.4\n" +"\n" +"Timing loop:\n" +" loop_overhead 0.5 0.6 0.4 0.3 0.3 " +"0.3" msgid "" "These results were generated from the variable access benchmark script at: " @@ -1228,10 +1296,10 @@ msgid "" msgstr "" msgid ":func:`!b2a_hqx`, :func:`!a2b_hqx`" -msgstr "" +msgstr ":func:`!b2a_hqx`, :func:`!a2b_hqx`" msgid ":func:`!rlecode_hqx`, :func:`!rledecode_hqx`" -msgstr "" +msgstr ":func:`!rlecode_hqx`, :func:`!rledecode_hqx`" msgid "(Contributed by Victor Stinner in :issue:`39353`.)" msgstr "" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index ac244cd994..e4c042cc8f 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2024, Python Software Foundation +# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Seweryn Piórkowski , 2021 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.13\n" +"Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-29 14:18+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Seweryn Piórkowski , 2021\n" +"POT-Creation-Date: 2026-04-01 14:58+0000\n" +"PO-Revision-Date: 2025-09-16 00:02+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,3 +25,72546 @@ msgstr "" msgid "Changelog" msgstr "Lista zmian" + +msgid "Python next" +msgstr "Następna wersja Pythona" + +msgid "*Release date: XXXX-XX-XX*" +msgstr "*Data wydania: XX.XX.XXXX*" + +msgid "macOS" +msgstr "macOS" + +msgid ":gh:`144551`: Update macOS installer to use OpenSSL 3.0.19." +msgstr "" + +msgid "Windows" +msgstr "Windows" + +msgid "" +":gh:`145307`: Defers loading of the ``psapi.dll`` module until it is used " +"by :func:`ctypes.util.dllist`." +msgstr "" + +msgid ":gh:`144551`: Updated bundled version of OpenSSL to 3.0.19." +msgstr "" + +msgid "" +":gh:`140131`: Fix REPL cursor position on Windows when module completion " +"suggestion line hits console width." +msgstr "" + +msgid "Tests" +msgstr "Testy" + +msgid "" +":gh:`146202`: Fix a race condition in regrtest: make sure that the temporary " +"directory is created in the worker process. Previously, temp_cwd() could " +"fail on Windows if the \"build\" directory was not created. Patch by Victor " +"Stinner." +msgstr "" + +msgid "" +":gh:`144739`: When Python was compiled with system expat older then 2.7.2 " +"but tests run with newer expat, still skip :class:`!test.test_pyexpat." +"MemoryProtectionTest`." +msgstr "" + +msgid "Security" +msgstr "Bezpieczeństwo" + +msgid "" +":gh:`145986`: :mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C " +"recursion when converting deeply nested XML content models with :meth:`~xml." +"parsers.expat.xmlparser.ElementDeclHandler`. This addresses :cve:`2026-4224`." +msgstr "" + +msgid "" +":gh:`145599`: Reject control characters in :class:`http.cookies.Morsel` :" +"meth:`~http.cookies.Morsel.update` and :meth:`~http.cookies.BaseCookie." +"js_output`. This addresses :cve:`2026-3644`." +msgstr "" + +msgid "" +":gh:`145506`: Fixes :cve:`2026-2297` by ensuring that " +"``SourcelessFileLoader`` uses :func:`io.open_code` when opening ``.pyc`` " +"files." +msgstr "" + +msgid "" +":gh:`144370`: Disallow usage of control characters in status in :mod:" +"`wsgiref.handlers` to prevent HTTP header injections. Patch by Benedikt " +"Johannes." +msgstr "" + +msgid "" +":gh:`143930`: Reject leading dashes in URLs passed to :func:`webbrowser.open`" +msgstr "" + +msgid "Library" +msgstr "Biblioteka" + +msgid "" +":gh:`146080`: :mod:`ssl`: fix a crash when an SNI callback tries to use an " +"SSL object that has already been garbage-collected. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`146556`: Fix :func:`annotationlib.get_annotations` hanging indefinitely " +"when called with ``eval_str=True`` on a callable that has a circular " +"``__wrapped__`` chain (e.g. ``f.__wrapped__ = f``). Cycle detection using an " +"id-based visited set now stops the traversal and falls back to the globals " +"found so far, mirroring the approach of :func:`inspect.unwrap`." +msgstr "" + +msgid "" +":gh:`146090`: :mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection." +"create_collation` fails with `SQLITE_BUSY `__. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`146090`: :mod:`sqlite3`: properly raise :exc:`MemoryError` instead of :" +"exc:`SystemError` when a context callback fails to be allocated. Patch by " +"Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`145633`: Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` " +"to raise :exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor " +"Stinner." +msgstr "" + +msgid "" +":gh:`146310`: The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` " +"wheel packages in the current directory." +msgstr "" + +msgid "" +":gh:`146083`: Update bundled `libexpat `_ to " +"version 2.7.5." +msgstr "" + +msgid "" +":gh:`146076`: :mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` " +"from a :class:`zoneinfo.ZoneInfo` subclass." +msgstr "" + +msgid "" +":gh:`146054`: Limit the size of :func:`encodings.search_function` cache. " +"Found by OSS Fuzz in :oss-fuzz:`493449985`." +msgstr "" + +msgid "" +":gh:`146004`: All :option:`-X` options from the Python command line are now " +"propagated to child processes spawned by :mod:`multiprocessing`, not just a " +"hard-coded subset. This makes the behavior consistent between default " +"\"spawn\" and \"forkserver\" start methods and the old \"fork\" start " +"method. The options that were previously not propagated are: " +"``context_aware_warnings``, ``cpu_count``, ``disable-remote-debug``, " +"``int_max_str_digits``, ``lazy_imports``, ``no_debug_ranges``, " +"``pathconfig_warnings``, ``perf``, ``perf_jit``, ``presite``, " +"``pycache_prefix``, ``thread_inherit_context``, and " +"``warn_default_encoding``." +msgstr "" + +msgid "" +":gh:`145754`: Request signature during mock autospec with ``FORWARDREF`` " +"annotation format. This prevents runtime errors when an annotation uses a " +"name that is not defined at runtime." +msgstr "" + +msgid "" +":gh:`145750`: Avoid undefined behaviour from signed integer overflow when " +"parsing format strings in the :mod:`struct` module. Found by OSS Fuzz in :" +"oss-fuzz:`488466741`." +msgstr "" + +msgid "" +":gh:`145492`: Fix infinite recursion in :class:`collections.defaultdict` " +"``__repr__`` when a ``defaultdict`` contains itself. Based on analysis by " +"KowalskiThomas in :gh:`145492`." +msgstr "" + +msgid "" +":gh:`145623`: Fix crash in :mod:`struct` when calling :func:`repr` or " +"``__sizeof__()`` on an uninitialized :class:`struct.Struct` object created " +"via ``Struct.__new__()`` without calling ``__init__()``." +msgstr "" + +msgid "" +":gh:`145616`: Detect Android sysconfig ABI correctly on 32-bit ARM Android " +"on 64-bit ARM kernel" +msgstr "" + +msgid "" +":gh:`145551`: Fix InvalidStateError when cancelling process created by :func:" +"`asyncio.create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. " +"Patch by Daan De Meyer." +msgstr "" + +msgid "" +":gh:`145446`: Now :mod:`functools` is safer in free-threaded build when " +"using keywords in :func:`functools.partial`" +msgstr "" + +msgid "" +":gh:`145417`: :mod:`venv`: Prevent incorrect preservation of SELinux context " +"when copying the ``Activate.ps1`` script. The script inherited the SELinux " +"security context of the system template directory, rather than the " +"destination project directory." +msgstr "" + +msgid "" +":gh:`145376`: Fix double free and null pointer dereference in unusual error " +"scenarios in :mod:`hashlib` and :mod:`hmac` modules." +msgstr "" + +msgid "" +":gh:`145301`: :mod:`hmac`: fix a crash when the initialization of the " +"underlying C extension module fails." +msgstr "" + +msgid "" +":gh:`145301`: :mod:`hashlib`: fix a crash when the initialization of the " +"underlying C extension module fails." +msgstr "" + +msgid "" +":gh:`145264`: Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64." +"b64decode`, etc) no longer ignores excess data after the first padded quad " +"in non-strict (default) mode. Instead, in conformance with :rfc:`4648`, " +"section 3.3, it now ignores the pad character, \"=\", if it is present " +"before the end of the encoded data." +msgstr "" + +msgid "" +":gh:`145158`: Avoid undefined behaviour from signed integer overflow when " +"parsing format strings in the :mod:`struct` module." +msgstr "" + +msgid "" +":gh:`144984`: Fix crash in :meth:`xml.parsers.expat.xmlparser." +"ExternalEntityParserCreate` when an allocation fails. The error paths could " +"dereference NULL ``handlers`` and double-decrement the parent parser's " +"reference count." +msgstr "" + +msgid "" +":gh:`88091`: Fix :func:`unicodedata.decomposition` for Hangul characters." +msgstr "" + +msgid "" +":gh:`144986`: Fix a memory leak in :func:`atexit.register`. Patch by Shamil " +"Abdulaev." +msgstr "" + +msgid "" +":gh:`144777`: Fix data races in :class:`io.IncrementalNewlineDecoder` in " +"the :term:`free-threaded build`." +msgstr "" + +msgid "" +":gh:`144809`: Make :class:`collections.deque` copy atomic in the :term:`free-" +"threaded build`." +msgstr "" + +msgid "" +":gh:`144835`: Added missing explanations for some parameters in :func:`glob." +"glob` and :func:`glob.iglob`." +msgstr "" + +msgid "" +":gh:`144833`: Fixed a use-after-free in :mod:`ssl` when ``SSL_new()`` " +"returns NULL in ``newPySSLSocket()``. The error was reported via a dangling " +"pointer after the object had already been freed." +msgstr "" + +msgid "" +":gh:`144782`: Fix :class:`argparse.ArgumentParser` to be :mod:`pickleable " +"`." +msgstr "" + +msgid "" +":gh:`144259`: Fix inconsistent display of long multiline pasted content in " +"the REPL." +msgstr "" + +msgid "" +":gh:`144156`: Fix the folding of headers by the :mod:`email` library when :" +"rfc:`2047` encoded words are used. Now whitespace is correctly preserved " +"and also correctly added between adjacent encoded words. The latter " +"property was broken by the fix for :gh:`92081`, which mostly fixed previous " +"failures to preserve whitespace." +msgstr "" + +msgid "" +":gh:`66305`: Fixed a hang on Windows in the :mod:`tempfile` module when " +"trying to create a temporary file or subdirectory in a non-writable " +"directory." +msgstr "" + +msgid "" +":gh:`140814`: :func:`multiprocessing.freeze_support` no longer sets the " +"default start method as a side effect, which previously caused a subsequent :" +"func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`." +msgstr "" + +msgid "" +":gh:`144475`: Calling :func:`repr` on :func:`functools.partial` is now safer " +"when the partial object's internal attributes are replaced while the string " +"representation is being generated." +msgstr "" + +msgid "" +":gh:`144538`: Bump the version of pip bundled in ensurepip to version 26.0.1" +msgstr "" + +msgid "" +":gh:`144494`: Fix performance regression in :func:`asyncio.all_tasks` on :" +"term:`free-threaded builds `. Patch by Kumar Aditya." +msgstr "" + +msgid "" +":gh:`144316`: Fix crash in ``_remote_debugging`` that caused " +"``test_external_inspection`` to intermittently fail. Patch by Taegyun Kim." +msgstr "" + +msgid "" +":gh:`144363`: Update bundled `libexpat `_ to " +"2.7.4" +msgstr "" + +msgid "" +":gh:`143637`: Fixed a crash in socket.sendmsg() that could occur if " +"ancillary data is mutated re-entrantly during argument parsing." +msgstr "" + +msgid "" +":gh:`143543`: Fix a crash in itertools.groupby that could occur when a user-" +"defined :meth:`~object.__eq__` method re-enters the iterator during key " +"comparison." +msgstr "" + +msgid "" +":gh:`140652`: Fix a crash in :func:`!_interpchannels.list_all` after closing " +"a channel." +msgstr "" + +msgid "" +":gh:`143698`: Allow *scheduler* and *setpgroup* arguments to be explicitly :" +"const:`None` when calling :func:`os.posix_spawn` or :func:`os.posix_spawnp`. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143698`: Raise :exc:`TypeError` instead of :exc:`SystemError` when the " +"*scheduler* in :func:`os.posix_spawn` or :func:`os.posix_spawnp` is not a " +"tuple. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`142516`: :mod:`ssl`: fix reference leaks in :class:`ssl.SSLContext` " +"objects. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143304`: Fix :class:`ctypes.CDLL` to honor the ``handle`` parameter on " +"POSIX systems." +msgstr "" + +msgid "" +":gh:`142781`: :mod:`zoneinfo`: fix a crash when instantiating :class:" +"`~zoneinfo.ZoneInfo` objects for which the internal class-level cache is " +"inconsistent." +msgstr "" + +msgid "" +":gh:`142763`: Fix a race condition between :class:`zoneinfo.ZoneInfo` " +"creation and :func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:" +"`KeyError`." +msgstr "" + +msgid "" +":gh:`142787`: Fix assertion failure in :mod:`sqlite3` blob subscript when " +"slicing with indices that result in an empty slice." +msgstr "" + +msgid "" +":gh:`142352`: Fix :meth:`asyncio.StreamWriter.start_tls` to transfer " +"buffered data from :class:`~asyncio.StreamReader` to the SSL layer, " +"preventing data loss when upgrading a connection to TLS mid-stream (e.g., " +"when implementing PROXY protocol support)." +msgstr "" + +msgid "" +":gh:`141707`: Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` " +"to ``DIRTYPE`` when parsing GNU long name or link headers." +msgstr "" + +msgid "" +":gh:`139933`: Improve :exc:`AttributeError` suggestions for classes with a " +"custom :meth:`~object.__dir__` method returning a list of unsortable values. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`137335`: Get rid of any possibility of a name conflict for named pipes " +"in :mod:`multiprocessing` and :mod:`asyncio` on Windows, no matter how small." +msgstr "" + +msgid "" +":gh:`80667`: Support lookup for Tangut Ideographs in :mod:`unicodedata`." +msgstr "" + +msgid "" +":issue:`40243`: Fix :meth:`!unicodedata.ucd_3_2_0.numeric` for non-decimal " +"values." +msgstr "" + +msgid "Documentation" +msgstr "Dokumentacja" + +msgid "" +":gh:`145649`: Fix text wrapping and formatting of ``-X`` option descriptions " +"in the :manpage:`python(1)` man page by using proper roff markup." +msgstr "" + +msgid "" +":gh:`145450`: Document missing public :class:`wave.Wave_write` getter " +"methods." +msgstr "" + +msgid "" +":gh:`136246`: A new \"Improve this page\" link is available in the left-hand " +"sidebar of the docs, offering links to create GitHub issues, discussion " +"forum posts, or pull requests." +msgstr "" + +msgid "Core and Builtins" +msgstr "Core i builtiny" + +msgid "" +":gh:`146615`: Fix a crash in :meth:`~object.__get__` for :c:expr:" +"`METH_METHOD` descriptors when an invalid (non-type) object is passed as the " +"second argument. Patch by Steven Sun." +msgstr "" + +msgid "" +":gh:`146308`: Fixed several error handling issues in the :mod:`!" +"_remote_debugging` module, including safer validation of remote ``int`` " +"objects, clearer asyncio task chain failures, and cache cleanup fixes that " +"avoid leaking or double-freeing metadata on allocation failure. Patch by " +"Pablo Galindo." +msgstr "" + +msgid "" +":gh:`146250`: Fixed a memory leak in :exc:`SyntaxError` when re-initializing " +"it." +msgstr "" + +msgid "" +":gh:`146245`: Fixed reference leaks in :mod:`socket` when audit hooks raise " +"exceptions in :func:`socket.getaddrinfo` and :meth:`!socket.sendto`." +msgstr "" + +msgid "" +":gh:`146196`: Fix potential Undefined Behavior in :c:func:" +"`PyUnicodeWriter_WriteASCII` by adding a zero-length check. Patch by Shamil " +"Abdulaev." +msgstr "" + +msgid "" +":gh:`146227`: Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 " +"atomics backend (``pyatomic_std.h``), which used a 32-bit atomic load " +"instead of 16-bit. Found by Mohammed Zuhaib." +msgstr "" + +msgid "" +":gh:`146056`: Fix :func:`repr` for lists and tuples containing ``NULL``\\ s." +msgstr "" + +msgid "" +":gh:`146092`: Handle properly memory allocation failures on str and float " +"opcodes. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`146041`: Fix free-threading scaling bottleneck in :func:`sys.intern` " +"and :c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when " +"the string is already interned and immortalized." +msgstr "" + +msgid "" +":gh:`145990`: ``python --help-env`` sections are now sorted by environment " +"variable name." +msgstr "" + +msgid "" +":gh:`145990`: ``python --help-xoptions`` is now sorted by ``-X`` option name." +msgstr "" + +msgid ":gh:`145376`: Fix GC tracking in ``structseq.__replace__()``." +msgstr "" + +msgid "" +":gh:`145792`: Fix out-of-bounds access when invoking faulthandler on a " +"CPython build compiled without support for VLAs." +msgstr "" + +msgid "" +":gh:`142183`: Avoid a pathological case where repeated calls at a specific " +"stack depth could be significantly slower." +msgstr "" + +msgid "" +":gh:`145779`: Improve scaling of :func:`classmethod` and :func:" +"`staticmethod` calls in the free-threaded build by avoiding the descriptor " +"``__get__`` call." +msgstr "" + +msgid "" +":gh:`145783`: Fix an unlikely crash in the parser when certain errors were " +"erroneously not propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`." +msgstr "" + +msgid "" +":gh:`145685`: Improve scaling of type attribute lookups in the :term:`free-" +"threaded build` by avoiding contention on the internal type lock." +msgstr "" + +msgid "" +":gh:`145701`: Fix :exc:`SystemError` when ``__classdict__`` or " +"``__conditional_annotations__`` is in a class-scope inlined comprehension. " +"Found by OSS Fuzz in :oss-fuzz:`491105000`." +msgstr "" + +msgid "" +":gh:`145713`: Make :meth:`bytearray.resize` thread-safe in the free-threaded " +"build by using a critical section and calling the lock-held variant of the " +"resize function." +msgstr "" + +msgid "" +":gh:`145615`: Fixed a memory leak in the :term:`free-threaded build` where " +"mimalloc pages could become permanently unreclaimable until the owning " +"thread exited." +msgstr "" + +msgid "" +":gh:`145566`: In the free threading build, skip the stop-the-world pause " +"when reassigning ``__class__`` on a newly created object." +msgstr "" + +msgid "" +":gh:`145335`: Fix a crash in :func:`os.pathconf` when called with ``-1`` as " +"the path argument." +msgstr "" + +msgid "" +":gh:`145036`: In free-threaded build, fix race condition when calling :meth:" +"`!__sizeof__` on a :class:`list`" +msgstr "" + +msgid ":gh:`145376`: Fix reference leaks in various unusual error scenarios." +msgstr "" + +msgid "" +":gh:`145234`: Fixed a ``SystemError`` in the parser when an encoding cookie " +"(for example, UTF-7) decodes to carriage returns (``\\r``). Newlines are now " +"normalized after decoding in the string tokenizer." +msgstr "" + +msgid "Patch by Pablo Galindo." +msgstr "" + +msgid "" +":gh:`130555`: Fix use-after-free in :meth:`dict.clear` when the dictionary " +"values are embedded in an object and a destructor causes re-entrant mutation " +"of the dictionary." +msgstr "" + +msgid "" +":gh:`145187`: Fix compiler assertion fail when a type parameter bound " +"contains an invalid expression in a conditional block." +msgstr "" + +msgid "" +":gh:`145142`: Fix a crash in the free-threaded build when the dictionary " +"argument to :meth:`str.maketrans` is concurrently modified." +msgstr "" + +msgid ":gh:`144872`: Fix heap buffer overflow in the parser found by OSS-Fuzz." +msgstr "" + +msgid "" +":gh:`144766`: Fix a crash in fork child process when perf support is enabled." +msgstr "" + +msgid "" +":gh:`144759`: Fix undefined behavior in the lexer when ``start`` and " +"``multi_line_start`` pointers are ``NULL`` in " +"``_PyLexer_remember_fstring_buffers()`` and " +"``_PyLexer_restore_fstring_buffers()``. The ``NULL`` pointer arithmetic " +"(``NULL - valid_pointer``) is now guarded with explicit ``NULL`` checks." +msgstr "" + +msgid "" +":gh:`144563`: Fix interaction of the Tachyon profiler and :mod:`ctypes` and " +"other modules that load the Python shared library (if present) in an " +"independent map as this was causing the mechanism that loads the binary " +"information to be confused. Patch by Pablo Galindo" +msgstr "" + +msgid "" +":gh:`144601`: Fix crash when importing a module whose ``PyInit`` function " +"raises an exception from a subinterpreter." +msgstr "" + +msgid "" +":gh:`144438`: Align the QSBR thread state array to a 64-byte cache line " +"boundary to avoid false sharing in the :term:`free-threaded build`." +msgstr "" + +msgid "" +":gh:`144513`: Fix potential deadlock when using critical sections during " +"stop-the-world pauses in the free-threaded build." +msgstr "" + +msgid "" +":gh:`144446`: Fix data races in the free-threaded build when reading frame " +"object attributes while another thread is executing the frame." +msgstr "" + +msgid "" +":gh:`143636`: Fix a crash when calling :class:`SimpleNamespace.__replace__() " +"` on non-namespace instances. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143650`: Fix race condition in :mod:`importlib` where a thread could " +"receive a stale module reference when another thread's import fails." +msgstr "" + +msgid "" +":gh:`141732`: Ensure the :meth:`~object.__repr__` for :exc:`ExceptionGroup` " +"and :exc:`BaseExceptionGroup` does not change when the exception sequence " +"that was original passed in to its constructor is subsequently mutated." +msgstr "" + +msgid "" +":gh:`140594`: Fix an out of bounds read when a single NUL character is read " +"from the standard input. Patch by Shamil Abdulaev." +msgstr "" + +msgid "" +":gh:`91636`: While performing garbage collection, clear weakrefs to " +"unreachable objects that are created during running of finalizers. If those " +"weakrefs were are not cleared, they could reveal unreachable objects." +msgstr "" + +msgid "" +":gh:`130327`: Fix erroneous clearing of an object's :attr:`~object.__dict__` " +"if overwritten at runtime." +msgstr "" + +msgid "" +":gh:`80667`: Literals using the ``\\N{name}`` escape syntax can now " +"construct CJK ideographs and Hangul syllables using case-insensitive names." +msgstr "" + +msgid "C API" +msgstr "C API" + +msgid "" +":gh:`146056`: :c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` " +"argument." +msgstr "" + +msgid "" +":gh:`145010`: Use GCC dialect alternatives for inline assembly in ``object." +"h`` so that the Python headers compile correctly with ``-masm=intel``." +msgstr "" + +msgid "" +":gh:`144981`: Made :c:func:`PyUnstable_Code_SetExtra`, :c:func:" +"`PyUnstable_Code_GetExtra`, and :c:func:" +"`PyUnstable_Eval_RequestCodeExtraIndex` thread-safe on the :term:`free " +"threaded ` build." +msgstr "" + +msgid "Build" +msgstr "Build" + +msgid "" +":gh:`146498`: The iOS XCframework build script now ensures libpython isn't " +"included in installed app content, and is more robust in identifying " +"standard library binary content that requires processing." +msgstr "" + +msgid "" +":gh:`146446`: The clean target for the Apple/iOS XCframework build script is " +"now more selective when targeting a single architecture." +msgstr "" + +msgid "" +":gh:`145801`: When Python build is optimized with GCC using PGO, use ``-" +"fprofile-update=atomic`` option to use atomic operations when updating " +"profile information. This option reduces the risk of gcov Data Files (.gcda) " +"corruption which can cause random GCC crashes. Patch by Victor Stinner." +msgstr "" + +msgid "Python 3.14.3 final" +msgstr "" + +msgid "*Release date: 2026-02-03*" +msgstr "" + +msgid "" +":gh:`128067`: Fix a bug in PyREPL on Windows where output without a trailing " +"newline was overwritten by the next prompt." +msgstr "" + +msgid "Tools/Demos" +msgstr "Narzędzia/Demo" + +msgid "" +":gh:`142095`: Make gdb 'py-bt' command use frame from thread local state " +"when available. Patch by Sam Gross and Victor Stinner." +msgstr "" + +msgid "" +":gh:`144415`: The Android testbed now distinguishes between stdout/stderr " +"messages which were triggered by a newline, and those triggered by a manual " +"call to ``flush``. This fixes logging of progress indicators and similar " +"content." +msgstr "" + +msgid "" +":gh:`143460`: Skip tests relying on infinite recusion if stack size is " +"unlimited." +msgstr "" + +msgid "" +":gh:`65784`: Add support for parametrized resource ``wantobjects`` in " +"regrtests, which allows to run Tkinter tests with the specified value of :" +"data:`!tkinter.wantobjects`, for example ``-u wantobjects=0``." +msgstr "" + +msgid "" +":gh:`143553`: Add support for parametrized resources, such as ``-u " +"xpickle=2.7``." +msgstr "" + +msgid "" +":gh:`142836`: Accommodated Solaris in ``test_pdb." +"test_script_target_anonymous_pipe``." +msgstr "" + +msgid "" +":issue:`31391`: Forward-port test_xpickle from Python 2 to Python 3 and add " +"the resource back to test's command line." +msgstr "" + +msgid "" +":gh:`144125`: :mod:`~email.generator.BytesGenerator` will now refuse to " +"serialize (write) headers that are unsafely folded or delimited; see :attr:" +"`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas " +"Bloemsaat and Petr Viktorin in :gh:`121650`)." +msgstr "" + +msgid "" +":gh:`143935`: Fixed a bug in the folding of comments when flattening an " +"email message using a modern email policy. Comments consisting of a very " +"long sequence of non-foldable characters could trigger a forced line wrap " +"that omitted the required leading space on the continuation line, causing " +"the remainder of the comment to be interpreted as a new header field. This " +"enabled header injection with carefully crafted inputs." +msgstr "" + +msgid ":gh:`143925`: Reject control characters in ``data:`` URL media types." +msgstr "" + +msgid "" +":gh:`143919`: Reject control characters in :class:`http.cookies.Morsel` " +"fields and values." +msgstr "" + +msgid "" +":gh:`143916`: Reject C0 control characters within wsgiref.headers.Headers " +"fields, values, and parameters." +msgstr "" + +msgid "" +":gh:`144380`: Improve performance of :class:`io.BufferedReader` line " +"iteration by ~49%." +msgstr "" + +msgid "" +":gh:`144169`: Fix three crashes when non-string keyword arguments are " +"supplied to objects in the :mod:`ast` module." +msgstr "" + +msgid "" +":gh:`144100`: Fixed a crash in ctypes when using a deprecated " +"``POINTER(str)`` type in ``argtypes``. Instead of aborting, ctypes now " +"raises a proper Python exception when the pointer target type is unresolved." +msgstr "" + +msgid "" +":gh:`144050`: Fix :func:`stat.filemode` in the pure-Python implementation to " +"avoid misclassifying invalid mode values as block devices." +msgstr "" + +msgid "" +":gh:`144023`: Fixed validation of file descriptor 0 in posix functions when " +"used with follow_symlinks parameter." +msgstr "" + +msgid "" +":gh:`143999`: Fix an issue where :func:`inspect.getgeneratorstate` and :func:" +"`inspect.getcoroutinestate` could fail for generators wrapped by :func:" +"`types.coroutine` in the suspended state." +msgstr "" + +msgid "" +":gh:`143831`: :class:`annotationlib.ForwardRef` objects are now hashable " +"when created from annotation scopes with closures. Previously, hashing such " +"objects would throw an exception. Patch by Bartosz Sławecki." +msgstr "" + +msgid "" +":gh:`143874`: Fixed a bug in :mod:`pdb` where expression results were not " +"sent back to remote client." +msgstr "" + +msgid "" +":gh:`143880`: Fix data race in :func:`functools.partial` in the :term:`free " +"threading` build." +msgstr "" + +msgid "" +":gh:`143706`: Fix :mod:`multiprocessing` forkserver so that :data:`sys.argv` " +"is correctly set before ``__main__`` is preloaded. Previously, :data:`sys." +"argv` was empty during main module import in forkserver child processes. " +"This fixes a regression introduced in 3.13.8 and 3.14.1. Root caused by " +"Aaron Wieczorek, test provided by Thomas Watson, thanks!" +msgstr "" + +msgid "" +":gh:`143638`: Forbid reentrant calls of the :class:`pickle.Pickler` and :" +"class:`pickle.Unpickler` methods for the C implementation. Previously, this " +"could cause crash or data corruption, now concurrent calls of methods of the " +"same object raise :exc:`RuntimeError`." +msgstr "" + +msgid "" +":gh:`78724`: Raise :exc:`RuntimeError`'s when user attempts to call methods " +"on half-initialized :class:`~struct.Struct` objects, For example, created by " +"``Struct.__new__(Struct)``. Patch by Sergey B Kirpichev." +msgstr "" + +msgid "" +":gh:`143196`: Fix crash when the internal encoder object returned by " +"undocumented function :func:`!json.encoder.c_make_encoder` was called with " +"non-zero second (*_current_indent_level*) argument." +msgstr "" + +msgid "" +":gh:`143191`: :func:`_thread.stack_size` now raises :exc:`ValueError` if the " +"stack size is too small. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`143602`: Fix a inconsistency issue in :meth:`~io.RawIOBase.write` that " +"leads to unexpected buffer overwrite by deduplicating the buffer exports." +msgstr "" + +msgid "" +":gh:`143547`: Fix :func:`sys.unraisablehook` when the hook raises an " +"exception and changes :func:`sys.unraisablehook`: hold a strong reference to " +"the old hook. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`143517`: :func:`annotationlib.get_annotations` no longer raises a :exc:" +"`SyntaxError` when evaluating a stringified starred annotation that starts " +"with one or more whitespace characters followed by a ``*``. Patch by Bartosz " +"Sławecki." +msgstr "" + +msgid "" +":gh:`143378`: Fix use-after-free crashes when a :class:`~io.BytesIO` object " +"is concurrently mutated during :meth:`~io.RawIOBase.write` or :meth:`~io." +"IOBase.writelines`." +msgstr "" + +msgid "" +":gh:`143346`: Fix incorrect wrapping of the Base64 data in :class:`!plistlib." +"_PlistWriter` when the indent contains a mix of tabs and spaces." +msgstr "" + +msgid "" +":gh:`143310`: :mod:`tkinter`: fix a crash when a Python :class:`list` is " +"mutated during the conversion to a Tcl object (e.g., when setting a Tcl " +"variable). Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143309`: Fix a crash in :func:`os.execve` on non-Windows platforms when " +"given a custom environment mapping which is then mutated during parsing. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143308`: :mod:`pickle`: fix use-after-free crashes when a :class:" +"`~pickle.PickleBuffer` is concurrently mutated by a custom buffer callback " +"during pickling. Patch by Bénédikt Tran and Aaron Wieczorek." +msgstr "" + +msgid "" +":gh:`143237`: Fix support of named pipes in the rotating :mod:`logging` " +"handlers." +msgstr "" + +msgid "" +":gh:`143249`: Fix possible buffer leaks in Windows overlapped I/O on error " +"handling." +msgstr "" + +msgid "" +":gh:`143241`: :mod:`zoneinfo`: fix infinite loop in :meth:`ZoneInfo." +"from_file ` when parsing a malformed TZif file. " +"Patch by Fatih Celik." +msgstr "" + +msgid "" +":gh:`142830`: :mod:`sqlite3`: fix use-after-free crashes when the " +"connection's callbacks are mutated during a callback execution. Patch by " +"Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143200`: :mod:`xml.etree.ElementTree`: fix use-after-free crashes in :" +"meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods of :class:" +"`~xml.etree.ElementTree.Element` when the element is concurrently mutated. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`142195`: Updated timeout evaluation logic in :mod:`subprocess` to be " +"compatible with deterministic environments like Shadow where time moves " +"exactly as requested." +msgstr "" + +msgid "" +":gh:`142164`: Fix the ctypes bitfield overflow error message to report the " +"correct offset and size calculation." +msgstr "" + +msgid "" +":gh:`143145`: Fixed a possible reference leak in ctypes when constructing " +"results with multiple output parameters on error." +msgstr "" + +msgid "" +":gh:`122431`: Corrected the error message in :func:`readline." +"append_history_file` to state that ``nelements`` must be non-negative " +"instead of positive." +msgstr "" + +msgid "" +":gh:`143004`: Fix a potential use-after-free in :meth:`collections.Counter." +"update` when user code mutates the Counter during an update." +msgstr "" + +msgid "" +":gh:`143046`: The :mod:`asyncio` REPL no longer prints copyright and version " +"messages in the quiet mode (:option:`-q`). Patch by Bartosz Sławecki." +msgstr "" + +msgid "" +":gh:`140648`: The :mod:`asyncio` REPL now respects the :option:`-I` flag " +"(isolated mode). Previously, it would load and execute :envvar:" +"`PYTHONSTARTUP` even if the flag was set. Contributed by Bartosz Sławecki." +msgstr "" + +msgid "" +":gh:`142991`: Fixed socket operations such as recvfrom() and sendto() for " +"FreeBSD divert(4) socket." +msgstr "" + +msgid "" +":gh:`143010`: Fixed a bug in :mod:`mailbox` where the precise timing of an " +"external event could result in the library opening an existing file instead " +"of a file it expected to create." +msgstr "" + +msgid "" +":gh:`142881`: Fix concurrent and reentrant call of :func:`atexit.unregister`." +msgstr "" + +msgid "" +":gh:`112127`: Fix possible use-after-free in :func:`atexit.unregister` when " +"the callback is unregistered during comparison." +msgstr "" + +msgid "" +":gh:`142783`: Fix zoneinfo use-after-free with descriptor _weak_cache. a " +"descriptor as _weak_cache could cause crashes during object creation. The " +"fix ensures proper reference counting for descriptor-provided objects." +msgstr "" + +msgid "" +":gh:`142754`: Add the *ownerDocument* attribute to :mod:`xml.dom.minidom` " +"elements and attributes created by directly instantiating the ``Element`` or " +"``Attr`` class. Note that this way of creating nodes is not supported; " +"creator functions like :py:meth:`xml.dom.Document.documentElement` should be " +"used instead." +msgstr "" + +msgid "" +":gh:`142784`: The :mod:`asyncio` REPL now properly closes the loop upon the " +"end of interactive session. Previously, it could cause surprising warnings. " +"Contributed by Bartosz Sławecki." +msgstr "" + +msgid "" +":gh:`142555`: :mod:`array`: fix a crash in ``a[i] = v`` when converting *i* " +"to an index via :meth:`i.__index__ ` or :meth:`i.__float__ " +"` mutates the array." +msgstr "" + +msgid "" +":gh:`142594`: Fix crash in ``TextIOWrapper.close()`` when the underlying " +"buffer's ``closed`` property calls :meth:`~io.TextIOBase.detach`." +msgstr "" + +msgid "" +":gh:`142451`: :mod:`hmac`: Ensure that the :attr:`HMAC.block_size ` attribute is correctly copied by :meth:`HMAC.copy `. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`142495`: :class:`collections.defaultdict` now prioritizes :meth:" +"`~object.__setitem__` when inserting default values from " +"``default_factory``. This prevents race conditions where a default value " +"would overwrite a value set before ``default_factory`` returns." +msgstr "" + +msgid "" +":gh:`142651`: :mod:`unittest.mock`: fix a thread safety issue where :attr:" +"`Mock.call_count ` may return inaccurate " +"values when the mock is called concurrently from multiple threads." +msgstr "" + +msgid "" +":gh:`142595`: Added type check during initialization of the :mod:`decimal` " +"module to prevent a crash in case of broken stdlib. Patch by Sergey B " +"Kirpichev." +msgstr "" + +msgid "" +":gh:`142556`: Fix crash when a task gets re-registered during finalization " +"in :mod:`asyncio`. Patch by Kumar Aditya." +msgstr "" + +msgid "" +":gh:`123241`: Avoid reference count operations in garbage collection of :mod:" +"`ctypes` objects." +msgstr "" + +msgid "" +":gh:`142517`: The non-``compat32`` :mod:`email` policies now correctly " +"handle refolding encoded words that contain bytes that can not be decoded in " +"their specified character set. Previously this resulted in an encoding " +"exception during folding." +msgstr "" + +msgid "" +":gh:`112527`: The help text for required options in :mod:`argparse` no " +"longer extended with \" (default: None)\"." +msgstr "" + +msgid "" +":gh:`142346`: Fix usage formatting for mutually exclusive groups in :mod:" +"`argparse` when they are preceded by positional arguments or followed or " +"intermixed with other optional arguments." +msgstr "" + +msgid "" +":gh:`142315`: Pdb can now run scripts from anonymous pipes used in process " +"substitution. Patch by Bartosz Sławecki." +msgstr "" + +msgid "" +":gh:`142332`: Fix usage formatting for positional arguments in mutually " +"exclusive groups in :mod:`argparse`. in :mod:`argparse`." +msgstr "" + +msgid "" +":gh:`142282`: Fix :func:`winreg.QueryValueEx` to not accidentally read " +"garbage buffer under race condition." +msgstr "" + +msgid "" +":gh:`75949`: Fix :mod:`argparse` to preserve ``|`` separators in mutually " +"exclusive groups when the usage line wraps due to length." +msgstr "" + +msgid "" +":gh:`142267`: Improve :mod:`argparse` performance by caching the formatter " +"used for argument validation." +msgstr "" + +msgid "" +":gh:`68552`: ``MisplacedEnvelopeHeaderDefect`` and ``Missing header name`` " +"defects are now correctly passed to the ``handle_defect`` method of " +"``policy`` in :class:`~email.parser.FeedParser`." +msgstr "" + +msgid "" +":gh:`142006`: Fix a bug in the :mod:`email.policy.default` folding algorithm " +"which incorrectly resulted in a doubled newline when a line ending at " +"exactly max_line_length was followed by an unfoldable token." +msgstr "" + +msgid "" +":gh:`105836`: Fix :meth:`asyncio.run_coroutine_threadsafe` leaving " +"underlying cancelled asyncio task running." +msgstr "" + +msgid "" +":gh:`139971`: :mod:`pydoc`: Ensure that the link to the online documentation " +"of a :term:`stdlib` module is correct." +msgstr "" + +msgid "" +":gh:`139262`: Some keystrokes can be swallowed in the new ``PyREPL`` on " +"Windows, especially when used together with the ALT key. Fix by Chris Eibl." +msgstr "" + +msgid "" +":gh:`138897`: Improved :data:`license`/:data:`copyright`/:data:`credits` " +"display in the :term:`REPL`: now uses a pager." +msgstr "" + +msgid "" +":gh:`79986`: Add parsing for ``References`` and ``In-Reply-To`` headers to " +"the :mod:`email` library that parses the header content as lists of message " +"id tokens. This prevents them from being folded incorrectly." +msgstr "" + +msgid "" +":gh:`136282`: Add support for :const:`~configparser.UNNAMED_SECTION` when " +"creating a section via the mapping protocol access" +msgstr "" + +msgid "" +":gh:`109263`: Starting a process from spawn context in :mod:" +"`multiprocessing` no longer sets the start method globally." +msgstr "" + +msgid ":gh:`133253`: Fix thread-safety issues in :mod:`linecache`." +msgstr "" + +msgid "" +":gh:`132715`: Skip writing objects during marshalling once a failure has " +"occurred." +msgstr "" + +msgid "IDLE" +msgstr "IDLE" + +msgid "" +":gh:`143774`: Better explain the operation of Format / Format Paragraph." +msgstr "" + +msgid ":gh:`140806`: Add documentation for :func:`enum.bin`." +msgstr "" + +msgid "" +":gh:`144307`: Prevent a reference leak in module teardown at interpreter " +"finalization." +msgstr "" + +msgid "" +":gh:`144194`: Fix error handling in perf jitdump initialization on memory " +"allocation failure." +msgstr "" + +msgid "" +":gh:`144012`: Check if the result is ``NULL`` in ``BINARY_OP_EXTENT`` opcode." +msgstr "" + +msgid "" +":gh:`141805`: Fix crash in :class:`set` when objects with the same hash are " +"concurrently added to the set after removing an element with the same hash " +"while the set still contains elements with the same hash." +msgstr "" + +msgid ":gh:`143670`: Fixes a crash in ``ga_repr_items_list`` function." +msgstr "" + +msgid "" +":gh:`143377`: Fix a crash in :func:`!_interpreters.capture_exception` when " +"the exception is incorrectly formatted. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`136924`: The interactive help mode in the :term:`REPL` no longer " +"incorrectly syntax highlights text input as Python code. Contributed by Olga " +"Matoula." +msgstr "" + +msgid "" +":gh:`143189`: Fix crash when inserting a non-:class:`str` key into a split " +"table dictionary when the key matches an existing key in the split table but " +"has no corresponding value in the dict." +msgstr "" + +msgid "" +":gh:`143228`: Fix use-after-free in perf trampoline when toggling profiling " +"while threads are running or during interpreter finalization with daemon " +"threads active. The fix uses reference counting to ensure trampolines are " +"not freed while any code object could still reference them. Pach by Pablo " +"Galindo" +msgstr "" + +msgid "" +":gh:`142664`: Fix a use-after-free crash in :meth:`memoryview.__hash__ " +"` when the ``__hash__`` method of the referenced object " +"mutates that object or the view. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`142557`: Fix a use-after-free crash in :ref:`bytearray.__mod__ ` when the :class:`!bytearray` is mutated while formatting the " +"``%``-style arguments. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`143195`: Fix use-after-free crashes in :meth:`bytearray.hex` and :meth:" +"`memoryview.hex` when the separator's :meth:`~object.__len__` mutates the " +"original object. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`142975`: Fix crash after unfreezing all objects tracked by the garbage " +"collector on the :term:`free threaded ` build." +msgstr "" + +msgid "" +":gh:`143135`: Set :data:`sys.flags.inspect` to ``1`` when :envvar:" +"`PYTHONINSPECT` is ``0``. Previously, it was set to ``0`` in this case." +msgstr "" + +msgid "" +":gh:`143003`: Fix an overflow of the shared empty buffer in :meth:`bytearray." +"extend` when ``__length_hint__()`` returns 0 for non-empty iterator." +msgstr "" + +msgid "" +":gh:`143006`: Fix a possible assertion error when comparing negative non-" +"integer ``float`` and ``int`` with the same number of bits in the integer " +"part." +msgstr "" + +msgid "" +":gh:`143057`: Avoid locking in :c:func:`PyTraceMalloc_Track` and :c:func:" +"`PyTraceMalloc_Untrack` when :mod:`tracemalloc` is not enabled." +msgstr "" + +msgid ":gh:`142776`: Fix a file descriptor leak in import.c" +msgstr "" + +msgid "" +":gh:`142829`: Fix a use-after-free crash in :class:`contextvars.Context` " +"comparison when a custom ``__eq__`` method modifies the context via :meth:" +"`~contextvars.ContextVar.set`." +msgstr "" + +msgid "" +":gh:`142766`: Clear the frame of a generator when :meth:`generator.close` is " +"called." +msgstr "" + +msgid "" +":gh:`142737`: Tracebacks will be displayed in fallback mode even if :func:" +"`io.open` is lost. Previously, this would crash the interpreter. Patch by " +"Bartosz Sławecki." +msgstr "" + +msgid "" +":gh:`142554`: Fix a crash in :func:`divmod` when :func:`!_pylong.int_divmod` " +"does not return a tuple of length two exactly. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`142560`: Fix use-after-free in :class:`bytearray` search-like methods (:" +"meth:`~bytearray.find`, :meth:`~bytearray.count`, :meth:`~bytearray.index`, :" +"meth:`~bytearray.rindex`, and :meth:`~bytearray.rfind`) by marking the " +"storage as exported which causes reallocation attempts to raise :exc:" +"`BufferError`. For :func:`~operator.contains`, :meth:`~bytearray.split`, " +"and :meth:`~bytearray.rsplit` the :ref:`buffer protocol ` is " +"used for this." +msgstr "" + +msgid "" +":gh:`142531`: Fix a free-threaded GC performance regression. If there are " +"many untracked tuples, the GC will run too often, resulting in poor " +"performance. The fix is to include untracked tuples in the \"long lived\" " +"object count. The number of frozen objects is also now included since the " +"free-threaded GC must scan those too." +msgstr "" + +msgid "" +":gh:`142402`: Fix reference counting when adjacent literal parts are merged " +"while constructing :class:`string.templatelib.Template`, preventing the " +"displaced string object from leaking." +msgstr "" + +msgid "" +":gh:`133932`: Fix crash in the free threading build when clearing frames " +"that hold tagged integers." +msgstr "" + +msgid "" +":gh:`142343`: Fix SIGILL crash on m68k due to incorrect assembly constraint." +msgstr "" + +msgid "" +":gh:`100964`: Fix reference cycle in exhausted generator frames. Patch by " +"Savannah Ostrowski." +msgstr "" + +msgid "" +":gh:`69605`: Fix edge-cases around already imported modules in the :term:" +"`REPL` auto-completion of imports." +msgstr "" + +msgid "" +":gh:`138568`: Adjusted the built-in :func:`help` function so that empty " +"inputs are ignored in interactive mode." +msgstr "" + +msgid "" +":gh:`137007`: Fix a bug during JIT compilation failure which caused garbage " +"collection debug assertions to fail." +msgstr "" + +msgid "" +":gh:`142589`: Fix :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()` " +"handling of tagged ints on the interpreter stack." +msgstr "" + +msgid "" +":gh:`142571`: :c:func:`!PyUnstable_CopyPerfMapFile` now checks that opening " +"the file succeeded before flushing." +msgstr "" + +msgid "" +":gh:`142454`: When calculating the digest of the JIT stencils input, sort " +"the hashed files by filenames before adding their content to the hasher. " +"This ensures deterministic hash input and hence deterministic hash, " +"independent on filesystem order." +msgstr "" + +msgid "" +":gh:`141808`: When running ``make clean-retain-profile``, keep the generated " +"JIT stencils. That way, the stencils are not generated twice when Profile-" +"guided optimization (PGO) is used. It also allows distributors to supply " +"their own pre-built JIT stencils." +msgstr "" + +msgid "" +":gh:`138061`: Ensure reproducible builds by making JIT stencil header " +"generation deterministic." +msgstr "" + +msgid "Python 3.14.2 final" +msgstr "" + +msgid "*Release date: 2025-12-05*" +msgstr "" + +msgid "" +":gh:`142145`: Remove quadratic behavior in ``xml.minidom`` node ID cache " +"clearing." +msgstr "" + +msgid "" +":gh:`119452`: Fix a potential memory denial of service in the :mod:`http." +"server` module. When a malicious user is connected to the CGI server on " +"Windows, it could cause an arbitrary amount of memory to be allocated. This " +"could have led to symptoms including a :exc:`MemoryError`, swapping, out of " +"memory (OOM) killed processes or containers, or even system crashes." +msgstr "" + +msgid "" +":gh:`140797`: Revert changes to the undocumented :class:`!re.Scanner` class. " +"Capturing groups are still allowed for backward compatibility, although " +"using them can lead to incorrect result. They will be forbidden in future " +"Python versions." +msgstr "" + +msgid "" +":gh:`142206`: The resource tracker in the :mod:`multiprocessing` module now " +"uses the original communication protocol, as in Python 3.14.0 and below, by " +"default. This avoids issues with upgrading Python while it is running. (Note " +"that such 'in-place' upgrades are not tested.) The tracker remains " +"compatible with subprocesses that use new protocol (that is, subprocesses " +"using Python 3.13.10, 3.14.1 and 3.15)." +msgstr "" + +msgid "" +":gh:`142214`: Fix two regressions in :mod:`dataclasses` in Python 3.14.1 " +"related to annotations." +msgstr "" + +msgid "" +"An exception is no longer raised if ``slots=True`` is used and the " +"``__init__`` method does not have an ``__annotate__`` attribute (likely " +"because ``init=False`` was used)." +msgstr "" + +msgid "" +"An exception is no longer raised if annotations are requested on the " +"``__init__`` method and one of the fields is not present in the class " +"annotations. This can occur in certain dynamic scenarios." +msgstr "" + +msgid "Patch by Jelle Zijlstra." +msgstr "" + +msgid "" +":gh:`142218`: Fix crash when inserting into a split table dictionary with a " +"non :class:`str` key that matches an existing key." +msgstr "" + +msgid "" +":gh:`116738`: Fix :mod:`cmath` data race when initializing trigonometric " +"tables with subinterpreters." +msgstr "" + +msgid "Python 3.14.1 final" +msgstr "" + +msgid "*Release date: 2025-12-02*" +msgstr "" + +msgid "" +":gh:`139810`: Installing with ``py install 3[.x]-dev`` will now select final " +"versions as well as prereleases." +msgstr "" + +msgid "" +":gh:`141692`: Each slice of an iOS XCframework now contains a ``lib`` folder " +"that contains a symlink to the libpython dylib. This allows binary modules " +"to be compiled for iOS using dynamic libreary linking, rather than Framework " +"linking." +msgstr "" + +msgid "" +":gh:`141442`: The iOS testbed now correctly handles test arguments that " +"contain spaces." +msgstr "" + +msgid "" +":gh:`140702`: The iOS testbed app will now expose the ``GITHUB_ACTIONS`` " +"environment variable to iOS apps being tested." +msgstr "" + +msgid "" +":gh:`137484`: Have ``Tools/wasm/wasi`` put the build Python into a directory " +"named after the build triple instead of \"build\"." +msgstr "" + +msgid "" +":gh:`137248`: Add a ``--logdir`` option to ``Tools/wasm/wasi`` for " +"specifying where to write log files." +msgstr "" + +msgid "" +":gh:`137243`: Have Tools/wasm/wasi detect a WASI SDK install in /opt when it " +"was directly extracted from a release tarball." +msgstr "" + +msgid "" +":gh:`140482`: Preserve and restore the state of ``stty echo`` as part of the " +"test environment." +msgstr "" + +msgid "" +":gh:`140082`: Update ``python -m test`` to set ``FORCE_COLOR=1`` when being " +"run with color enabled so that :mod:`unittest` which is run by it with " +"redirected output will output in color." +msgstr "" + +msgid "" +":gh:`139208`: Fix regrtest ``--fast-ci --verbose``: don't ignore the ``--" +"verbose`` option anymore. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`136442`: Use exitcode ``1`` instead of ``5`` if :func:`unittest." +"TestCase.setUpClass` raises an exception" +msgstr "" + +msgid "" +":gh:`139700`: Check consistency of the zip64 end of central directory " +"record. Support records with \"zip64 extensible data\" if there are no bytes " +"prepended to the ZIP file." +msgstr "" + +msgid "" +":gh:`139283`: :mod:`sqlite3`: correctly handle maximum number of rows to " +"fetch in :meth:`Cursor.fetchmany ` and reject " +"negative values for :attr:`Cursor.arraysize `. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`137836`: Add support of the \"plaintext\" element, RAWTEXT elements " +"\"xmp\", \"iframe\", \"noembed\" and \"noframes\", and optionally RAWTEXT " +"element \"noscript\" in :class:`html.parser.HTMLParser`." +msgstr "" + +msgid "" +":gh:`136063`: :mod:`email.message`: ensure linear complexity for legacy HTTP " +"parameters parsing. Patch by Bénédikt Tran." +msgstr "" + +msgid ":gh:`136065`: Fix quadratic complexity in :func:`os.path.expandvars`." +msgstr "" + +msgid "" +":gh:`119451`: Fix a potential memory denial of service in the :mod:`http." +"client` module. When connecting to a malicious server, it could cause an " +"arbitrary amount of memory to be allocated. This could have led to symptoms " +"including a :exc:`MemoryError`, swapping, out of memory (OOM) killed " +"processes or containers, or even system crashes." +msgstr "" + +msgid "" +":gh:`119342`: Fix a potential memory denial of service in the :mod:" +"`plistlib` module. When reading a Plist file received from untrusted source, " +"it could cause an arbitrary amount of memory to be allocated. This could " +"have led to symptoms including a :exc:`MemoryError`, swapping, out of memory " +"(OOM) killed processes or containers, or even system crashes." +msgstr "" + +msgid "" +":gh:`74389`: When the stdin being used by a :class:`subprocess.Popen` " +"instance is closed, this is now ignored in :meth:`subprocess.Popen." +"communicate` instead of leaving the class in an inconsistent state." +msgstr "" + +msgid "" +":gh:`87512`: Fix :func:`subprocess.Popen.communicate` timeout handling on " +"Windows when writing large input. Previously, the timeout was ignored during " +"stdin writing, causing the method to block indefinitely if the child process " +"did not consume input quickly. The stdin write is now performed in a " +"background thread, allowing the timeout to be properly enforced." +msgstr "" + +msgid "" +":gh:`141473`: When :meth:`subprocess.Popen.communicate` was called with " +"*input* and a *timeout* and is called for a second time after a :exc:" +"`~subprocess.TimeoutExpired` exception before the process has died, it " +"should no longer hang." +msgstr "" + +msgid "" +":gh:`59000`: Fix :mod:`pdb` breakpoint resolution for class methods when the " +"module defining the class is not imported." +msgstr "" + +msgid "" +":gh:`141570`: Support :term:`file-like object` raising :exc:`OSError` from :" +"meth:`~io.IOBase.fileno` in color detection (``_colorize.can_colorize()``). " +"This can occur when ``sys.stdout`` is redirected." +msgstr "" + +msgid "" +":gh:`141659`: Fix bad file descriptor errors from ``_posixsubprocess`` on " +"AIX." +msgstr "" + +msgid ":gh:`141600`: Fix musl version detection on Void Linux." +msgstr "" + +msgid "" +":gh:`141497`: :mod:`ipaddress`: ensure that the methods :meth:`IPv4Network." +"hosts() ` and :meth:`IPv6Network.hosts() " +"` always return an iterator." +msgstr "" + +msgid "" +":gh:`140938`: The :func:`statistics.stdev` and :func:`statistics.pstdev` " +"functions now raise a :exc:`ValueError` when the input contains an infinity " +"or a NaN." +msgstr "" + +msgid "" +":gh:`124111`: Updated Tcl threading configuration in :mod:`_tkinter` to " +"assume that threads are always available in Tcl 9 and later." +msgstr "" + +msgid "" +":gh:`137109`: The :mod:`os.fork` and related forking APIs will no longer " +"warn in the common case where Linux or macOS platform APIs return the number " +"of threads in a process and find the answer to be 1 even when a :func:`os." +"register_at_fork` ``after_in_parent=`` callback (re)starts a thread." +msgstr "" + +msgid "" +":gh:`141314`: Fix assertion failure in :meth:`io.TextIOWrapper.tell` when " +"reading files with standalone carriage return (``\\r``) line endings." +msgstr "" + +msgid "" +":gh:`141311`: Fix assertion failure in :func:`!io.BytesIO.readinto` and " +"undefined behavior arising when read position is above capcity in :class:`io." +"BytesIO`." +msgstr "" + +msgid "" +":gh:`141141`: Fix a thread safety issue with :func:`base64.b85decode`. " +"Contributed by Benel Tayar." +msgstr "" + +msgid "" +":gh:`137969`: Fix :meth:`annotationlib.ForwardRef.evaluate` returning :class:" +"`~annotationlib.ForwardRef` objects which don't update with new globals." +msgstr "" + +msgid "" +":gh:`140911`: :mod:`collections`: Ensure that the methods ``UserString." +"rindex()`` and ``UserString.index()`` accept :class:`collections.UserString` " +"instances as the sub argument." +msgstr "" + +msgid "" +":gh:`140797`: The undocumented :class:`!re.Scanner` class now forbids " +"regular expressions containing capturing groups in its lexicon patterns. " +"Patterns using capturing groups could previously lead to crashes with " +"segmentation fault. Use non-capturing groups (?:...) instead." +msgstr "" + +msgid "" +":gh:`125115`: Refactor the :mod:`pdb` parsing issue so positional arguments " +"can pass through intuitively." +msgstr "" + +msgid "" +":gh:`140815`: :mod:`faulthandler` now detects if a frame or a code object is " +"invalid or freed. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`100218`: Correctly set :attr:`~OSError.errno` when :func:`socket." +"if_nametoindex` or :func:`socket.if_indextoname` raise an :exc:`OSError`. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`140875`: Fix handling of unclosed character references (named and " +"numerical) followed by the end of file in :class:`html.parser.HTMLParser` " +"with ``convert_charrefs=False``." +msgstr "" + +msgid "" +":gh:`140734`: :mod:`multiprocessing`: fix off-by-one error when checking the " +"length of a temporary socket file path. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`140874`: Bump the version of pip bundled in ensurepip to version 25.3" +msgstr "" + +msgid "" +":gh:`140691`: In :mod:`urllib.request`, when opening a FTP URL fails because " +"a data connection cannot be made, the control connection's socket is now " +"closed to avoid a :exc:`ResourceWarning`." +msgstr "" + +msgid "" +":gh:`103847`: Fix hang when cancelling process created by :func:`asyncio." +"create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. Patch by " +"Kumar Aditya." +msgstr "" + +msgid ":gh:`120057`: Add :func:`os.reload_environ` to ``os.__all__``." +msgstr "" + +msgid "" +":gh:`140228`: Avoid making unnecessary filesystem calls for frozen modules " +"in :mod:`linecache` when the global module cache is not present." +msgstr "" + +msgid "" +":gh:`140590`: Fix arguments checking for the :meth:`!functools.partial." +"__setstate__` that may lead to internal state corruption and crash. Patch by " +"Sergey Miryanov." +msgstr "" + +msgid "" +":gh:`125434`: Display thread name in :mod:`faulthandler` on Windows. Patch " +"by Victor Stinner." +msgstr "" + +msgid "" +":gh:`140634`: Fix a reference counting bug in :meth:`!os.sched_param." +"__reduce__`." +msgstr "" + +msgid "" +":gh:`140633`: Ignore :exc:`AttributeError` when setting a module's " +"``__file__`` attribute when loading an extension module packaged as Apple " +"Framework." +msgstr "" + +msgid "" +":gh:`140593`: :mod:`xml.parsers.expat`: Fix a memory leak that could affect " +"users with :meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler` set to a " +"custom element declaration handler. Patch by Sebastian Pipping." +msgstr "" + +msgid "" +":gh:`140607`: Inside :meth:`io.RawIOBase.read`, validate that the count of " +"bytes returned by :meth:`io.RawIOBase.readinto` is valid (inside the " +"provided buffer)." +msgstr "" + +msgid "" +":gh:`138162`: Fix :class:`logging.LoggerAdapter` with ``merge_extra=True`` " +"and without the *extra* argument." +msgstr "" + +msgid "" +":gh:`138774`: :func:`ast.unparse` now generates full source code when " +"handling :class:`ast.Interpolation` nodes that do not have a specified " +"source." +msgstr "" + +msgid "" +":gh:`140474`: Fix memory leak in :class:`array.array` when creating arrays " +"from an empty :class:`str` and the ``u`` type code." +msgstr "" + +msgid "" +":gh:`137530`: :mod:`dataclasses` Fix annotations for generated ``__init__`` " +"methods by replacing the annotations that were in-line in the generated " +"source code with ``__annotate__`` functions attached to the methods." +msgstr "" + +msgid "" +":gh:`140348`: Fix regression in Python 3.14.0 where using the ``|`` operator " +"on a :class:`typing.Union` object combined with an object that is not a type " +"would raise an error." +msgstr "" + +msgid "" +":gh:`140272`: Fix memory leak in the :meth:`!clear` method of the :mod:`dbm." +"gnu` database." +msgstr "" + +msgid "" +":gh:`140041`: Fix import of :mod:`ctypes` on Android and Cygwin when ABI " +"flags are present." +msgstr "" + +msgid "" +":gh:`140120`: Fixed a memory leak in :mod:`hmac` when it was using the hacl-" +"star backend. Discovered by ``@ashm-dev`` using AddressSanitizer." +msgstr "" + +msgid "" +":gh:`139905`: Add suggestion to error message for :class:`typing.Generic` " +"subclasses when ``cls.__parameters__`` is missing due to a parent class " +"failing to call :meth:`super().__init_subclass__() ` in its ``__init_subclass__``." +msgstr "" + +msgid "" +":gh:`139894`: Fix incorrect sharing of current task with the child process " +"while forking in :mod:`asyncio`. Patch by Kumar Aditya." +msgstr "" + +msgid "" +":gh:`139845`: Fix to not print KeyboardInterrupt twice in default asyncio " +"REPL." +msgstr "" + +msgid "" +":gh:`139783`: Fix :func:`inspect.getsourcelines` for the case when a " +"decorator is followed by a comment or an empty line." +msgstr "" + +msgid "" +":gh:`139809`: Prevent premature colorization of subparser ``prog`` in :meth:" +"`argparse.ArgumentParser.add_subparsers` to respect color environment " +"variable changes after parser creation." +msgstr "" + +msgid "" +":gh:`139736`: Fix excessive indentation in the default :mod:`argparse` :" +"class:`!HelpFormatter`. Patch by Alexander Edland." +msgstr "" + +msgid "" +":gh:`70765`: :mod:`http.server`: fix default handling of HTTP/0.9 requests " +"in :class:`~http.server.BaseHTTPRequestHandler`. Previously, :meth:`!" +"BaseHTTPRequestHandler.parse_request` incorrectly waited for headers in the " +"request although those are not supported in HTTP/0.9. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`63161`: Fix :func:`tokenize.detect_encoding`. Support non-UTF-8 shebang " +"and comments if non-UTF-8 encoding is specified. Detect decoding error for " +"non-UTF-8 encoding. Detect null bytes in source code." +msgstr "" + +msgid "" +":gh:`139391`: Fix an issue when, on non-Windows platforms, it was not " +"possible to gracefully exit a ``python -m asyncio`` process suspended by " +"Ctrl+Z and later resumed by :manpage:`fg` other than with :manpage:`kill`." +msgstr "" + +msgid "" +":gh:`101828`: Fix ``'shift_jisx0213'``, ``'shift_jis_2004'``, " +"``'euc_jisx0213'`` and ``'euc_jis_2004'`` codecs truncating null chars as " +"they were treated as part of multi-character sequences." +msgstr "" + +msgid "" +":gh:`139289`: Do a real lazy-import on :mod:`rlcompleter` in :mod:`pdb` and " +"restore the existing completer after importing :mod:`rlcompleter`." +msgstr "" + +msgid ":gh:`139246`: fix: paste zero-width in default repl width is wrong." +msgstr "" + +msgid "" +":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." +"SetAllocTrackerActivationThreshold` and :meth:`~xml.parsers.expat.xmlparser." +"SetAllocTrackerMaximumAmplification` to :ref:`xmlparser ` " +"objects to prevent use of disproportional amounts of dynamic memory from " +"within an Expat parser. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`139210`: Fix use-after-free when reporting unknown event in :func:`xml." +"etree.ElementTree.iterparse`. Patch by Ken Jin." +msgstr "" + +msgid "" +":gh:`138860`: Lazy import :mod:`rlcompleter` in :mod:`pdb` to avoid deadlock " +"in subprocess." +msgstr "" + +msgid "" +":gh:`112729`: Fix crash when calling :func:`concurrent.interpreters.create` " +"when the process is out of memory." +msgstr "" + +msgid "" +":gh:`135729`: Fix unraisable exception during finalization when using :mod:" +"`concurrent.interpreters` in the REPL." +msgstr "" + +msgid "" +":gh:`139076`: Fix a bug in the :mod:`pydoc` module that was hiding functions " +"in a Python module if they were implemented in an extension module and the " +"module did not have ``__all__``." +msgstr "" + +msgid "" +":gh:`139065`: Fix trailing space before a wrapped long word if the line " +"length is exactly *width* in :mod:`textwrap`." +msgstr "" + +msgid "" +":gh:`139001`: Fix race condition in :class:`pathlib.Path` on the internal " +"``_raw_paths`` field." +msgstr "" + +msgid "" +":gh:`138813`: :class:`!multiprocessing.BaseProcess` defaults ``kwargs`` to " +"``None`` instead of a shared dictionary." +msgstr "" + +msgid ":gh:`138993`: Dedent :data:`credits` text." +msgstr "" + +msgid "" +":gh:`138891`: Fix ``SyntaxError`` when ``inspect.get_annotations(f, " +"eval_str=True)`` is called on a function annotated with a :pep:`646` " +"``star_expression``" +msgstr "" + +msgid "" +":gh:`130567`: Fix possible crash in :func:`locale.strxfrm` due to a platform " +"bug on macOS." +msgstr "" + +msgid "" +":gh:`138859`: Fix generic type parameterization raising a :exc:`TypeError` " +"when omitting a :class:`ParamSpec` that has a default which is not a list of " +"types." +msgstr "" + +msgid "" +":gh:`138764`: Prevent :func:`annotationlib.call_annotate_function` from " +"calling ``__annotate__`` functions that don't support " +"``VALUE_WITH_FAKE_GLOBALS`` in a fake globals namespace with empty globals." +msgstr "" + +msgid "" +"Make ``FORWARDREF`` and ``STRING`` annotations fall back to using ``VALUE`` " +"annotations in the case that neither their own format, nor " +"``VALUE_WITH_FAKE_GLOBALS`` are supported." +msgstr "" + +msgid "" +":gh:`138775`: Use of ``python -m`` with :mod:`base64` has been fixed to " +"detect input from a terminal so that it properly notices EOF." +msgstr "" + +msgid "" +":gh:`138779`: Support device numbers larger than ``2**63-1`` for the :attr:" +"`~os.stat_result.st_rdev` field of the :class:`os.stat_result` structure." +msgstr "" + +msgid "" +":gh:`137706`: Fix the partial evaluation of annotations that use ``typing." +"Annotated[T, x]`` where ``T`` is a forward reference." +msgstr "" + +msgid "" +":gh:`88375`: Fix normalization of the ``robots.txt`` rules and URLs in the :" +"mod:`urllib.robotparser` module. No longer ignore trailing ``?``. " +"Distinguish raw special characters ``?``, ``=`` and ``&`` from the percent-" +"encoded ones." +msgstr "" + +msgid "" +":gh:`111788`: Fix parsing errors in the :mod:`urllib.robotparser` module. " +"Don't fail trying to parse weird paths. Don't fail trying to decode non-" +"UTF-8 ``robots.txt`` files." +msgstr "" + +msgid "" +":gh:`98896`: Fix a failure in multiprocessing resource_tracker when " +"SharedMemory names contain colons. Patch by Rani Pinchuk." +msgstr "" + +msgid "" +":gh:`138425`: Fix partial evaluation of :class:`annotationlib.ForwardRef` " +"objects which rely on names defined as globals." +msgstr "" + +msgid "" +":gh:`138432`: :meth:`zoneinfo.reset_tzpath` will now convert any :class:`os." +"PathLike` objects it receives into strings before adding them to ``TZPATH``. " +"It will raise ``TypeError`` if anything other than a string is found after " +"this conversion. If given an :class:`os.PathLike` object that represents a " +"relative path, it will now raise ``ValueError`` instead of ``TypeError``, " +"and present a more informative error message." +msgstr "" + +msgid "" +":gh:`138008`: Fix segmentation faults in the :mod:`ctypes` module due to " +"invalid :attr:`~ctypes._CFuncPtr.argtypes`. Patch by Dung Nguyen." +msgstr "" + +msgid "" +":gh:`60462`: Fix :func:`locale.strxfrm` on Solaris (and possibly other " +"platforms)." +msgstr "" + +msgid "" +":gh:`138239`: The REPL now highlights :keyword:`type` as a soft keyword in :" +"ref:`type statements `." +msgstr "" + +msgid "" +":gh:`138204`: Forbid expansion of shared anonymous :mod:`memory maps ` " +"on Linux, which caused a bus error." +msgstr "" + +msgid "" +":gh:`138010`: Fix an issue where defining a class with an :func:`@warnings." +"deprecated `-decorated base class may not invoke the " +"correct :meth:`~object.__init_subclass__` method in cases involving multiple " +"inheritance. Patch by Brian Schubert." +msgstr "" + +msgid "" +":gh:`138151`: In :mod:`annotationlib`, improve evaluation of forward " +"references to nonlocal variables that are not yet defined when the " +"annotations are initially evaluated." +msgstr "" + +msgid "" +":gh:`137317`: :func:`inspect.signature` now correctly handles classes that " +"use a descriptor on a wrapped :meth:`!__init__` or :meth:`!__new__` method. " +"Contributed by Yongyu Yan." +msgstr "" + +msgid "" +":gh:`137754`: Fix import of the :mod:`zoneinfo` module if the C " +"implementation of the :mod:`datetime` module is not available." +msgstr "" + +msgid "" +":gh:`137490`: Handle :data:`~errno.ECANCELED` in the same way as :data:" +"`~errno.EINTR` in :func:`signal.sigwaitinfo` on NetBSD." +msgstr "" + +msgid "" +":gh:`137477`: Fix :func:`!inspect.getblock`, :func:`inspect.getsourcelines` " +"and :func:`inspect.getsource` for generator expressions." +msgstr "" + +msgid "" +":gh:`137044`: Return large limit values as positive integers instead of " +"negative integers in :func:`resource.getrlimit`. Accept large values and " +"reject negative values (except :data:`~resource.RLIM_INFINITY`) for limits " +"in :func:`resource.setrlimit`." +msgstr "" + +msgid "" +":gh:`75989`: :func:`tarfile.TarFile.extractall` and :func:`tarfile.TarFile." +"extract` now overwrite symlinks when extracting hardlinks. (Contributed by " +"Alexander Enrique Urieles Nieto in :gh:`75989`.)" +msgstr "" + +msgid "" +":gh:`137017`: Fix :obj:`threading.Thread.is_alive` to remain ``True`` until " +"the underlying OS thread is fully cleaned up. This avoids false negatives in " +"edge cases involving thread monitoring or premature :obj:`threading.Thread." +"is_alive` calls." +msgstr "" + +msgid "" +":gh:`137273`: Fix debug assertion failure in :func:`locale.setlocale` on " +"Windows." +msgstr "" + +msgid "" +":gh:`137239`: :mod:`heapq`: Update :data:`!heapq.__all__` with ``*_max`` " +"functions." +msgstr "" + +msgid "" +":gh:`81325`: :class:`tarfile.TarFile` now accepts a :term:`path-like ` when working on a tar archive. (Contributed by Alexander " +"Enrique Urieles Nieto in :gh:`81325`.)" +msgstr "" + +msgid "" +":gh:`137185`: Fix a potential async-signal-safety issue in :mod:" +"`faulthandler` when printing C stack traces." +msgstr "" + +msgid "" +":gh:`136914`: Fix retrieval of :attr:`doctest.DocTest.lineno` for objects " +"decorated with :func:`functools.cache` or :class:`functools.cached_property`." +msgstr "" + +msgid "" +":gh:`136912`: :func:`hmac.digest` now properly handles large keys and " +"messages by falling back to the pure Python implementation when necessary. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`83424`: Allows creating a :class:`ctypes.CDLL` without name when " +"passing a handle as an argument." +msgstr "" + +msgid "" +":gh:`136234`: Fix :meth:`asyncio.WriteTransport.writelines` to be robust to " +"connection failure, by using the same behavior as :meth:`~asyncio." +"WriteTransport.write`." +msgstr "" + +msgid ":gh:`136507`: Fix mimetypes CLI to handle multiple file parameters." +msgstr "" + +msgid "" +":gh:`136057`: Fixed the bug in :mod:`pdb` and :mod:`bdb` where ``next`` and " +"``step`` can't go over the line if a loop exists in the line." +msgstr "" + +msgid "" +":gh:`135386`: Fix opening a :mod:`dbm.sqlite3` database for reading from " +"read-only file or directory." +msgstr "" + +msgid "" +":gh:`135444`: Fix :meth:`asyncio.DatagramTransport.sendto` to account for " +"datagram header size when data cannot be sent." +msgstr "" + +msgid "" +":gh:`126631`: Fix :mod:`multiprocessing` ``forkserver`` bug which prevented " +"``__main__`` from being preloaded." +msgstr "" + +msgid "" +":gh:`135307`: :mod:`email`: Fix exception in ``set_content()`` when encoding " +"text and max_line_length is set to ``0`` or ``None`` (unlimited)." +msgstr "" + +msgid "" +":gh:`134453`: Fixed :func:`subprocess.Popen.communicate` ``input=`` handling " +"of :class:`memoryview` instances that were non-byte shaped on POSIX " +"platforms. Those are now properly cast to a byte shaped view instead of " +"truncating the input. Windows platforms did not have this bug." +msgstr "" + +msgid "" +":gh:`134698`: Fix a crash when calling methods of :class:`ssl.SSLContext` " +"or :class:`ssl.SSLSocket` across multiple threads." +msgstr "" + +msgid "" +":gh:`125996`: Fix thread safety of :class:`collections.OrderedDict`. Patch " +"by Kumar Aditya." +msgstr "" + +msgid "" +":gh:`133789`: Fix unpickling of :mod:`pathlib` objects that were pickled in " +"Python 3.13." +msgstr "" + +msgid "" +":gh:`127081`: Fix libc thread safety issues with :mod:`dbm` by performing " +"stateful operations in critical sections." +msgstr "" + +msgid "" +":gh:`132551`: Make :class:`io.BytesIO` safe in :term:`free-threaded ` build." +msgstr "" + +msgid "" +":gh:`131788`: Make ``ResourceTracker.send`` from :mod:`multiprocessing` re-" +"entrant safe" +msgstr "" + +msgid "" +":gh:`118981`: Fix potential hang in ``multiprocessing.popen_spawn_posix`` " +"that can happen when the child proc dies early by closing the child fds " +"right away." +msgstr "" + +msgid "" +":gh:`102431`: Clarify constraints for \"logical\" arguments in methods of :" +"class:`decimal.Context`." +msgstr "" + +msgid "" +":gh:`78319`: UTF8 support for the IMAP APPEND command has been made RFC " +"compliant." +msgstr "" + +msgid "" +":issue:`38735`: Fix failure when importing a module from the root directory " +"on unix-like platforms with sys.pycache_prefix set." +msgstr "" + +msgid "" +":issue:`41839`: Allow negative priority values from :func:`os." +"sched_get_priority_min` and :func:`os.sched_get_priority_max` functions." +msgstr "" + +msgid "" +":gh:`96491`: Deduplicate version number in IDLE shell title bar after saving " +"to a file." +msgstr "" + +msgid "" +":gh:`139742`: Colorize t-string prefixes for template strings in IDLE, as " +"done for f-string prefixes." +msgstr "" + +msgid "" +":gh:`141994`: :mod:`xml.sax.handler`: Make Documentation of :data:`xml.sax." +"handler.feature_external_ges` warn of opening up to `external entity attacks " +"`_. Patch by " +"Sebastian Pipping." +msgstr "" + +msgid "" +":gh:`140578`: Remove outdated sencence in the documentation for :mod:" +"`multiprocessing`, that implied that :class:`concurrent.futures." +"ThreadPoolExecutor` did not exist." +msgstr "" + +msgid "" +":gh:`142048`: Fix quadratically increasing garbage collection delays in free-" +"threaded build." +msgstr "" + +msgid "" +":gh:`116738`: Fix thread safety issue with :mod:`re` scanner objects in free-" +"threaded builds." +msgstr "" + +msgid "" +":gh:`141930`: When importing a module, use Python's regular file object to " +"ensure that writes to ``.pyc`` files are complete or an appropriate error is " +"raised." +msgstr "" + +msgid "" +":gh:`120158`: Fix inconsistent state when enabling or disabling monitoring " +"events too many times." +msgstr "" + +msgid "" +":gh:`139653`: Only raise a ``RecursionError`` or trigger a fatal error if " +"the stack pointer is both below the limit pointer *and* above the stack " +"base. If outside of these bounds assume that it is OK. This prevents false " +"positives when user-space threads swap stacks." +msgstr "" + +msgid "" +":gh:`139103`: Improve multithreaded scaling of dataclasses on the free-" +"threaded build." +msgstr "" + +msgid "" +":gh:`141579`: Fix :func:`sys.activate_stack_trampoline` to properly support " +"the ``perf_jit`` backend. Patch by Pablo Galindo." +msgstr "" + +msgid "" +":gh:`114203`: Skip locking if object is already locked by two-mutex critical " +"section." +msgstr "" + +msgid "" +":gh:`141528`: Suggest using :meth:`concurrent.interpreters.Interpreter." +"close` instead of the private ``_interpreters.destroy`` function when " +"warning about remaining subinterpreters. Patch by Sergey Miryanov." +msgstr "" + +msgid "" +":gh:`141312`: Fix the assertion failure in the ``__setstate__`` method of " +"the range iterator when a non-integer argument is passed. Patch by Sergey " +"Miryanov." +msgstr "" + +msgid "" +":gh:`116738`: Make csv module thread-safe on the :term:`free threaded ` build." +msgstr "" + +msgid "" +":gh:`140939`: Fix memory leak when :class:`bytearray` or :class:`bytes` is " +"formated with the ``%*b`` format with a large width that results in a :exc:" +"`MemoryError`." +msgstr "" + +msgid "" +":gh:`140260`: Fix :mod:`struct` data race in endian table initialization " +"with subinterpreters. Patch by Shamil Abdulaev." +msgstr "" + +msgid "" +":gh:`140530`: Fix a reference leak when ``raise exc from cause`` fails. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`140373`: Correctly emit ``PY_UNWIND`` event when generator object is " +"closed. Patch by Mikhail Efimov." +msgstr "" + +msgid "" +":gh:`140576`: Fixed crash in :func:`tokenize.generate_tokens` in case of " +"specific incorrect input. Patch by Mikhail Efimov." +msgstr "" + +msgid "" +":gh:`140551`: Fixed crash in :class:`dict` if :meth:`dict.clear` is called " +"at the lookup stage. Patch by Mikhail Efimov and Inada Naoki." +msgstr "" + +msgid "" +":gh:`140517`: Fixed a reference leak when iterating over the result of :func:" +"`map` with ``strict=True`` when the input iterables have different lengths. " +"Patch by Mikhail Efimov." +msgstr "" + +msgid "" +":gh:`140471`: Fix potential buffer overflow in :class:`ast.AST` node " +"initialization when encountering malformed :attr:`~ast.AST._fields` " +"containing non-:class:`str`." +msgstr "" + +msgid "" +":gh:`140431`: Fix a crash in Python's :term:`garbage collector ` due to partially initialized :term:`coroutine` objects when " +"coroutine origin tracking depth is enabled (:func:`sys." +"set_coroutine_origin_tracking_depth`)." +msgstr "" + +msgid "" +":gh:`140398`: Fix memory leaks in :mod:`readline` functions :func:`~readline." +"read_init_file`, :func:`~readline.read_history_file`, :func:`~readline." +"write_history_file`, and :func:`~readline.append_history_file` when :c:func:" +"`PySys_Audit` fails." +msgstr "" + +msgid "" +":gh:`140406`: Fix memory leak when an object's :meth:`~object.__hash__` " +"method returns an object that isn't an :class:`int`." +msgstr "" + +msgid "" +":gh:`140358`: Restore elapsed time and unreachable object count in GC debug " +"output. These were inadvertently removed during a refactor of ``gc.c``. The " +"debug log now again reports elapsed collection time and the number of " +"unreachable objects. Contributed by Pål Grønås Drange." +msgstr "" + +msgid "" +":gh:`140306`: Fix memory leaks in cross-interpreter channel operations and " +"shared namespace handling." +msgstr "" + +msgid ":gh:`140301`: Fix memory leak of ``PyConfig`` in subinterpreters." +msgstr "" + +msgid "" +":gh:`140257`: Fix data race between interpreter_clear() and take_gil() on " +"eval_breaker during finalization with daemon threads." +msgstr "" + +msgid "" +":gh:`139951`: Fixes a regression in GC performance for a growing heap " +"composed mostly of small tuples." +msgstr "" + +msgid "" +"Counts number of actually tracked objects, instead of trackable objects. " +"This ensures that untracking tuples has the desired effect of reducing GC " +"overhead." +msgstr "" + +msgid "" +"Does not track most untrackable tuples during creation. This prevents large " +"numbers of small tuples causing excessive GCs." +msgstr "" + +msgid "" +":gh:`140104`: Fix a bug with exception handling in the JIT. Patch by Ken " +"Jin. Bug reported by Daniel Diniz." +msgstr "" + +msgid "" +":gh:`140061`: Fixing the checking of whether an object is uniquely " +"referenced to ensure free-threaded compatibility. Patch by Sergey Miryanov." +msgstr "" + +msgid ":gh:`140067`: Fix memory leak in sub-interpreter creation." +msgstr "" + +msgid "" +":gh:`140000`: Fix potential memory leak when a reference cycle exists " +"between an instance of :class:`typing.TypeAliasType`, :class:`typing." +"TypeVar`, :class:`typing.ParamSpec`, or :class:`typing.TypeVarTuple` and its " +"``__name__`` attribute. Patch by Mikhail Efimov." +msgstr "" + +msgid "" +":gh:`139914`: Restore support for HP PA-RISC, which has an upwards-growing " +"stack." +msgstr "" + +msgid "" +":gh:`139988`: Fix a memory leak when failing to create a :class:`~typing." +"Union` type. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`139748`: Fix reference leaks in error branches of functions accepting " +"path strings or bytes such as :func:`compile` and :func:`os.system`. Patch " +"by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`139516`: Fix lambda colon erroneously start format spec in f-string in " +"tokenizer." +msgstr "" + +msgid "" +":gh:`139640`: :func:`ast.parse` no longer emits syntax warnings for " +"``return``/``break``/``continue`` in ``finally`` (see :pep:`765`) -- they " +"are only emitted during compilation." +msgstr "" + +msgid "" +":gh:`139640`: Fix swallowing some syntax warnings in different modules if " +"they accidentally have the same message and are emitted from the same line. " +"Fix duplicated warnings in the ``finally`` block." +msgstr "" + +msgid "" +":gh:`63161`: Support non-UTF-8 shebang and comments in Python source files " +"if non-UTF-8 encoding is specified. Detect decoding error in comments for " +"default (UTF-8) encoding. Show the line and position of decoding error for " +"default encoding in a traceback. Show the line containing the coding cookie " +"when it conflicts with the BOM in a traceback." +msgstr "" + +msgid "" +":gh:`116738`: Make :mod:`mmap` thread-safe on the :term:`free threaded ` build." +msgstr "" + +msgid "" +":gh:`138558`: Fix handling of unusual t-string annotations in annotationlib. " +"Patch by Dave Peck." +msgstr "" + +msgid "" +":gh:`134466`: Don't run PyREPL in a degraded environment where setting " +"termios attributes is not allowed." +msgstr "" + +msgid "" +":gh:`138944`: Fix :exc:`SyntaxError` message when invalid syntax appears on " +"the same line as a valid ``import ... as ...`` or ``from ... import ... " +"as ...`` statement. Patch by Brian Schubert." +msgstr "" + +msgid "" +":gh:`105487`: Remove non-existent :meth:`~object.__copy__`, :meth:`~object." +"__deepcopy__`, and :attr:`~type.__bases__` from the :meth:`~object.__dir__` " +"entries of :class:`types.GenericAlias`." +msgstr "" + +msgid "" +":gh:`69605`: Fix some standard library submodules missing from the :term:" +"`REPL` auto-completion of imports." +msgstr "" + +msgid "" +":gh:`116738`: Make :mod:`cProfile` thread-safe on the :term:`free threaded " +"` build." +msgstr "" + +msgid "" +":gh:`138004`: On Solaris/Illumos platforms, thread names are now encoded as " +"ASCII to avoid errors on systems (e.g. OpenIndiana) that don't support non-" +"ASCII names." +msgstr "" + +msgid "" +":gh:`137433`: Fix a potential deadlock in the :term:`free threading` build " +"when daemon threads enable or disable profiling or tracing while the main " +"thread is shutting down the interpreter." +msgstr "" + +msgid "" +":gh:`137400`: Fix a crash in the :term:`free threading` build when disabling " +"profiling or tracing across all threads with :c:func:" +"`PyEval_SetProfileAllThreads` or :c:func:`PyEval_SetTraceAllThreads` or " +"their Python equivalents :func:`threading.settrace_all_threads` and :func:" +"`threading.setprofile_all_threads`." +msgstr "" + +msgid "" +":gh:`58124`: Fix name of the Python encoding in Unicode errors of the code " +"page codec: use \"cp65000\" and \"cp65001\" instead of \"CP_UTF7\" and " +"\"CP_UTF8\" which are not valid Python code names. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`132657`: Improve performance of :class:`frozenset` by removing locks in " +"the free-threading build." +msgstr "" + +msgid "" +":gh:`133400`: Fixed Ctrl+D (^D) behavior in _pyrepl module to match old " +"pre-3.13 REPL behavior." +msgstr "" + +msgid "" +":gh:`128640`: Fix a crash when using threads inside of a subinterpreter." +msgstr "" + +msgid "" +":gh:`137422`: Fix :term:`free threading` race condition in :c:func:" +"`PyImport_AddModuleRef`. It was previously possible for two calls to the " +"function return two different objects, only one of which was stored in :data:" +"`sys.modules`." +msgstr "" + +msgid "" +":gh:`140042`: Removed the sqlite3_shutdown call that could cause closing " +"connections for sqlite when used with multiple sub interpreters." +msgstr "" + +msgid "" +":gh:`141042`: Make qNaN in :c:func:`PyFloat_Pack2` and :c:func:" +"`PyFloat_Pack4`, if while conversion to a narrower precision floating-point " +"format --- the remaining after truncation payload will be zero. Patch by " +"Sergey B Kirpichev." +msgstr "" + +msgid "" +":gh:`140487`: Fix :c:macro:`Py_RETURN_NOTIMPLEMENTED` in limited C API 3.11 " +"and older: don't treat ``Py_NotImplemented`` as immortal. Patch by Victor " +"Stinner." +msgstr "" + +msgid "" +":gh:`140153`: Fix :c:func:`Py_REFCNT` definition on limited C API 3.11-3.13. " +"Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`139653`: Add :c:func:`PyUnstable_ThreadState_SetStackProtection` and :c:" +"func:`PyUnstable_ThreadState_ResetStackProtection` functions to set the " +"stack protection base address and stack protection size of a Python thread " +"state. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`141808`: Do not generate the jit stencils twice in case of PGO builds " +"on Windows." +msgstr "" + +msgid "" +":gh:`141784`: Fix ``_remote_debugging_module.c`` compilation on 32-bit " +"Linux. Include Python.h before system headers to make sure that " +"``_remote_debugging_module.c`` uses the same types (ABI) than Python. Patch " +"by Victor Stinner." +msgstr "" + +msgid "" +":gh:`140768`: Warn when the WASI SDK version doesn't match what's supported." +msgstr "" + +msgid "" +":gh:`140513`: Generate a clear compilation error when " +"``_Py_TAIL_CALL_INTERP`` is enabled but either ``preserve_none`` or " +"``musttail`` is not supported." +msgstr "" + +msgid ":gh:`140189`: iOS builds were added to CI." +msgstr "" + +msgid "" +":gh:`138489`: When cross-compiling for WASI by ``build_wasm`` or " +"``build_emscripten``, the ``build-details.json`` step is now included in the " +"build process, just like with native builds." +msgstr "" + +msgid "" +"This fixes the ``libinstall`` task which requires the ``build-details.json`` " +"file during the process." +msgstr "" + +msgid "" +":gh:`137618`: ``PYTHON_FOR_REGEN`` now requires Python 3.10 to Python 3.15. " +"Patch by Adam Turner." +msgstr "" + +msgid "" +":gh:`123681`: Check the ``strftime()`` behavior at runtime instead of at the " +"compile time to support cross-compiling. Remove the internal macro " +"``_Py_NORMALIZE_CENTURY``." +msgstr "" + +msgid "Python 3.14.0 final" +msgstr "" + +msgid "*Release date: 2025-10-07*" +msgstr "" + +msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 8.6.17." +msgstr "" + +msgid ":gh:`139573`: Updated bundled version of OpenSSL to 3.0.18." +msgstr "" + +msgid "" +":gh:`139330`: SBOM generation tool didn't cross-check the version and " +"checksum values against the ``Modules/expat/refresh.sh`` script, leading to " +"the values becoming out-of-date during routine updates." +msgstr "" + +msgid "" +":gh:`132006`: XCframeworks now include privacy manifests to satisfy Apple " +"App Store submission requirements." +msgstr "" + +msgid "" +":gh:`138171`: A script for building an iOS XCframework was added. As part of " +"this change, the top level ``iOS`` folder has been moved to be a " +"subdirectory of the ``Apple`` folder." +msgstr "" + +msgid "" +":gh:`139400`: :mod:`xml.parsers.expat`: Make sure that parent Expat parsers " +"are only garbage-collected once they are no longer referenced by subparsers " +"created by :meth:`~xml.parsers.expat.xmlparser.ExternalEntityParserCreate`. " +"Patch by Sebastian Pipping." +msgstr "" + +msgid ":gh:`139312`: Upgrade bundled libexpat to 2.7.3" +msgstr "" + +msgid "Python 3.14.0 release candidate 3" +msgstr "" + +msgid "*Release date: 2025-09-18*" +msgstr "" + +msgid "" +":gh:`138896`: Fix error installing C runtime on non-updated Windows machines" +msgstr "" + +msgid "" +":gh:`137873`: The iOS test runner has been simplified, resolving some issues " +"that have been observed using the runner in GitHub Actions and Azure " +"Pipelines test environments." +msgstr "" + +msgid "" +":gh:`135661`: Fix CDATA section parsing in :class:`html.parser.HTMLParser` " +"according to the HTML5 standard: ``] ]>`` and ``]] >`` no longer end the " +"CDATA section. Add private method ``_set_support_cdata()`` which can be used " +"to specify how to parse ``<[CDATA[`` --- as a CDATA section in foreign " +"content (SVG or MathML) or as a bogus comment in the HTML namespace." +msgstr "" + +msgid ":gh:`138998`: Update bundled libexpat to 2.7.2" +msgstr "" + +msgid "" +":gh:`118803`: Add back :class:`collections.abc.ByteString` and :class:" +"`typing.ByteString`. Both had been removed in prior alpha, beta and release " +"candidates for Python 3.14, but their removal has now been postponed to " +"Python 3.17." +msgstr "" + +msgid "" +":gh:`137226`: Fix :func:`typing.get_type_hints` calls on generic :class:" +"`typing.TypedDict` classes defined with string annotations." +msgstr "" + +msgid "" +":gh:`138804`: Raise :exc:`TypeError` instead of :exc:`AttributeError` when " +"an argument of incorrect type is passed to :func:`shlex.quote`. This " +"restores the behavior of the function prior to 3.14." +msgstr "" + +msgid "" +":gh:`128636`: Fix crash in PyREPL when os.environ is overwritten with an " +"invalid value for mac" +msgstr "" + +msgid "" +":gh:`138514`: Raise :exc:`ValueError` when a multi-character string is " +"passed to the *echo_char* parameter of :func:`getpass.getpass`. Patch by " +"Benjamin Johnson." +msgstr "" + +msgid ":gh:`138515`: :mod:`email` is added to Emscripten build." +msgstr "" + +msgid "" +":gh:`99948`: :func:`ctypes.util.find_library` now works in Emscripten build." +msgstr "" + +msgid "" +":gh:`138253`: Add the *block* parameter in the :meth:`!put` and :meth:`!get` " +"methods of the :mod:`concurrent.interpreters` queues for compatibility with " +"the :class:`queue.Queue` interface." +msgstr "" + +msgid "" +":gh:`138133`: Prevent infinite traceback loop when sending CTRL^C to Python " +"through ``strace``." +msgstr "" + +msgid "" +":gh:`134869`: Fix an issue where pressing Ctrl+C during tab completion in " +"the REPL would leave the autocompletion menu in a corrupted state." +msgstr "" + +msgid "" +":gh:`90548`: Fix ``musl`` detection for :func:`platform.libc_ver` on Alpine " +"Linux if compiled with --strip-all." +msgstr "" + +msgid "" +":gh:`136134`: :meth:`!SMTP.auth_cram_md5` now raises an :exc:`~smtplib." +"SMTPException` instead of a :exc:`ValueError` if Python has been built " +"without MD5 support. In particular, :class:`~smtplib.SMTP` clients will not " +"attempt to use this method even if the remote server is assumed to support " +"it. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`136134`: :meth:`IMAP4.login_cram_md5 ` " +"now raises an :exc:`IMAP4.error ` if CRAM-MD5 " +"authentication is not supported. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`134953`: Expand ``_colorize`` theme with ``keyword_constant`` and " +"implement in :term:`repl`." +msgstr "" + +msgid "" +":gh:`71810`: Raise :exc:`OverflowError` for ``(-1).to_bytes()`` for signed " +"conversions when bytes count is zero. Patch by Sergey B Kirpichev." +msgstr "" + +msgid "" +":gh:`138192`: Fix :mod:`contextvars` initialization so that all " +"subinterpreters are assigned the :attr:`~contextvars.Token.MISSING` value." +msgstr "" + +msgid "" +":gh:`138479`: Fix a crash when a generic object's ``__typing_subst__`` " +"returns an object that isn't a :class:`tuple`." +msgstr "" + +msgid "" +":gh:`138372`: Fix :exc:`SyntaxWarning` emitted for erroneous subscript " +"expressions involving :ref:`template string literals `. Patch by " +"Brian Schubert." +msgstr "" + +msgid "" +":gh:`138318`: The default REPL now avoids highlighting built-in names (for " +"instance :class:`set` or :func:`format`) when they are used as attribute " +"names (for instance in ``value.set`` or ``text.format``)." +msgstr "" + +msgid "" +":gh:`138349`: Fix crash in certain cases where a module contains both a " +"module-level annotation and a comprehension." +msgstr "" + +msgid "" +":gh:`137384`: Fix a crash when using the :mod:`warnings` module in a " +"finalizer at shutdown. Patch by Kumar Aditya." +msgstr "" + +msgid "" +":gh:`137883`: Fix runaway recursion when calling a function with keyword " +"arguments." +msgstr "" + +msgid "" +":gh:`137079`: Fix keyword typo recognition when parsing files. Patch by " +"Pablo Galindo." +msgstr "" + +msgid "" +":gh:`137728`: Fix the JIT's handling of many local variables. This " +"previously caused a segfault." +msgstr "" + +msgid "" +":gh:`137576`: Fix for incorrect source code being shown in tracebacks from " +"the Basic REPL when :envvar:`PYTHONSTARTUP` is given. Patch by Adam Hartz." +msgstr "" + +msgid "Python 3.14.0 release candidate 2" +msgstr "" + +msgid "*Release date: 2025-08-14*" +msgstr "" + +msgid "" +":gh:`137450`: macOS installer shell path management improvements: separate " +"the installer ``Shell profile updater`` postinstall script from the ``Update " +"Shell Profile.command`` to enable more robust error handling." +msgstr "" + +msgid "" +":gh:`137134`: Update macOS installer to ship with SQLite version 3.50.4." +msgstr "" + +msgid ":gh:`137134`: Update Windows installer to ship with SQLite 3.50.4." +msgstr "" + +msgid "" +":gh:`137426`: Remove the code deprecation of ``importlib.abc." +"ResourceLoader``. It is documented as deprecated, but left for backwards " +"compatibility with other classes in ``importlib.abc``." +msgstr "" + +msgid "" +":gh:`137282`: Fix tab completion and :func:`dir` on :mod:`concurrent." +"futures`." +msgstr "" + +msgid "" +":gh:`137257`: Bump the version of pip bundled in ensurepip to version 25.2" +msgstr "" + +msgid "" +":gh:`137226`: Fix behavior of :meth:`annotationlib.ForwardRef.evaluate` when " +"the *type_params* parameter is passed and the name of a type param is also " +"present in an enclosing scope." +msgstr "" + +msgid "" +":gh:`130522`: Fix unraisable :exc:`TypeError` raised during :term:" +"`interpreter shutdown` in the :mod:`threading` module." +msgstr "" + +msgid "" +":gh:`137059`: Fix handling of file URLs with a Windows drive letter in the " +"URL authority by :func:`urllib.request.url2pathname`. This fixes a " +"regression in earlier pre-releases of Python 3.14." +msgstr "" + +msgid "" +":gh:`130577`: :mod:`tarfile` now validates archives to ensure member offsets " +"are non-negative. (Contributed by Alexander Enrique Urieles Nieto in :gh:" +"`130577`.)" +msgstr "" + +msgid "" +":gh:`135228`: When :mod:`dataclasses` replaces a class with a slotted " +"dataclass, the original class can now be garbage collected again. Earlier " +"changes in Python 3.14 caused this class to always remain in existence " +"together with the replacement class synthesized by :mod:`dataclasses`." +msgstr "" + +msgid "" +":gh:`136155`: We are now checking for fatal errors in EPUB builds in CI." +msgstr "" + +msgid "" +":gh:`137314`: Fixed a regression where raw f-strings incorrectly interpreted " +"escape sequences in format specifications. Raw f-strings now properly " +"preserve literal backslashes in format specs, matching the behavior from " +"Python 3.11. For example, ``rf\"{obj:\\xFF}\"`` now correctly produces ``'\\" +"\\xFF'`` instead of ``'ÿ'``. Patch by Pablo Galindo." +msgstr "" + +msgid "" +":gh:`137308`: A standalone docstring in a node body is optimized as a :" +"keyword:`pass` statement to ensure that the node's body is never empty. " +"There was a :exc:`ValueError` in :func:`compile` otherwise." +msgstr "" + +msgid "" +":gh:`137288`: Fix bug where some bytecode instructions of a boolean " +"expression are not associated with the correct exception handler." +msgstr "" + +msgid "" +":gh:`134291`: Remove some newer macOS API usage from the JIT compiler in " +"order to restore compatibility with older OSX 10.15 deployment targets." +msgstr "" + +msgid "" +":gh:`131338`: Disable computed stack limit checks on non-glibc linux " +"platforms to fix crashes on deep recursion." +msgstr "" + +msgid "" +":gh:`136870`: Fix data races while de-instrumenting bytecode of code objects " +"running concurrently in threads." +msgstr "" + +msgid "" +":gh:`137573`: Mark ``_PyOptimizer_Optimize`` as :c:macro:`Py_NO_INLINE` to " +"prevent stack overflow crashes on macOS." +msgstr "" + +msgid ":gh:`132339`: Add support for OpenSSL 3.5." +msgstr "" + +msgid "Python 3.14.0 release candidate 1" +msgstr "" + +msgid "*Release date: 2025-07-22*" +msgstr "" + +msgid "" +":gh:`136251`: Fixes and usability improvements for ``Tools/wasm/emscripten/" +"web_example``" +msgstr "" + +msgid "" +":gh:`135661`: Fix parsing attributes with whitespaces around the ``=`` " +"separator in :class:`html.parser.HTMLParser` according to the HTML5 standard." +msgstr "" + +msgid "" +":gh:`118350`: Fix support of escapable raw text mode (elements \"textarea\" " +"and \"title\") in :class:`html.parser.HTMLParser`." +msgstr "" + +msgid "" +":gh:`136170`: Removed the unreleased ``zipfile.ZipFile.data_offset`` " +"property added in 3.14.0a7 as it wasn't fully clear which behavior it should " +"have in some situations so the result was not always what a user might " +"expect." +msgstr "" + +msgid ":gh:`124621`: pyrepl now works in Emscripten." +msgstr "" + +msgid "" +":gh:`136874`: Discard URL query and fragment in :func:`urllib.request." +"url2pathname`." +msgstr "" + +msgid ":gh:`130645`: Enable color help by default in :mod:`argparse`." +msgstr "" + +msgid ":gh:`136549`: Fix signature of :func:`threading.excepthook`." +msgstr "" + +msgid "" +":gh:`136523`: Fix :class:`wave.Wave_write` emitting an unraisable when open " +"raises." +msgstr "" + +msgid "" +":gh:`52876`: Add missing ``keepends`` (default ``True``) parameter to :meth:" +"`!codecs.StreamReaderWriter.readline` and :meth:`!codecs.StreamReaderWriter." +"readlines`." +msgstr "" + +msgid "" +":gh:`136470`: Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s " +"default thread name." +msgstr "" + +msgid "" +":gh:`136476`: Fix a bug that was causing the ``get_async_stack_trace`` " +"function to miss some frames in the stack trace." +msgstr "" + +msgid "" +":gh:`136434`: Fix docs generation of ``UnboundItem`` in :mod:`concurrent." +"interpreters` when running with :option:`-OO`." +msgstr "" + +msgid "" +":gh:`136380`: Raises :exc:`AttributeError` when accessing :class:`concurrent." +"futures.InterpreterPoolExecutor` and subinterpreters are not available." +msgstr "" + +msgid "" +":gh:`134759`: Fix :exc:`UnboundLocalError` in :func:`email.message.Message." +"get_payload` when the payload to decode is a :class:`bytes` object. Patch by " +"Kliment Lamonov." +msgstr "" + +msgid "" +":gh:`134657`: :mod:`asyncio`: Remove some private names from ``asyncio." +"__all__``." +msgstr "" + +msgid "" +":gh:`136801`: Fix PyREPL syntax highlighting on match cases after multi-line " +"case. Contributed by Olga Matoula." +msgstr "" + +msgid ":gh:`136421`: Fix crash when initializing :mod:`datetime` concurrently." +msgstr "" + +msgid "" +":gh:`136541`: Fix some issues with the perf trampolines on x86-64 and " +"aarch64. The trampolines were not being generated correctly for some cases, " +"which could lead to the perf integration not working correctly. Patch by " +"Pablo Galindo." +msgstr "" + +msgid "" +":gh:`136517`: Fixed a typo that prevented printing of uncollectable objects " +"when the :const:`gc.DEBUG_UNCOLLECTABLE` mode was set." +msgstr "" + +msgid "" +":gh:`136525`: Fix issue where per-thread bytecode was not instrumented for " +"newly created threads." +msgstr "" + +msgid "" +":gh:`132661`: ``Interpolation.expression`` now has a default, the empty " +"string." +msgstr "" + +msgid ":gh:`132661`: Reflect recent :pep:`750` change." +msgstr "" + +msgid "" +"Disallow concatenation of ``string.templatelib.Template`` and :class:`str`. " +"Also, disallow implicit concatenation of t-string literals with string or f-" +"string literals." +msgstr "" + +msgid "" +":gh:`116738`: Make functions in :mod:`grp` thread-safe on the :term:`free " +"threaded ` build." +msgstr "" + +msgid "" +":gh:`135148`: Fixed a bug where f-string debug expressions (using =) would " +"incorrectly strip out parts of strings containing escaped quotes and # " +"characters. Patch by Pablo Galindo." +msgstr "" + +msgid "" +":gh:`133136`: Limit excess memory usage in the :term:`free threading` build " +"when a large dictionary or list is resized and accessed by multiple threads." +msgstr "" + +msgid "" +":gh:`91153`: Fix a crash when a :class:`bytearray` is concurrently mutated " +"during item assignment." +msgstr "" + +msgid "" +":gh:`127971`: Fix off-by-one read beyond the end of a string in string " +"search." +msgstr "" + +msgid "" +":gh:`112068`: Revert support of nullable arguments in :c:func:`PyArg_Parse`." +msgstr "" + +msgid "" +":gh:`133296`: New variants for the critical section API that accept one or " +"two :c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are " +"now public in the non-limited C API." +msgstr "" + +msgid "" +":gh:`134009`: Expose :c:func:`PyMutex_IsLocked` as part of the public C API." +msgstr "" + +msgid "" +":gh:`135621`: PyREPL no longer depends on the :mod:`curses` standard " +"library. Contributed by Łukasz Langa." +msgstr "" + +msgid "Python 3.14.0 beta 4" +msgstr "" + +msgid "*Release date: 2025-07-08*" +msgstr "" + +msgid "" +":gh:`135968`: Stubs for ``strip`` are now provided as part of an iOS install." +msgstr "" + +msgid ":gh:`133600`: Backport file reorganization for Tools/wasm/wasi." +msgstr "" + +msgid "" +"This should make backporting future code changes easier. It also simplifies " +"instructions around how to do WASI builds in the devguide." +msgstr "" + +msgid "" +":gh:`135966`: The iOS testbed now handles the ``app_packages`` folder as a " +"site directory." +msgstr "" + +msgid "" +":gh:`135494`: Fix regrtest to support excluding tests from ``--pgo`` tests. " +"Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`136053`: :mod:`marshal`: fix a possible crash when deserializing :class:" +"`slice` objects." +msgstr "" + +msgid "" +":gh:`135661`: Fix parsing start and end tags in :class:`html.parser." +"HTMLParser` according to the HTML5 standard." +msgstr "" + +msgid "" +"Whitespaces no longer accepted between ```` does not end the script section." +msgstr "" + +msgid "" +"Vertical tabulation (``\\v``) and non-ASCII whitespaces no longer recognized " +"as whitespaces. The only whitespaces are ``\\t\\n\\r\\f`` and space." +msgstr "" + +msgid "Null character (U+0000) no longer ends the tag name." +msgstr "" + +msgid "" +"Attributes and slashes after the tag name in end tags are now ignored, " +"instead of terminating after the first ``>`` in quoted attribute value. E.g. " +"``\"/>``." +msgstr "" + +msgid "" +"Multiple slashes and whitespaces between the last attribute and closing " +"``>`` are now ignored in both start and end tags. E.g. ````." +msgstr "" + +msgid "" +"Multiple ``=`` between attribute name and value are no longer collapsed. E." +"g. ```` produces attribute \"foo\" with value \"=bar\"." +msgstr "" + +msgid "" +"[Reverted in :gh:`136927`] Whitespaces between the ``=`` separator and " +"attribute name or value are no longer ignored. E.g. ```` " +"produces two attributes \"foo\" and \"=bar\", both with value None; ```` produces two attributes: \"foo\" with value \"\" and \"bar\" " +"with value None." +msgstr "" + +msgid "" +":gh:`102555`: Fix comment parsing in :class:`html.parser.HTMLParser` " +"according to the HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no " +"longer ends the comment. Support abnormally ended empty comments ``<-->`` " +"and ``<--->``." +msgstr "" + +msgid "" +":gh:`136286`: Fix pickling failures for protocols 0 and 1 for many objects " +"realted to subinterpreters." +msgstr "" + +msgid "" +":gh:`136316`: Improve support for evaluating nested forward references in :" +"func:`typing.evaluate_forward_ref`." +msgstr "" + +msgid "" +":gh:`85702`: If ``zoneinfo._common.load_tzdata`` is given a package without " +"a resource a :exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a :" +"exc:`PermissionError`. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`136028`: Fix parsing month names containing \"İ\" (U+0130, LATIN " +"CAPITAL LETTER I WITH DOT ABOVE) in :func:`time.strptime`. This affects " +"locales az_AZ, ber_DZ, ber_MA and crh_UA." +msgstr "" + +msgid "" +":gh:`135995`: In the palmos encoding, make byte ``0x9b`` decode to ``›`` " +"(U+203A - SINGLE RIGHT-POINTING ANGLE QUOTATION MARK)." +msgstr "" + +msgid "" +":gh:`53203`: Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on " +"locales byn_ER, wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, " +"bg_BG and lzh_TW." +msgstr "" + +msgid "" +":gh:`91555`: An earlier change, which was introduced in 3.14.0b2, has been " +"reverted. It disabled logging for a logger during handling of log messages " +"for that logger. Since the reversion, the behaviour should be as it was " +"before 3.14.0b2." +msgstr "" + +msgid "" +":gh:`135878`: Fixes a crash of :class:`types.SimpleNamespace` on :term:`free " +"threading` builds, when several threads were calling its :meth:`~object." +"__repr__` method at the same time." +msgstr "" + +msgid "" +":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." +"create_connection` that could occur when non-\\ :exc:`OSError` exception is " +"raised during connection and socket's ``close()`` raises :exc:`!OSError`." +msgstr "" + +msgid "" +":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." +"create_connection` that could occur when the Happy Eyeballs algorithm " +"resulted in an empty exceptions list during connection attempts." +msgstr "" + +msgid "" +":gh:`135855`: Raise :exc:`TypeError` instead of :exc:`SystemError` when :" +"func:`!_interpreters.set___main___attrs` is passed a non-dict object. Patch " +"by Brian Schubert." +msgstr "" + +msgid "" +":gh:`135815`: :mod:`netrc`: skip security checks if :func:`os.getuid` is " +"missing. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`135640`: Address bug where it was possible to call :func:`xml.etree." +"ElementTree.ElementTree.write` on an ElementTree object with an invalid root " +"element. This behavior blanked the file passed to ``write`` if it already " +"existed." +msgstr "" + +msgid "" +":gh:`135645`: Added ``supports_isolated_interpreters`` field to :data:`sys." +"implementation`." +msgstr "" + +msgid "" +":gh:`135646`: Raise consistent :exc:`NameError` exceptions in :func:" +"`annotationlib.ForwardRef.evaluate`" +msgstr "" + +msgid "" +":gh:`135557`: Fix races on :mod:`heapq` updates and :class:`list` reads on " +"the :term:`free threaded ` build." +msgstr "" + +msgid "" +":gh:`119180`: Only fetch globals and locals if necessary in :func:" +"`annotationlib.get_annotations`" +msgstr "" + +msgid "" +":gh:`135561`: Fix a crash on DEBUG builds when an HACL* HMAC routine fails. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`135487`: Fix :meth:`!reprlib.Repr.repr_int` when given integers with " +"more than :func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`135335`: :mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after " +"preloading modules in the ``forkserver``." +msgstr "" + +msgid "" +":gh:`135069`: Fix the \"Invalid error handling\" exception in :class:`!" +"encodings.idna.IncrementalDecoder` to correctly replace the 'errors' " +"parameter." +msgstr "" + +msgid "" +":gh:`130662`: +Accept leading zeros in precision and width fields for +:" +"class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25), " +"'.016f')``." +msgstr "" + +msgid "" +":gh:`130662`: Accept leading zeros in precision and width fields for :class:" +"`~fractions.Fraction` formatting, for example ``format(Fraction(1, 3), " +"'.016f')``." +msgstr "" + +msgid "" +":gh:`87790`: Support underscore and comma as thousands separators in the " +"fractional part for :class:`~fractions.Fraction`'s formatting. Patch by " +"Sergey B Kirpichev." +msgstr "" + +msgid "" +":gh:`87790`: Support underscore and comma as thousands separators in the " +"fractional part for :class:`~decimal.Decimal`'s formatting. Patch by Sergey " +"B Kirpichev." +msgstr "" + +msgid "" +":gh:`130664`: Handle corner-case for :class:`~fractions.Fraction`'s " +"formatting: treat zero-padding (preceding the width field by a zero " +"(``'0'``) character) as an equivalent to a fill character of ``'0'`` with an " +"alignment type of ``'='``, just as in case of :class:`float`'s." +msgstr "" + +msgid "" +":gh:`136155`: EPUB builds are fixed by excluding non-XHTML-compatible tags." +msgstr "" + +msgid ":gh:`109700`: Fix memory error handling in :c:func:`PyDict_SetDefault`." +msgstr "" + +msgid "" +":gh:`78465`: Fix error message for ``cls.__new__(cls, ...)`` where ``cls`` " +"is not instantiable builtin or extension type (with ``tp_new`` set to " +"``NULL``)." +msgstr "" + +msgid "" +":gh:`129958`: Differentiate between t-strings and f-strings in syntax error " +"for newlines in format specifiers of single-quoted interpolated strings." +msgstr "" + +msgid "" +":gh:`135871`: Non-blocking mutex lock attempts now return immediately when " +"the lock is busy instead of briefly spinning in the :term:`free threading` " +"build." +msgstr "" + +msgid "" +":gh:`135106`: Restrict the trashcan mechanism to GC'ed objects and untrack " +"them while in the trashcan to prevent the GC and trashcan mechanisms " +"conflicting." +msgstr "" + +msgid "" +":gh:`135607`: Fix potential :mod:`weakref` races in an object's destructor " +"on the :term:`free threaded ` build." +msgstr "" + +msgid ":gh:`135608`: Fix a crash in the JIT involving attributes of modules." +msgstr "" + +msgid "" +":gh:`135543`: Emit ``sys.remote_exec`` audit event when :func:`sys." +"remote_exec` is called and migrate ``remote_debugger_script`` to ``cpython." +"remote_debugger_script``." +msgstr "" + +msgid "" +":gh:`134280`: Disable constant folding for ``~`` with a boolean argument. " +"This moves the deprecation warning from compile time to runtime." +msgstr "" + +msgid "" +":gh:`135906`: Fix compilation errors when compiling the internal headers " +"with a C++ compiler." +msgstr "" + +msgid "" +":gh:`134273`: Add support for configuring compiler flags for the JIT with " +"``CFLAGS_JIT``" +msgstr "" + +msgid "Python 3.14.0 beta 3" +msgstr "" + +msgid "*Release date: 2025-06-17*" +msgstr "*Data wydania: 2025-06-17*" + +msgid "" +":gh:`135099`: Fix a crash that could occur on Windows when a background " +"thread waits on a :c:type:`PyMutex` while the main thread is shutting down " +"the interpreter." +msgstr "" + +msgid "" +":gh:`132815`: Fix test__opcode: add ``JUMP_BACKWARD`` to specialization " +"stats." +msgstr "" + +msgid "" +":gh:`135489`: Show verbose output for failing tests during PGO profiling " +"step with --enable-optimizations." +msgstr "" + +msgid ":gh:`135120`: Add :func:`!test.support.subTests`." +msgstr "" + +msgid "" +":gh:`135462`: Fix quadratic complexity in processing specially crafted input " +"in :class:`html.parser.HTMLParser`. End-of-file errors are now handled " +"according to the HTML5 specs -- comments and declarations are automatically " +"closed, tags are ignored." +msgstr "" + +msgid "" +":gh:`135034`: Fixes multiple issues that allowed ``tarfile`` extraction " +"filters (``filter=\"data\"`` and ``filter=\"tar\"``) to be bypassed using " +"crafted symlinks and hard links." +msgstr "" + +msgid "" +"Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and :cve:" +"`2025-4517`." +msgstr "" + +msgid "" +":gh:`65697`: :class:`configparser`'s error message when attempting to write " +"an invalid key is now more helpful." +msgstr "" + +msgid "" +":gh:`135497`: Fix :func:`os.getlogin` failing for longer usernames on BSD-" +"based platforms." +msgstr "" + +msgid "" +":gh:`135429`: Fix the argument mismatch in ``_lsprof`` for ``PY_THROW`` " +"event." +msgstr "" + +msgid "" +":gh:`135368`: Fix :class:`unittest.mock.Mock` generation on :func:" +"`dataclasses.dataclass` objects. Now all special attributes are set as it " +"was before :gh:`124429`." +msgstr "" + +msgid "" +":gh:`133967`: Do not normalize :mod:`locale` name 'C.UTF-8' to 'en_US.UTF-8'." +msgstr "" + +msgid "" +":gh:`135321`: Raise a correct exception for values greater than 0x7fffffff " +"for the ``BINSTRING`` opcode in the C implementation of :mod:`pickle`." +msgstr "" + +msgid "" +":gh:`135276`: Backported bugfixes in zipfile.Path from zipp 3.23. Fixed ``." +"name``, ``.stem`` and other basename-based properties on Windows when " +"working with a zipfile on disk." +msgstr "" + +msgid "" +":gh:`135244`: :mod:`uuid`: when the MAC address cannot be determined, the 48-" +"bit node ID is now generated with a cryptographically-secure pseudo-random " +"number generator (CSPRNG) as per :rfc:`RFC 9562, §6.10.3 " +"<9562#section-6.10-3>`. This affects :func:`~uuid.uuid1` and :func:`~uuid." +"uuid6`." +msgstr "" + +msgid "" +":gh:`134970`: Fix the \"unknown action\" exception in :meth:`argparse." +"ArgumentParser.add_argument_group` to correctly replace the action class." +msgstr "" + +msgid "" +":gh:`134718`: :func:`ast.dump` now only omits ``None`` and ``[]`` values if " +"they are default values." +msgstr "" + +msgid "" +":gh:`134939`: Add the :mod:`concurrent.interpreters` module. See :pep:`734`." +msgstr "" + +msgid "" +":gh:`134885`: Fix possible crash in the :mod:`compression.zstd` module " +"related to setting parameter types. Patch by Jelle Zijlstra." +msgstr "" + +msgid "" +":gh:`134857`: Improve error report for :mod:`doctest`\\ s run with :mod:" +"`unittest`. Remove :mod:`!doctest` module frames from tracebacks and " +"redundant newline character from a failure message." +msgstr "" + +msgid "" +":gh:`128840`: Fix parsing long IPv6 addresses with embedded IPv4 address." +msgstr "" + +msgid "" +":gh:`134637`: Fix performance regression in calling a :mod:`ctypes` function " +"pointer in :term:`free threading`." +msgstr "" + +msgid "" +":gh:`134696`: Built-in HACL* and OpenSSL implementations of hash function " +"constructors now correctly accept the same *documented* named arguments. For " +"instance, :func:`~hashlib.md5` could be previously invoked as " +"``md5(data=data)`` or ``md5(string=string)`` depending on the underlying " +"implementation but these calls were not compatible. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`134151`: :mod:`email`: Fix :exc:`TypeError` in :func:`email.utils." +"decode_params` when sorting :rfc:`2231` continuations that contain an " +"unnumbered section." +msgstr "" + +msgid "" +":gh:`134210`: :func:`curses.window.getch` now correctly handles signals. " +"Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`134152`: :mod:`email`: Fix parsing of email message ID with invalid " +"domain." +msgstr "" + +msgid "" +":gh:`133489`: :func:`random.getrandbits` can now generate more that 2\\ :sup:" +"`31` bits. :func:`random.randbytes` can now generate more that 256 MiB." +msgstr "" + +msgid "" +":gh:`132813`: Improve error messages for incorrect types and values of :" +"class:`csv.Dialect` attributes." +msgstr "" + +msgid "" +":gh:`132969`: Prevent the :class:`~concurrent.futures.ProcessPoolExecutor` " +"executor thread, which remains running when :meth:`shutdown(wait=False) " +"`, from attempting to adjust the " +"pool's worker processes after the object state has already been reset during " +"shutdown. A combination of conditions, including a worker process having " +"terminated abormally, resulted in an exception and a potential hang when the " +"still-running executor thread attempted to replace dead workers within the " +"pool." +msgstr "" + +msgid "" +":gh:`127081`: Fix libc thread safety issues with :mod:`os` by replacing " +"``getlogin`` with ``getlogin_r`` re-entrant version." +msgstr "" + +msgid "" +":gh:`131884`: Fix formatting issues in :func:`json.dump` when both *indent* " +"and *skipkeys* are used." +msgstr "" + +msgid "" +":gh:`130999`: Avoid exiting the new REPL and offer suggestions even if there " +"are non-string candidates when errors occur." +msgstr "" + +msgid "" +":gh:`135171`: Document that the :term:`iterator` for the leftmost :keyword:`!" +"for` clause in the generator expression is created immediately." +msgstr "" + +msgid "" +":issue:`45210`: Document that error indicator may be set in tp_dealloc, and " +"how to avoid clobbering it." +msgstr "" + +msgid "" +":gh:`135496`: Fix typo in the f-string conversion type error " +"(\"exclamanation\" -> \"exclamation\")." +msgstr "" + +msgid "" +":gh:`135371`: Fixed :mod:`asyncio` debugging tools to properly display " +"internal coroutine call stacks alongside external task dependencies. The " +"``python -m asyncio ps`` and ``python -m asyncio pstree`` commands now show " +"complete execution context. Patch by Pablo Galindo." +msgstr "" + +msgid "" +":gh:`127319`: Set the ``allow_reuse_port`` class variable to ``False`` on " +"the XMLRPC, logging, and HTTP servers. This matches the behavior in prior " +"Python releases, which is to not allow port reuse." +msgstr "" + +msgid "" +":gh:`135171`: Reverts the behavior of async generator expressions when " +"created with object w/o __aiter__ method to the pre-3.13 behavior of raising " +"a TypeError." +msgstr "" + +msgid "" +":gh:`130077`: Properly raise custom syntax errors when incorrect syntax " +"containing names that are prefixes of soft keywords is encountered. Patch " +"by Pablo Galindo." +msgstr "" + +msgid "" +":gh:`135171`: Reverts the behavior of generator expressions when created " +"with a non-iterable to the pre-3.13 behavior of raising a TypeError. It is " +"no longer possible to cause a crash in the debugger by altering the " +"generator expression's local variables. This is achieved by moving the " +"``GET_ITER`` instruction back to the creation of the generator expression " +"and adding an additional check to ``FOR_ITER``." +msgstr "" + +msgid "" +":gh:`116738`: Make methods in :mod:`heapq` thread-safe on the :term:`free " +"threaded ` build." +msgstr "" + +msgid "" +":gh:`134876`: Add support to :pep:`768` remote debugging for Linux kernels " +"which don't have CONFIG_CROSS_MEMORY_ATTACH configured." +msgstr "" + +msgid "" +":gh:`134889`: Fix handling of a few opcodes that leave operands on the stack " +"when optimizing ``LOAD_FAST``." +msgstr "" + +msgid "" +":gh:`134908`: Fix crash when iterating over lines in a text file on the :" +"term:`free threaded ` build." +msgstr "" + +msgid "" +":gh:`132617`: Fix :meth:`dict.update` modification check that could " +"incorrectly raise a \"dict mutated during update\" error when a different " +"dictionary was modified that happens to share the same underlying keys " +"object." +msgstr "" + +msgid "" +":gh:`134679`: Fix crash in the :term:`free threading` build's QSBR code that " +"could occur when changing an object's ``__dict__`` attribute." +msgstr "" + +msgid "" +":gh:`127682`: No longer call ``__iter__`` twice in list comprehensions. This " +"brings the behavior of list comprehensions in line with other forms of " +"iteration" +msgstr "" + +msgid "" +":gh:`133912`: Fix the C API function ``PyObject_GenericSetDict`` to handle " +"extension classes with inline values." +msgstr "" + +msgid "" +":gh:`134989`: Fix ``Py_RETURN_NONE``, ``Py_RETURN_TRUE`` and " +"``Py_RETURN_FALSE`` macros in the limited C API 3.11 and older: don't treat " +"``Py_None``, ``Py_True`` and ``Py_False`` as immortal. Patch by Victor " +"Stinner." +msgstr "" + +msgid "" +":gh:`134989`: Implement :c:func:`PyObject_DelAttr` and :c:func:" +"`PyObject_DelAttrString` as macros in the limited C API 3.12 and older. " +"Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`133968`: Add :c:func:`PyUnicodeWriter_WriteASCII` function to write an " +"ASCII string into a :c:type:`PyUnicodeWriter`. The function is faster than :" +"c:func:`PyUnicodeWriter_WriteUTF8`, but has an undefined behavior if the " +"input string contains non-ASCII characters. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`119132`: Remove \"experimental\" tag from the CPython free-threading " +"build." +msgstr "" + +msgid "" +":gh:`135497`: Fix the detection of ``MAXLOGNAME`` in the ``configure.ac`` " +"script." +msgstr "" + +msgid "" +":gh:`134923`: Windows builds with profile-guided optimization enabled now " +"use ``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:`` " +"options." +msgstr "" + +msgid "" +":gh:`134774`: Fix :c:macro:`Py_DEBUG` macro redefinition warnings on Windows " +"debug builds. Patch by Chris Eibl." +msgstr "" + +msgid "" +":gh:`134632`: Fixed ``build-details.json`` generation to use ``INCLUDEPY``, " +"in order to reference the ``pythonX.Y`` subdirectory of the include " +"directory, as required in :pep:`739`, instead of the top-level include " +"directory." +msgstr "" + +msgid "Python 3.14.0 beta 2" +msgstr "" + +msgid "*Release date: 2025-05-26*" +msgstr "*Data wydania: 2025-05-26*" + +msgid "" +":gh:`130727`: Fix a race in internal calls into WMI that can result in an " +"\"invalid handle\" exception under high load. Patch by Chris Eibl." +msgstr "" + +msgid "" +":gh:`76023`: Make :func:`os.path.realpath` ignore Windows error 1005 when in " +"non-strict mode." +msgstr "" + +msgid "" +":gh:`133779`: Reverts the change to generate different :file:`pyconfig.h` " +"files based on compiler settings, as it was frequently causing extension " +"builds to break. In particular, the ``Py_GIL_DISABLED`` preprocessor " +"variable must now always be defined explicitly when compiling for the " +"experimental free-threaded runtime. The :func:`sysconfig.get_config_var` " +"function can be used to determine whether the current runtime was compiled " +"with that flag or not." +msgstr "" + +msgid "" +":gh:`133626`: Ensures packages are not accidentally bundled into the " +"traditional installer." +msgstr "" + +msgid "" +":gh:`134215`: :term:`REPL` import autocomplete only suggests private modules " +"when explicitly specified." +msgstr "" + +msgid "" +":gh:`133744`: Fix multiprocessing interrupt test. Add an event to " +"synchronize the parent process with the child process: wait until the child " +"process starts sleeping. Patch by Victor Stinner." +msgstr "" + +msgid "" +":gh:`133682`: Fixed test case ``test.test_annotationlib.TestStringFormat." +"test_displays`` which ensures proper handling of complex data structures " +"(lists, sets, dictionaries, and tuples) in string annotations." +msgstr "" + +msgid "" +":gh:`133639`: Fix ``TestPyReplAutoindent.test_auto_indent_default()`` " +"doesn't run ``input_code``." +msgstr "" + +msgid "" +":gh:`133767`: Fix use-after-free in the \"unicode-escape\" decoder with a " +"non-\"strict\" error handler." +msgstr "" + +msgid "" +":gh:`128840`: Short-circuit the processing of long IPv6 addresses early in :" +"mod:`ipaddress` to prevent excessive memory consumption and a minor denial-" +"of-service." +msgstr "" + +msgid "" +":gh:`132710`: If possible, ensure that :func:`uuid.getnode` returns the same " +"result even across different processes. Previously, the result was constant " +"only within the same process. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`80334`: :func:`multiprocessing.freeze_support` now checks for work on " +"any \"spawn\" start method platform rather than only on Windows." +msgstr "" + +msgid "" +":gh:`134582`: Fix tokenize.untokenize() round-trip errors related to t-" +"strings braces escaping" +msgstr "" + +msgid "" +":gh:`134546`: Ensure :mod:`pdb` remote debugging script is readable by " +"remote Python process." +msgstr "" + +msgid "" +":gh:`134451`: Converted ``asyncio.tools.CycleFoundException`` from dataclass " +"to a regular exception type." +msgstr "" + +msgid "" +":gh:`114177`: Fix :mod:`asyncio` to not close subprocess pipes which would " +"otherwise error out when the event loop is already closed." +msgstr "" + +msgid "" +":gh:`90871`: Fixed an off by one error concerning the backlog parameter in :" +"meth:`~asyncio.loop.create_unix_server`. Contributed by Christian Harries." +msgstr "" + +msgid ":gh:`134323`: Fix the :meth:`threading.RLock.locked` method." +msgstr "" + +msgid "" +":gh:`86802`: Fixed asyncio memory leak in cancelled shield tasks. For " +"shielded tasks where the shield was cancelled, log potential exceptions " +"through the exception handler. Contributed by Christian Harries." +msgstr "" + +msgid "" +":gh:`134209`: :mod:`curses`: The :meth:`curses.window.instr` and :meth:" +"`curses.window.getstr` methods now allocate their internal buffer on the " +"heap instead of the stack; in addition, the max buffer size is increased " +"from 1023 to 2047." +msgstr "" + +msgid "" +":gh:`134235`: Updated tab completion on REPL to include builtin modules. " +"Contributed by Tom Wang, Hunter Young" +msgstr "" + +msgid "" +":gh:`134152`: Fixed :exc:`UnboundLocalError` that could occur during :mod:" +"`email` header parsing if an expected trailing delimiter is missing in some " +"contexts." +msgstr "" + +msgid "" +":gh:`134168`: :mod:`http.server`: Fix IPv6 address binding and :option:`--" +"directory ` handling when using HTTPS." +msgstr "" + +msgid "" +":gh:`62184`: Remove import of C implementation of :class:`io.FileIO` from " +"Python implementation which has its own implementation" +msgstr "" + +msgid "" +":gh:`133982`: Emit :exc:`RuntimeWarning` in the Python implementation of :" +"mod:`io` when the :term:`file-like object ` is not closed " +"explicitly in the presence of multiple I/O layers." +msgstr "" + +msgid "" +":gh:`133890`: The :mod:`tarfile` module now handles :exc:" +"`UnicodeEncodeError` in the same way as :exc:`OSError` when cannot extract a " +"member." +msgstr "" + +msgid "" +":gh:`134097`: Fix interaction of the new :term:`REPL` and :option:`-X " +"showrefcount <-X>` command line option." +msgstr "" + +msgid "" +":gh:`133889`: The generated directory listing page in :class:`http.server." +"SimpleHTTPRequestHandler` now only shows the decoded path component of the " +"requested URL, and not the query and fragment." +msgstr "" + +msgid "" +":gh:`134098`: Fix handling paths that end with a percent-encoded slash " +"(``%2f`` or ``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`." +msgstr "" + +msgid "" +":gh:`132124`: On POSIX-compliant systems, :func:`!multiprocessing.util." +"get_temp_dir` now ignores :envvar:`TMPDIR` (and similar environment " +"variables) if the path length of ``AF_UNIX`` socket files exceeds the " +"platform-specific maximum length when using the :ref:`forkserver " +"` start method. Patch by Bénédikt " +"Tran." +msgstr "" + +msgid "" +":gh:`134062`: :mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` " +"for :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " +"objects." +msgstr "" + +msgid "" +":gh:`133970`: Make :class:`!string.templatelib.Template` and :class:`!string." +"templatelib.Interpolation` generic." +msgstr "" + +msgid "" +":gh:`71253`: Raise :exc:`ValueError` in :func:`open` if *opener* returns a " +"negative file-descriptor in the Python implementation of :mod:`io` to match " +"the C implementation." +msgstr "" + +msgid "" +":gh:`133960`: Simplify and improve :func:`typing.evaluate_forward_ref`. It " +"now no longer raises errors on certain invalid types. In several situations, " +"it is now able to evaluate forward references that were previously " +"unsupported." +msgstr "" + +msgid "" +":gh:`133925`: Make the private class ``typing._UnionGenericAlias`` hashable." +msgstr "" + +msgid "" +":gh:`133653`: Fix :class:`argparse.ArgumentParser` with the " +"*formatter_class* argument. Fix TypeError when *formatter_class* is a custom " +"subclass of :class:`!HelpFormatter`. Fix TypeError when *formatter_class* is " +"not a subclass of :class:`!HelpFormatter` and non-standard *prefix_char* is " +"used. Fix support of colorizing when *formatter_class* is not a subclass of :" +"class:`!HelpFormatter`." +msgstr "" + +msgid "" +":gh:`132641`: Fixed a race in :func:`functools.lru_cache` under free-" +"threading." +msgstr "" + +msgid "" +":gh:`133783`: Fix bug with applying :func:`copy.replace` to :mod:`ast` " +"objects. Attributes that default to ``None`` were incorrectly treated as " +"required for manually created AST nodes." +msgstr "" + +msgid "" +":gh:`133684`: Fix bug where :func:`annotationlib.get_annotations` would " +"return the wrong result for certain classes that are part of a class " +"hierarchy where ``from __future__ import annotations`` is used." +msgstr "" + +msgid "" +":gh:`77057`: Fix handling of invalid markup declarations in :class:`html." +"parser.HTMLParser`." +msgstr "" + +msgid "" +":gh:`130328`: Speedup pasting in ``PyREPL`` on Windows in a legacy console. " +"Patch by Chris Eibl." +msgstr "" + +msgid "" +":gh:`133701`: Fix bug where :class:`typing.TypedDict` classes defined under " +"``from __future__ import annotations`` and inheriting from another " +"``TypedDict`` had an incorrect ``__annotations__`` attribute." +msgstr "" + +msgid "" +":gh:`133581`: Improve unparsing of t-strings in :func:`ast.unparse` and " +"``from __future__ import annotations``. Empty t-strings now round-trip " +"correctly and formatting in interpolations is preserved. Patch by Jelle " +"Zijlstra." +msgstr "" + +msgid "" +":gh:`133551`: Support t-strings (:pep:`750`) in :mod:`annotationlib`. Patch " +"by Jelle Zijlstra." +msgstr "" + +msgid "" +":gh:`133439`: Fix dot commands with trailing spaces are mistaken for multi-" +"line SQL statements in the sqlite3 command-line interface." +msgstr "" + +msgid "" +":gh:`132493`: Avoid accessing ``__annotations__`` unnecessarily in :func:" +"`inspect.signature`." +msgstr "" + +msgid "" +":gh:`132876`: ``ldexp()`` on Windows doesn't round subnormal results before " +"Windows 11, but should. Python's :func:`math.ldexp` wrapper now does round " +"them, so results may change slightly, in rare cases of very small results, " +"on Windows versions before 11." +msgstr "" + +msgid "" +":gh:`133009`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." +"__deepcopy__ ` when the element is concurrently " +"mutated. Patch by Bénédikt Tran." +msgstr "" + +msgid "" +":gh:`91555`: Ignore log messages generated during handling of log messages, " +"to avoid deadlock or infinite recursion. [NOTE: This change has since been " +"reverted.]" +msgstr "" + +msgid "" +":gh:`125028`: :data:`functools.Placeholder` cannot be passed to :func:" +"`functools.partial` as a keyword argument." +msgstr "" + +msgid "" +":gh:`62824`: Fix aliases for ``iso8859_8`` encoding. Patch by Dave Goncalves." +msgstr "" + +msgid "" +":gh:`86155`: :meth:`html.parser.HTMLParser.close` no longer loses data when " +"the ``